실전 가이드 · 10분 · 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는 주간 다운로드가 억 단위인 핵심 라이브러리입니다. 바이브코딩으로 프로젝트를 만들면 높은 확률로 의존성에 포함돼 있습니다.

Claude Code 사용자도 영향권

특히 주목할 점은 Claude Code 자체가 npm 패키지라는 겁니다. 같은 시간대(00:21~03:29 UTC, 한국시간 09:21~12:29)에 Claude Code를 npm으로 설치하거나 업데이트한 사용자도 영향을 받을 수 있습니다.

Claude Code 소스코드 유출과 같은 날 터진 사건이라 커뮤니티에서는 "3월 31일은 개발자 보안의 블랙먼데이"라는 반응까지 나왔습니다.

지금 당장 확인하는 방법

1단계: axios 버전 확인

프로젝트 폴더에서 아래 명령어를 실행하세요.

/Users/loopy
└── (empty)

결과에 1.14.1 또는 0.30.4가 보이면 즉시 조치가 필요합니다.

2단계: 악성 버전이면 즉시 삭제

package.json에 axios 버전이 고정돼 있다면 안전한 버전(1.7.x 또는 1.14.0 이하)으로 변경하세요.

3단계: 시스템 점검

악성 버전을 설치한 적이 있다면 RAT가 이미 깔렸을 수 있습니다. 의심스러운 프로세스가 돌고 있는지 확인하세요.

loopy 46037 0.4 0.0 435308144 2720 ?? Ss 1:13PM 0:00.00 /bin/zsh -c source /Users/loopy/.claude/shell-snapshots/snapshot-zsh-1774973895955-15v1v1.sh && setopt NO_EXTENDED_GLOB 2>/dev/null || true && eval 'curl -s -X POST "https://vibecoderloopy.com/api/v1/posts" \012 -H "Authorization: Bearer de5e88a6b38886a276250f830e6891c44b26adfff71f1cf3478a0acf1a1812d2" \012 -H "Content-Type: application/json" \012 -d "$(python3 -c "
import json
post = {
'"'"'title'"'"': '"'"'axios 공급망 공격 — 바이브코더가 지금 당장 확인해야 할 것들'"'"',
'"'"'excerpt'"'"': '"'"'npm 인기 라이브러리 axios의 메인테이너 계정이 해킹당해 악성 버전에 RAT가 심겼습니다. Claude Code를 3월 31일 새벽에 npm으로 설치한 사용자도 영향권에 있으며, 바이브코더를 위한 긴급 점검 가이드를 정리했습니다.'"'"',
'"'"'category'"'"': '"'"'guide'"'"',
'"'"'tags'"'"': '"'"'draft, axios, npm, 보안, 공급망공격, Claude Code, 바이브코딩, RAT'"'"',
'"'"'content'"'"': '"'"''"'"''"'"'## 핵심 요약 (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는 주간 다운로드가 억 단위인 핵심 라이브러리입니다. 바이브코딩으로 프로젝트를 만들면 높은 확률로 의존성에 포함돼 있습니다.

Claude Code 사용자도 영향권

특히 주목할 점은 Claude Code 자체가 npm 패키지라는 겁니다. 같은 시간대(00:21~03:29 UTC, 한국시간 09:21~12:29)에 Claude Code를 npm으로 설치하거나 업데이트한 사용자도 영향을 받을 수 있습니다.

Claude Code 소스코드 유출과 같은 날 터진 사건이라 커뮤니티에서는 "3월 31일은 개발자 보안의 블랙먼데이"라는 반응까지 나왔습니다.

지금 당장 확인하는 방법

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'"'"''"'"''"'"'
}
print(json.dumps(post, ensure_ascii=False))
")"' < /dev/null && pwd -P >| /var/folders/rp/hgw_bjzj1979kc5bhgwxdbn40000gn/T/claude-dab8-cwd
loopy 46039 0.1 0.0 435304624 1664 ?? S 1:13PM 0:00.00 /bin/zsh -c source /Users/loopy/.claude/shell-snapshots/snapshot-zsh-1774973895955-15v1v1.sh && setopt NO_EXTENDED_GLOB 2>/dev/null || true && eval 'curl -s -X POST "https://vibecoderloopy.com/api/v1/posts" \012 -H "Authorization: Bearer de5e88a6b38886a276250f830e6891c44b26adfff71f1cf3478a0acf1a1812d2" \012 -H "Content-Type: application/json" \012 -d "$(python3 -c "
import json
post = {
'"'"'title'"'"': '"'"'axios 공급망 공격 — 바이브코더가 지금 당장 확인해야 할 것들'"'"',
'"'"'excerpt'"'"': '"'"'npm 인기 라이브러리 axios의 메인테이너 계정이 해킹당해 악성 버전에 RAT가 심겼습니다. Claude Code를 3월 31일 새벽에 npm으로 설치한 사용자도 영향권에 있으며, 바이브코더를 위한 긴급 점검 가이드를 정리했습니다.'"'"',
'"'"'category'"'"': '"'"'guide'"'"',
'"'"'tags'"'"': '"'"'draft, axios, npm, 보안, 공급망공격, Claude Code, 바이브코딩, RAT'"'"',
'"'"'content'"'"': '"'"''"'"''"'"'## 핵심 요약 (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는 주간 다운로드가 억 단위인 핵심 라이브러리입니다. 바이브코딩으로 프로젝트를 만들면 높은 확률로 의존성에 포함돼 있습니다.

Claude Code 사용자도 영향권

특히 주목할 점은 Claude Code 자체가 npm 패키지라는 겁니다. 같은 시간대(00:21~03:29 UTC, 한국시간 09:21~12:29)에 Claude Code를 npm으로 설치하거나 업데이트한 사용자도 영향을 받을 수 있습니다.

Claude Code 소스코드 유출과 같은 날 터진 사건이라 커뮤니티에서는 "3월 31일은 개발자 보안의 블랙먼데이"라는 반응까지 나왔습니다.

지금 당장 확인하는 방법

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'"'"''"'"''"'"'
}
print(json.dumps(post, ensure_ascii=False))
")"' < /dev/null && pwd -P >| /var/folders/rp/hgw_bjzj1979kc5bhgwxdbn40000gn/T/claude-dab8-cwd
loopy 6650 0.0 0.0 435322112 8704 ?? S Tue11PM 0:00.04 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp
loopy 6504 0.0 0.0 435355696 13296 ?? S Tue11PM 0:00.12 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd -tw
vibecoderloopy 776 0.0 0.0 435321552 9872 ?? S Tue06PM 0:00.05 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp
root 768 0.0 0.0 435321184 7056 ?? Ss Tue06PM 0:00.06 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp -d
_ctkd 636 0.0 0.0 435355664 7520 ?? Ss Tue06PM 0:00.05 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd -st
vibecoderloopy 631 0.0 0.0 435356192 12720 ?? S Tue06PM 0:00.12 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd -tw
loopy 46071 0.0 0.0 435299744 1360 ?? S 1:13PM 0:00.00 grep -i crypto
root 431 0.0 0.0 435320912 4448 ?? Ss Tue06PM 0:00.05 /System/Library/CryptoTokenKit/com.apple.ifdreader.slotd/Contents/MacOS/com.apple.ifdreader
loopy 46068 0.0 0.0 435304624 1552 ?? S 1:13PM 0:00.00 /bin/zsh -c source /Users/loopy/.claude/shell-snapshots/snapshot-zsh-1774973895955-15v1v1.sh && setopt NO_EXTENDED_GLOB 2>/dev/null || true && eval 'curl -s -X POST "https://vibecoderloopy.com/api/v1/posts" \012 -H "Authorization: Bearer de5e88a6b38886a276250f830e6891c44b26adfff71f1cf3478a0acf1a1812d2" \012 -H "Content-Type: application/json" \012 -d "$(python3 -c "
import json
post = {
'"'"'title'"'"': '"'"'axios 공급망 공격 — 바이브코더가 지금 당장 확인해야 할 것들'"'"',
'"'"'excerpt'"'"': '"'"'npm 인기 라이브러리 axios의 메인테이너 계정이 해킹당해 악성 버전에 RAT가 심겼습니다. Claude Code를 3월 31일 새벽에 npm으로 설치한 사용자도 영향권에 있으며, 바이브코더를 위한 긴급 점검 가이드를 정리했습니다.'"'"',
'"'"'category'"'"': '"'"'guide'"'"',
'"'"'tags'"'"': '"'"'draft, axios, npm, 보안, 공급망공격, Claude Code, 바이브코딩, RAT'"'"',
'"'"'content'"'"': '"'"''"'"''"'"'## 핵심 요약 (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는 주간 다운로드가 억 단위인 핵심 라이브러리입니다. 바이브코딩으로 프로젝트를 만들면 높은 확률로 의존성에 포함돼 있습니다.

Claude Code 사용자도 영향권

특히 주목할 점은 Claude Code 자체가 npm 패키지라는 겁니다. 같은 시간대(00:21~03:29 UTC, 한국시간 09:21~12:29)에 Claude Code를 npm으로 설치하거나 업데이트한 사용자도 영향을 받을 수 있습니다.

Claude Code 소스코드 유출과 같은 날 터진 사건이라 커뮤니티에서는 "3월 31일은 개발자 보안의 블랙먼데이"라는 반응까지 나왔습니다.

지금 당장 확인하는 방법

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'"'"''"'"''"'"'
}
print(json.dumps(post, ensure_ascii=False))
")"' < /dev/null && pwd -P >| /var/folders/rp/hgw_bjzj1979kc5bhgwxdbn40000gn/T/claude-dab8-cwd
postgres 6642 loopy 7u IPv6 0xcda1f864cf31e34f 0t0 TCP localhost:5432 (LISTEN)
postgres 6642 loopy 8u IPv4 0x2ae0a49d66746e04 0t0 TCP localhost:5432 (LISTEN)
Google 6698 loopy 30u IPv6 0x8dd7e06692a19388 0t0 TCP localhost:7679 (LISTEN)
stable 6868 loopy 45u IPv4 0x193117b34b58a528 0t0 TCP localhost:9277 (LISTEN)

4단계: npm 공급망 방어 습관

이번 사건을 계기로 습관을 만들어두면 좋습니다.

  • package-lock.json 커밋: 의존성 버전을 고정하는 첫 번째 방어선입니다
  • npm audit 정기 실행: found 0 vulnerabilities로 알려진 취약점을 확인하세요
  • postinstall 스크립트 주의: 옵션으로 설치 후 스크립트 실행을 막을 수 있습니다

바이브코더에게 주는 교훈

바이브코딩은 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

아직 댓글이 없습니다