실전 가이드 · 2분 · 04.02

axios 공급망 공격 — 바이브코더가 지금 당장 확인해야 할 것들

loopy vibecoder

핵심 요약 (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

댓글 0

아직 댓글이 없습니다