보안 기업 소켓(Socket) 연구진은 이번 공격 캠페인을 발견하고 이를 ‘SANDWORM_MODE’로 명명했다. 이 이름은 악성코드 런타임 제어 로직에 삽입된 ‘SANDWORM_*’ 환경 변수 스위치에서 유래했다.
공격자는 최소 19개의 타이포스쿼팅 패키지를 여러 가명 계정으로 게시했다. 이 패키지들은 인기 개발자 유틸리티와 AI 관련 도구로 위장했다. 사용자가 패키지를 설치하면 다단계 페이로드가 실행된다. 이 과정에서 로컬 환경과 CI 시스템에 저장된 비밀 정보를 수집하고, 탈취한 토큰을 이용해 다른 저장소를 수정한다.
또한 해당 페이로드에는 ‘샤이 훌루드’ 방식의 ‘데드 스위치(dead switch)’가 구현돼 있다. 기본적으로는 비활성화 상태를 유지하지만, 악성코드가 탐지될 경우 홈 디렉터리를 삭제하도록 설계됐다. 연구진은 이번 캠페인을 “실질적이며 고위험” 위협으로 평가하며, 해당 패키지를 실제 침해로 이어질 수 있는 위험 요소로 간주해야 한다고 밝혔다.
오타에서 시작된 침해
이번 캠페인은 타이포스쿼팅으로 시작된다. 공격자는 정상 패키지와 거의 동일한 이름의 패키지를 등록해, 개발자의 오타나 AI가 잘못된 의존성을 생성하는 상황을 노린다.
소켓 연구진은 블로그를 통해 “이번 타이포스쿼팅은 Node.js 생태계의 고트래픽 개발자 유틸리티와 암호화 도구, 그리고 빠르게 확산 중인 AI 코딩 도구를 주요 표적으로 삼고 있다”라며 “3개 패키지는 클로드 코드(Claude Code)를 사칭했고, 1개는 최근 깃허브에서 21만 개 이상의 스타를 기록한 AI 에이전트 오픈클로(OpenClaw)를 겨냥했다”라고 전했다.
악성 패키지가 설치돼 실행되면, 악성코드는 npm과 깃허브 토큰, 환경 변수에 저장된 비밀값, 클라우드 키 등 민감한 자격 증명을 탐색한다. 이후 해당 자격 증명을 활용해 다른 저장소에 악성 변경을 푸시하고, 새로운 의존성이나 워크플로를 삽입하면서 감염 범위를 확장한다.
연구진은 또 이번 캠페인이 무기화된 깃허브 액션(GitHub Action)을 활용하고 있다고 설명했다. 이 기능은 CI 파이프라인 내부에서 빌드 과정 중 비밀 정보를 추출하고, 추가 확산을 가능하게 해 공격 효과를 증폭시킬 수 있다.
AI 개발 인터페이스 오염
이번 캠페인은 특히 AI 코딩 어시스턴트를 직접 겨냥했다는 점에서 주목된다. 악성코드는 악의적인 모델 컨텍스트 프로토콜(MCP) 서버를 배포한 뒤, 이를 주요 AI 도구 설정에 주입한다. 그 결과 해당 서버는 AI 어시스턴트 환경 내에서 신뢰된 구성 요소처럼 동작하게 된다.
이 단계에 이르면 프롬프트 인젝션 기법을 통해 AI가 로컬의 민감한 데이터를 가져오도록 유도할 수 있다. 여기에는 SSH 키나 클라우드 자격 증명 등이 포함될 수 있다. 이렇게 수집된 정보는 사용자 인지 없이 공격자에게 전달된다.
dl-ciokorea@foundryco.com
Read More from This Article: CI 파이프라인 파고든 npm 악성코드, AI 코딩 어시스턴트도 감염 위협
Source: News

