axios 사용자라면 반드시 읽어야 할 긴급 경고
이번에 정말 충격적인 사건이 터졌습니다. 전 세계에서 가장 많이 쓰이는 HTTP 클라이언트 라이브러리 axios가 npm 공급망 공격을 당했습니다.
이번 공격은 단순한 버그가 아니라, maintainer 계정을 해킹해 악성 버전을 직접 배포한 전형적인 Supply Chain Attack입니다.
무슨 일이죠?
2026년 3월 31일 (UTC 기준 새벽)
axios 리드 메인테이너 jasonsaayman의 npm 계정이 해킹당함
공격자가 두 개의 악성 버전을 직접
axios@1.14.1 (latest 태그)
axios@0.30.4 (legacy 태그)
npm이 약 2~3시간 만에 해당 버전을 삭제했지만, 이미 많은 CI/CD와 개발 머신이 감염
무서운 점
axios 소스 코드는 하나도 건드리지 않았습니다.
package.json에만 phantom dependency (plain-crypto-js@4.2.1)를 추가했습니다.
npm install 하는 순간 postinstall 스크립트가 자동 실행되어 크로스 플랫폼 RAT(Remote Access Trojan)이 설치됩니다.
공격의 특징
Windows, macOS, Linux 모두 공격 가능
클라우드 키, SSH 키, npm token, AWS credential 등 대량 탈취
설치 후 자기 흔적을 지우고 package.json을 정상 버전으로 바꿔 포렌식 회피
일부 분석에 따르면 북한 연계 공격 그룹으로 의심 (Sapphire Sleet 등)
확인 방법
# 1. 현재 설치된 axios 버전 확인
npm list axios
# 2. lockfile에서 악성 버전 검색
grep -E "axios@1\.14\.1|axios@0\.30\.4" package-lock.json
# 3. plain-crypto-js도 확인
npm list plain-crypto-js안전한 버전으로 다운그레이드
npm install axios@1.14.0 # 1.x 사용자
# 또는
npm install axios@0.30.3 # 0.x 사용자감염이 의심된다면?
해당 머신/CI 환경을 즉시 isolated
모든 credential 전체 rotate (GitHub, AWS, DB, npm token 등)
EDR 솔루션 또는 안티바이러스로 전체 스캔
lockfile을 강제로 clean한 뒤 재설치
axios는 우리 대부분의 프로젝트에 이미 깊숙이 박혀 있는 라이브러리입니다.
지금 당장 프로젝트 전체를 점검해보시죠.