실전 가이드 · 3분 · 05.01

바이브코더만 노린 90분짜리 백도어 — 오늘 점검할 7가지

loopy vibecoder

핵심 요약 (TL;DR)

2026년 4월 22일(ET) 17시 57분부터 19시 30분까지, 정확히 90분간 npm 공식 레지스트리에 @bitwarden/cli@2026.4.0이 백도어를 달고 풀렸습니다. 페이로드는 일반 클라우드 토큰뿐 아니라 Claude·Codex CLI·Aider·Cursor·Kiro 같은 AI 코딩 도구의 로컬 인증 파일을 정확히 추출하도록 짜여 있었어요. 90분 동안 약 334건이 다운로드된 것으로 추정됩니다. 한 번이라도 깔린 적이 있다면 오늘 토큰을 회전시키는 게 안전합니다.

무슨 일이 벌어진 건가요?

시작은 Checkmarx 공급망이었습니다. Shai-Hulud 캠페인 3차 변종이 Checkmarx 관련 개발 도구를 침해했고, 그 길로 npm 배포 채널이 잠시 장악됐죠. 정상 패키지처럼 보이는 @bitwarden/cli@2026.4.0이 10MB 가량의 난독화된 페이로드를 품고 올라간 거예요. (출처: BleepingComputer 보도)

무서운 점은 타깃이 아주 명확했다는 겁니다. 이번 페이로드가 노린 것은:

  • npm·GitHub PAT·SSH 키
  • AWS·Azure·GCP 클라우드 토큰
  • CI/CD 시크릿
  • 그리고 Claude·Codex CLI·Aider·Cursor·Kiro의 로컬 인증 정보

바이브코더 본인이 ICP(이상적 고객)였던 거죠. 훔친 시크릿은 AES-256-GCM으로 암호화한 뒤 피해자 본인의 GitHub 계정에 public repo로 자동 생성해 그 안에 빼돌렸습니다. 본인 이름표 달고 본인 계정에 시크릿이 공개되는 구조 — 들킬 만큼 들켜야 잡히는, 아주 뻔뻔한 설계입니다.

공식 평가에 따르면 "end user vault data accessed or at risk" 증거는 없었습니다. 단, CLI를 쓴 적이 있는 개발자라면 모든 토큰을 회전해야 한다는 게 Bitwarden·Endor Labs·OX Security 공통 권고예요.

오늘 3분 안에 점검할 7가지

노트북 켜놓고 그대로 따라가시면 됩니다. 한 줄씩 복붙해보세요.

# 1. 영향받는 버전이 깔려있는지
npm list -g @bitwarden/cli
bw --version  # 2026.4.0이면 즉시 제거

# 2. 내 GitHub에 이상한 public repo가 자동 생성되진 않았는지
gh repo list --visibility public --limit 50

# 3. Claude / Codex 로컬 인증 디렉토리
ls -la ~/.claude ~/.config/claude ~/.codex 2>/dev/null

# 4. 클라우드 크레덴셜 마지막 수정 시각
ls -la ~/.aws ~/.config/gcloud ~/.azure 2>/dev/null

# 5. SSH 키와 known_hosts 변경 시각
ls -la ~/.ssh

# 6. npm 토큰
npm token list

# 7. CI 시크릿 — 4/22~4/23 워크플로 로그
gh run list --limit 30

2026.4.0이 한 번이라도 깔린 흔적이 있다면, 위에 나열한 모든 자격 증명을 회전시키세요. 의심 시각은 KST 4월 23일 06:57~08:30 사이 1시간 30분입니다.

이게 단발이 아닌 이유

같은 주에 다른 두 사고가 함께 터졌습니다. Lovable BOLA 취약점이 48일간 모든 사용자의 소스코드·DB 크레덴셜·AI 챗 히스토리를 노출시킨 게 4월 20일 공개됐고, Vercel × Context.ai 공급망 사고로 OAuth 토큰이 탈취돼 Vercel 프로덕션이 뚫렸습니다.

패턴이 보이시나요? AI 코딩 스택 자체가 새로운 공격면이 됐다는 거예요. 우리가 "npm install" 한 줄로 가져오는 의존성, 로컬에 깔린 Claude·Cursor 인증 파일, GitHub Actions의 자동화 — 이 세 줄이 한 번에 뚫리면 그동안 짠 모든 코드의 출처가 의심받기 시작합니다.

FAQ

Bitwarden 데스크톱 앱이나 브라우저 확장도 위험한가요?
아닙니다. 이번 사건은 npm 패키지 @bitwarden/cli에 한정됐고, 데스크톱 앱·브라우저 확장은 별도 배포 채널이라 영향이 없어요. (Bitwarden 공식 입장)

90분만 풀렸는데 다운로드가 그렇게 됐을까요?
Endor Labs 분석 기준 약 334건이 받아진 것으로 추정됩니다. 적어 보여도 그중에 GitHub Actions 자동 워크플로가 받아간 게 섞여 있으면 영향이 곱해져요.

Claude Code 토큰만 회전하면 충분한가요?
부족합니다. 페이로드가 한 번에 여러 자격 증명을 한꺼번에 긁어가도록 만들어졌기 때문에 npm·GitHub PAT·클라우드 키·SSH 키까지 같이 회전시켜야 안전합니다.

다음 액션

체크리스트를 끝냈다면, 한 가지 습관을 만들어두는 게 더 중요합니다. 로컬 AI 코딩 도구 인증 파일을 분기 1회 회전시키는 거죠. 일정에 미리 박아두세요. 한 번 털리고 회전하는 것보다, 분기마다 회전해서 털릴 자격증명이 "오래된 것"만 남게 만드는 게 훨씬 쌉니다.

바이브코딩 시대의 보안은 "방어선을 더 두껍게"가 아니라 "털려도 가치 있는 게 안 남게"의 게임이 되어가고 있습니다. 한 번 더 보고 싶다면 Cursor가 IDE를 버리고 SDK 회사가 됐다에서 도구 시장의 큰 그림도 같이 확인해보세요.

0

댓글 0

아직 댓글이 없습니다