공급망 보안 기업 JFrog가 2026년 6월 4일, npm 레지스트리의 36개 패키지에서 Rust로 작성된 정보 탈취 악성코드 'IronWorm'을 발견했다고 발표했다. eBPF 커널 루트킷으로 탐지를 회피하고, 탈취한 npm 자격증명으로 다른 패키지를 감염시켜 자가 전파하는 이 공격은 최근 발생한 npm 공급망 공격 중 가장 정교한 사례로 꼽힌다.

IronWorm이란 무엇인가

IronWorm은 세 가지 핵심 기술을 조합한 고도화된 공급망 악성코드다.

Rust 기반 바이너리: 일반적인 JavaScript 악성코드와 달리 Rust로 컴파일된 ELF 바이너리 형태로 배포된다. 이는 탐지를 어렵게 하고 실행 성능을 높인다.

eBPF 커널 루트킷: eBPF(Extended Berkeley Packet Filter)는 리눅스 커널에서 코드를 실행하는 기술로, 일반적인 악성코드 탐지 도구의 시야를 벗어나 동작할 수 있다. IronWorm은 이를 활용해 자신의 존재를 시스템 레벨에서 은폐한다.

Tor 네트워크 통신: 탈취한 데이터를 Tor 네트워크를 통해 운영자에게 전송함으로써 C2(명령 및 제어) 서버 추적을 방해한다.

공격 경로: 어떻게 침투하는가

공격은 'asteroiddao'라는 이름의 침해된 npm 계정에서 시작됐다. 이 계정은 preinstall 스크립트를 통해 실행되는 Rust ELF 바이너리가 포함된 악성 패키지 버전을 게시했다.

패키지를 설치하는 개발자나 CI 환경에서 npm install을 실행하는 순간 악성코드가 실행된다. IronWorm은 시스템에서 86개의 환경 변수20개의 자격증명 파일을 수집하며, 구체적 대상은 다음과 같다.

  • OpenAI, AWS, Anthropic API 키
  • npm 자격증명 및 Trusted Publishing 시크릿
  • Vault 설정 파일
  • SSH 키
  • Exodus 암호화폐 지갑 파일
지표 수치
감염된 npm 패키지 수 36개
수집 대상 환경 변수 86개
수집 대상 자격증명 파일 20개
악성코드 작성 언어 Rust
C2 통신 방식 Tor 네트워크
최초 침해 계정 asteroiddao

자가 전파 메커니즘

IronWorm의 가장 위험한 특성은 자가 전파 능력이다. 탈취한 npm 자격증명을 사용해 피해자가 소유한 다른 패키지의 악성 버전을 npm에 게시한다. Trusted Publishing 워크플로우(CI/CD에서 npm에 직접 게시하는 방식)의 시크릿까지 탈취하므로, 피해자의 저장소에 악성 커밋을 직접 푸시하는 것도 가능하다.

이 연쇄 감염 구조가 IronWorm을 일반 정보 탈취 악성코드와 구분 짓는 핵심 요소다. 한 개발자 또는 CI 환경이 감염되면, 그 개발자가 유지보수하는 패키지를 사용하는 다운스트림 사용자까지 위험에 처하게 된다.

**즉시 조치사항**: JFrog 보고서에 명시된 영향받은 패키지를 사용 중이라면 즉시 최신 버전으로 업그레이드해야 한다. 아울러 npm, AWS, OpenAI, Anthropic 등의 API 키를 즉시 교체하고, 모든 계정에 2FA를 활성화할 것을 권고한다.

GitHub Actions를 통한 데이터 유출

JFrog가 발견한 또 다른 정교한 요소는 데이터 유출 방식이다. 악성코드는 수집한 시크릿을 직렬화한 뒤 린트(lint) 또는 포매팅(formatting) 출력처럼 보이는 무해한 이름의 파일에 기록한다. 이 파일은 GitHub Actions 워크플로우를 통해 운영자에게 전달된다.

이 기법은 두 가지 측면에서 탐지를 어렵게 한다. 첫째, 비정상적인 아웃바운드 네트워크 연결 없이 GitHub의 정상적인 인프라를 악용한다. 둘째, 파일 이름이 일반적인 개발 산출물과 유사해 코드 리뷰나 로그 모니터링에서 놓치기 쉽다.

동시다발 공격: binding.gyp

같은 시기에 Endor Labs와 StepSecurity는 IronWorm과 유사하지만 별개인 공격을 발견했다. binding.gyp라는 이름의 JavaScript 기반 악성코드로, 레지스트리 오염과 GitHub Actions 감염을 수행한다.

두 공격이 같은 시기에 발생한 것은 우연이 아닐 가능성이 있다. npm 생태계를 대상으로 한 공급망 공격의 조직적 캠페인 가능성을 시사한다.

**조기 탐지**: 애플리케이션 보안 기업 Ox Security는 IronWorm 공격이 조기에 탐지되어 더 인기 있는 패키지로의 확산이 차단됐다고 밝혔다. 그러나 공급망 보안 전문가들은 유사한 공격이 향후에도 지속될 것으로 경고한다.

방어 전략

개발자와 보안팀이 취해야 할 조치는 다음과 같다.

조치 우선순위 대상
영향받은 패키지 즉시 업그레이드 즉시 전체 개발자
API 키·SSH 키 교체 즉시 전체 개발자
모든 npm·GitHub 계정 2FA 활성화 즉시 전체 개발자
CI 환경의 npm 설치 시크릿 감사 24시간 이내 DevOps팀
eBPF 기반 런타임 탐지 도구 도입 단기 보안팀
Trusted Publishing 시크릿 정기 로테이션 정책 수립 단기 DevOps팀

핵심 요약

  • IronWorm: Rust 기반, eBPF 루트킷 사용, Tor 통신하는 npm 공급망 악성코드
  • 36개 패키지 감염: 86개 환경 변수와 20개 자격증명 파일 수집
  • 자가 전파: 탈취한 npm 자격증명으로 피해자의 다른 패키지를 감염시킴
  • GitHub Actions 악용: 무해한 파일명으로 시크릿 유출, 탐지 회피
  • 즉시 조치: 영향받은 패키지 업그레이드, API 키 교체, 2FA 활성화