피드로 돌아가기
The Axios Supply Chain Attack Explained: How a Compromised npm Account Put 83 Million Projects at Risk
Dev.toDev.to
Security

Axios npm 계정 침해로 versions 1.14.1 및 0.30.4가 188분간 유포되어 8,300만 주간 다운로드 환경에 cross-platform RAT 설치

The Axios Supply Chain Attack Explained: How a Compromised npm Account Put 83 Million Projects at Risk

Kuboid Secure Layer2026년 4월 1일7intermediate

Context

Axios는 millions of package.json files에서 표준 의존성으로 사용되며 8,300만 주간 다운로드를 기록하는 JavaScript HTTP client이다. 공격자는 @jasonsaayman 계정의 npm 자격 증명을 탈취하여 직접 악성 버전을 게시했으며 project의 GitHub Actions CI/CD pipeline을 완전히 우회했다.

Technical Solution

  • [package-lock.json 또는 yarn.lock] → [npm ci 실행]으로 lockfile에 고정된 이전 clean version 사용
  • [npm install/update command] → [npm ci --ignore-scripts flag 적용]으로 postinstall hook 실행 차단
  • [pipelines] → [npm config set ignore-scripts true 설정]으로 전역 수준 스크립트 실행 방지
  • [CI/CD environment] → [의존성 게시 전 hash 검증]으로 registry 버전과 source code 정합성 확인
  • [automation systems] → [dependency tree auditing 도구 적용]으로 injected 의존성 감지

Impact

node_modules에 188분간 설치된 환경은 fully compromised 상태이며 C2 server 연결이 estabelecida 되었다. additional packages(@qqbrowser/openclaw-qbot, @shadanai/openclaw)에서도 동일한 malicious plain-crypto-js payload이 발견되어 time window 독립적 노출이 확인되었다.

Key Takeaway

공격자가 registry에 직접 게시하는 방식은 lockfile을 사용하는 build system에 영향을 주지 않으며 --ignore-scripts flag는 postinstall hook 기반 공격을 완전 차단한다.


CI/CD pipeline에서 npm ci 실행 시 --ignore-scripts flag를 기본 적용하면 postinstall hook 기반 supply chain attack을 완전 차단하고 lockfile 정합성 검증과 결합 시 registry 유포 악성 버전의 영향을 원천 방지

원문 읽기