IronWorm 악성코드의 작동 방식과 탈취 대상 자격증명 분석

IronWorm 악성코드는 개발자 환경의 npm 토큰을 탈취해 다운로드 수가 많은 패키지에 악성 스크립트를 심고 재배포하는 자가전파 방식으로 퍼져나갑니다. 주로 클라우드 서비스 키, CI/CD 토큰, GitHub 및 npm 인증 정보, 브라우저 세션, 그리고 최신 AI 개발도구의 API 키 등 다양한 자격증명을 노립니다.

IronWorm 개요와 분류

IronWorm은 Rust 기반의 정보탈취(Infostealer) 악성코드입니다. 보안 분석 기관 JFrog가 해당 페이로드를 IronWorm으로 식별했으며, 이는 Shai-Hulud 계열로 분류됩니다. 이 악성코드는 Rust로 작성돼 개발자와 빌드 환경의 자격증명을 집중적으로 겨냥하도록 설계되었습니다.

훔치는 정보의 구체적 범위

IronWorm은 현대 개발 스택에서 쓰이는 다양한 인증 정보를 수집 대상으로 삼습니다. 클라우드 인프라 접근 권한과 자동화 파이프라인 토큰 등을 포함해 폭넓은 자격증명을 탈취합니다.

1. 인프라 및 플랫폼 자격증명

클라우드 서비스 제공자의 접근 키와 메타데이터 접근 정보를 가져옵니다.

  • 클라우드 서비스: AWS, GCP, Azure 관련 키 및 메타데이터 접근 정보
  • 버전 관리 및 패키지 관리: GitHub 및 npm 인증 정보
  • 자동화 도구: CI/CD 파이프라인 토큰

2. 로컬 환경 및 개인 자격증명

개발자 로컬 머신에 저장된 세션 정보와 자산 관리 도구를 공격합니다.

  • 브라우저 및 보안 도구: 브라우저 세션 및 비밀번호 관리자 데이터
  • 금융 자산: 암호화폐 지갑 정보

3. AI 개발 도구 및 최신 API 키

최근 개발 프로세스에 도입된 AI 기반 도구들의 설정 파일과 API 키를 타깃으로 삼는다는 점이 특징입니다.

  • AI 도구: Claude Desktop, Cursor, Windsurf 설정 및 API 키
  • 기타 자격증명: MCP(Model Context Protocol) 관련 자격증명
탈취 대상 분류 상세 수집 항목
클라우드/플랫폼 AWS, GCP, Azure 키, GitHub/npm 인증 정보, CI/CD 토큰
로컬/개인 데이터 브라우저 세션, 비밀번호 관리자, 암호화폐 지갑
AI 개발 생태계 Claude Desktop, Cursor, Windsurf API 키, MCP 자격증명

자가전파 구조와 npm 토큰 악용

IronWorm은 정보 탈취에 그치지 않습니다. 탈취한 권한을 이용해 스스로 확산되는 자가전파(Self-propagating) 구조를 갖췄죠.

구체적인 작동 과정은 다음과 같습니다:

  1. 토큰 탐색: 감염된 환경의 환경 변수나 .npmrc 파일 등을 뒤져 npm 토큰을 찾아냅니다.
  2. 유효성 검증: 탈취한 npm 토큰이 실제로 유효한지 확인합니다.
  3. 타겟 패키지 선정: npm 레지스트리에서 다운로드 수가 많은 인기 패키지를 찾습니다.
  4. 악성 코드 주입 및 재배포: 선정된 패키지에 악성 스크립트를 심어 재배포하며 감염을 확산시킵니다.

데이터 유출 경로: Tor와 파일 공유 서비스

수집된 자격증명과 민감 데이터는 추적이 어려운 경로로 공격자의 서버에 전송됩니다.

첫째, Tor(The Onion Router) 기반 통신을 사용합니다. 익명 네트워크인 Tor를 이용해 통신함으로써 C2(Command and Control) 서버의 실제 위치와 공격자 신원을 숨깁니다.

둘째, 파일 공유 서비스를 활용한 전송 방식도 보입니다. 일반적인 파일 공유 서비스의 전송 기능을 이용해 데이터를 빼냅니다.

댓글 남기기