axios 공급망 공격 — 바이브코더가 지금 당장 확인해야 할 것들
핵심 요약 (TL;DR)
npm 인기 HTTP 라이브러리 axios의 메인테이너 계정이 해킹당해 악성 버전(1.14.1, 0.30.4)이 배포됐습니다. 설치 시 크로스플랫폼 RAT(원격 접속 트로이목마)가 자동으로 깔립니다. 3월 31일 00:21~03:29 UTC에 npm install을 실행한 개발자라면 즉시 확인이 필요합니다.
무슨 일이 일어났는지
3월 31일, axios의 npm 메인테이너 계정이 해킹당했습니다. 공격자는 악성 버전 두 개(1.14.1, 0.30.4)를 배포했는데, 이 버전에는 plain-crypto-js라는 가짜 의존성이 포함돼 있었습니다.
postinstall 스크립트가 실행되면 Windows, macOS, Linux 전 플랫폼을 대상으로 RAT(원격 접속 트로이목마)가 설치됩니다. 공격자가 내 컴퓨터에 원격으로 접속할 수 있게 되는 거죠.
axios는 주간 다운로드가 억 단위인 핵심 라이브러리입니다. 바이브코딩으로 프로젝트를 만들면 높은 확률로 의존성에 포함돼 있습니다.
바이브코더가 지금 당장 확인하는 방법
1단계: axios 버전 확인
프로젝트 폴더에서 아래 명령어를 실행하세요.
npm ls axios
결과에 1.14.1 또는 0.30.4가 보이면 즉시 조치가 필요합니다.
2단계: 악성 버전이면 즉시 삭제
rm -rf node_modules package-lock.json
npm install
package.json에 axios 버전이 고정돼 있다면 안전한 버전(1.7.x 또는 1.14.0 이하)으로 변경하세요.
3단계: 시스템 점검
악성 버전을 설치한 적이 있다면 RAT가 이미 깔렸을 수 있습니다. 의심스러운 프로세스가 돌고 있는지 확인하세요.
# macOS/Linux
ps aux | grep -i crypto
lsof -i -P | grep LISTEN
4단계: npm 공급망 방어 습관
이번 사건을 계기로 습관을 만들어두면 좋습니다.
- package-lock.json 커밋: 의존성 버전을 고정하는 첫 번째 방어선입니다
- npm audit 정기 실행: npm audit로 알려진 취약점을 확인하세요
- postinstall 스크립트 주의: --ignore-scripts 옵션으로 설치 후 스크립트 실행을 막을 수 있습니다
바이브코더에게 주는 교훈
바이브코딩은 npm install을 일상적으로 수행합니다. AI가 추천하는 패키지를 별 의심 없이 설치하는 경우도 많습니다. 하지만 공급망 공격은 "신뢰하는 패키지"를 통해 들어옵니다.
AI가 코드를 써주는 시대에도, 뭘 설치하는지 확인하는 건 여전히 사람의 몫입니다.
FAQ
Q: 안전한 axios 버전은 몇인가요?
A: 1.14.0 이하 또는 0.30.3 이하가 안전합니다. 1.14.1과 0.30.4만 악성 버전입니다.
Q: Claude Code를 homebrew나 npx로 설치했어도 영향이 있나요?
A: npm을 통한 글로벌 설치(npm install -g)만 영향 가능성이 있습니다. 해당 시간대(3/31 00:21~03:29 UTC) 외에 설치했다면 안전합니다.
Q: RAT가 설치됐는지 확실하게 확인하는 방법은?
A: Socket.dev와 Snyk에서 상세 IOC(침해지표)를 공개했습니다. 보안 스캐너로 시스템 전체 점검을 권장합니다.
소스: The Hacker News | Socket.dev | Snyk | SANS Institute
댓글 0
아직 댓글이 없습니다