npm 생태계 공격받다: 블록체인 C2 활용한 자가 전파 웜 CanisterWorm 등장
Trivy 침해 24시간 만에 47개 패키지 감염, ICP 블록체인 활용한 새로운 공격 기법 확인

- •Trivy 침해 24시간 만에 TeamPCP가 블록체인 C2 기반 자가 전파 웜 CanisterWorm으로 47개 npm 패키지 감염
- •ICP 블록체인 캐니스터를 C2 데드 드롭으로 활용한 최초 사례로, 기존 서버 차단 방식 무력화
- •자동 전파 기능으로 npm 토큰 탈취 후 접근 가능한 모든 패키지에 악성 코드 재배포
Trivy 침해 이후 24시간, npm 생태계 전역으로 확산
오픈소스 보안 스캐너 Trivy가 침해된 지 24시간도 채 지나지 않아, 동일한 공격자 그룹이 npm 패키지 생태계 전반을 노린 자가 전파 웜(worm) 공격을 감행했습니다. Aikido Security 연구진이 2026년 3월 20일 발견한 이 악성코드는 최소 47개의 npm 패키지를 감염시켰으며, Internet Computer Protocol(ICP) 블록체인의 캐니스터(Canister)를 명령 제어(C2) 인프라로 활용한 최초의 사례로 기록됐습니다.
CanisterWorm으로 명명된 이 웜은 감염된 시스템에서 npm 토큰을 탈취한 뒤, 피해자가 접근 권한을 가진 모든 패키지에 악성 코드를 자동으로 재배포하는 방식으로 작동합니다. 기존의 서버 기반 C2를 차단하는 방어 기법으로는 블록체인 기반 페이로드 교체를 막을 수 없어, 보안 커뮤니티에 새로운 도전 과제를 안겼습니다.
TeamPCP, Trivy 침해에 이어 연쇄 공격
이번 CanisterWorm 공격은 3월 19일 발생한 Trivy 릴리스 파이프라인 침해 사건의 직접적인 후속 공격으로 평가됩니다. Wiz의 상세 보고서에 따르면, TeamPCP로 알려진 위협 행위자 그룹은 Aqua Security의 취약점 스캐너 Trivy의 공식 바이너리와 GitHub Actions에 자격증명 탈취 악성코드를 주입했습니다.
Trivy는 컨테이너 이미지, 파일 시스템, Git 저장소 등을 스캔하는 오픈소스 보안 도구로, 전 세계 개발자들이 CI/CD 파이프라인에서 널리 사용하고 있습니다. 이러한 신뢰받는 도구의 공급망 침해는 광범위한 2차 피해로 이어질 수 있어 우려를 낳고 있습니다.
공격 메커니즘: postinstall부터 자가 전파까지
Aikido Security가 공개한 기술 분석에 따르면, CanisterWorm은 다음과 같은 단계로 작동합니다:
1단계: 초기 침투
postinstall훅을 통해npm install시 자동 실행- Base64로 인코딩된 systemd 백도어 페이로드 설치
- Python 표준 라이브러리만 사용해 추가 설치 없이 작동
2단계: 자격증명 탈취
- 감염된 시스템에서 npm 토큰 수집
- Trivy 공격에서 사용된
sysmon.py와 유사한 백도어 활용 - 현재는 C2가 리크롤(Rickroll) 유튜브 영상을 반환하지만, 언제든 실제 악성 페이로드로 전환 가능
3단계: 자가 전파 (버전 1.8.11-1.8.12 업그레이드 이후)
- 초기 버전에서는 공격자가 수동으로
deploy.js를 실행해야 했음 @teale.io/eslint-config버전 1.8.11 및 1.8.12 (3월 20일 21:16-21:21 UTC)부터 완전 자동화- 탈취한 토큰으로 접근 가능한 모든 패키지에 악성 코드 자동 배포
- 난독화 시도 없이 "vibecoded" 스타일로 작성된 단순 구조
블록체인 C2: 새로운 방어 난제
이번 공격의 가장 주목할 만한 기술적 혁신은 ICP 블록체인의 변조 방지 스마트 계약인 캐니스터를 C2 데드 드롭(dead-drop)으로 사용한 점입니다. 연구자들은 이를 npm 공격 캠페인에서 관찰된 최초의 사례로 평가합니다.
기존의 C2 서버는 도메인 차단, IP 블랙리스트, DNS 싱크홀 등의 방법으로 무력화할 수 있었습니다. 그러나 블록체인 기반 C2는 분산 원장의 특성상 단일 지점 차단이 불가능하며, 공격자는 언제든 캐니스터에 저장된 페이로드를 업데이트할 수 있어 방어가 훨씬 어렵습니다.
감염된 패키지 목록 (일부)
현재까지 확인된 주요 감염 패키지:
@emilgroupwave(초기 발견)@teale.io/eslint-config(버전 1.8.11, 1.8.12 - 자가 전파 업그레이드)- 기타 45개 이상의 패키지 (전체 목록은 Aikido Security 보고서 참조)
개발자 보안 커뮤니티의 대응
이번 사건은 오픈소스 공급망 보안의 취약성을 다시 한 번 입증했습니다. npm 레지스트리는 수백만 개의 패키지를 호스팅하며, 단 하나의 침해된 패키지도 수천 개의 다운스트림 프로젝트에 영향을 미칠 수 있습니다.
전문가들은 다음과 같은 즉각적인 대응을 권고합니다:
- 최근 48시간 내 설치한 npm 패키지 검토
- npm 토큰 즉시 교체 및 권한 감사
postinstall훅 실행 전 패키지 무결성 검증- Trivy 사용자는 공식 바이너리 재다운로드 및 무결성 검증 필수
[AI 분석] 공급망 공격의 진화와 전망
CanisterWorm은 공급망 공격의 두 가지 중요한 진화를 보여줍니다.
첫째, 신뢰받는 보안 도구 자체가 공격 벡터가 되는 아이러니입니다. Trivy는 취약점을 찾기 위한 도구인데, 그 도구 자체가 침해됨으로써 수많은 조직의 CI/CD 파이프라인이 위험에 노출됐습니다. 이는 보안 도구의 공급망 검증이 얼마나 중요한지를 시사합니다.
둘째, 블록체인을 C2 인프라로 활용하는 기법의 등장은 방어자에게 새로운 난제를 제시합니다. 블록체인의 분산성과 불변성은 원래 보안 강화를 위한 특성이지만, 공격자는 이를 역으로 활용해 차단 불가능한 C2를 구축했습니다. 향후 유사한 기법이 다른 블록체인 플랫폼(Ethereum, Solana 등)에서도 시도될 가능성이 높습니다.
자가 전파 웜의 완전 자동화(버전 1.8.11 이후)는 공격자가 초기 침투 후 최소한의 개입으로 피해 규모를 극대화할 수 있음을 의미합니다. 이는 npm 생태계의 상호 의존성이 높을수록 웜의 확산 속도가 기하급수적으로 증가할 수 있음을 보여줍니다.
개발자 커뮤니티는 의존성 트리 분석, SBOM(Software Bill of Materials) 자동 생성, 샌드박스 환경에서의 패키지 사전 검증 등 다층 방어 체계를 강화해야 할 것입니다. 또한 npm과 같은 중앙 저장소는 postinstall 스크립트와 같은 고위험 기능에 대한 추가 검증 단계를 도입하는 것을 고려할 필요가 있습니다.
댓글 (2)
npm 관련 기사 잘 읽었습니다. 유익한 정보네요.
생태계에 대해 더 알고 싶어졌습니다. 후속 기사 부탁드립니다.
AI·테크 더보기
최신 뉴스

중동행 전세기 전쟁보험료 최고 7천500만원
중동행 전세기 전쟁보험료가 최고 5만달러(7천500만원)로 상승

당정청, 25조 규모 추경 편성...초과 세수 활용
정부·여당이 25조 원대 추가경정예산 편성 결정

국힘 공관위, 대구 주호영·이진숙 경선 컷오프 결정
국민의힘 공천관리위원회가 대구 지역 주호영·이진숙 의원에 대한 컷오프 결정

이란 탄도미사일, 이스라엘 방어망 뚫고 160명 부상
이란 탄도미사일이 이스라엘 방공망을 통과해 160명 부상

중동 전쟁 여파로 제조업 업황 10개월 만에 급락
산업연구원 조사 결과 4월 제조업 업황 전망 PSI가 88로 급락하며 10개월 만에 기준치를 하회했다.

이재명 정부, 다주택 공직자 부동산 정책 전면 배제
이재명 대통령이 다주택 공직자를 부동산 정책 전 과정에서 배제하라고 지시했습니다.

유가 급등에 동남아 성장률 줄줄이 하향, 한국 수출 타격 우려
메이뱅크 리서치가 ASEAN-6의 2026년 성장률 전망을 4.8%에서 4.5%로 하향 조정했다.

폭스바겐 CEO, 중국 산업 전략에서 배우라
폭스바겐 CEO가 중국의 체계적인 산업 계획 방식을 독일이 배워야 한다고 밝혔다.





