오늘(3월 31일) 보안 연구자 Chaofan Shou가 X에 한 줄을 올렸습니다.
"Claude Code 소스코드가 npm 레지스트리의 소스맵 파일을 통해 유출됐습니다."
몇 시간 만에 GitHub 저장소가 만들어졌습니다.
1,100개 이상의 스타, 1,900개 이상의 포크, 개발자 커뮤니티가 코드를 분석하기 시작했습니다.
무슨 일이 일어났는지부터 설명하면 이렇습니다.
JavaScript, TypeScript 패키지를 npm에 배포할 때 빌드 도구는 소스맵(.map) 파일을 생성합니다.
이 파일은 번들링된 압축 코드를 원본 소스코드로 역추적할 수 있게 해주는 디버깅 도구입니다.
개발 환경에서는 필수적이지만 프로덕션 배포 시에는 포함되지 않는 것이 원칙입니다.
Claude Code 버전 2.1.88에 57MB 크기의 소스맵 파일이 그대로 포함됐습니다.
이 파일은 Anthropic의 R2 스토리지 버킷에 호스팅된 난독화되지 않은 TypeScript 원본 소스 전체를 가리켰습니다.
결과적으로 약 2,300개 파일, 51만 줄 이상의 TypeScript 코드가 공개적으로 접근 가능한 상태가 됐습니다.
유출된 코드에서 개발자들이 발견한 것들이 있습니다.
아직 공개되지 않은 기능들의 흔적입니다.
AFK 모드(사용자가 자리를 비운 동안 작업 대행), Advisor 툴, Redact Thinking(추론 과정 숨기기),
Fast Mode(내부 코드명 Penguin), Task Budgets(작업 예산 관리) 등이 코드 안에 존재했습니다.
출시 예정이거나 내부 테스트 중인 기능들로 보입니다.
그리고 예상하지 못한 것도 있었습니다.
사용자 ID를 기반으로 고유한 ASCII 아트 동물 캐릭터를 배정하는 내부 시스템이 발견됐습니다.
레어도와 1% 확률의 '반짝이' 등급까지 구현된 일종의 마스코트 시스템이었습니다.
이것은 5일 전 사건과 다른 성격입니다.
3월 26일 Claude Mythos 유출은 CMS 설정 오류로 내부 문서가 노출된 것이었습니다.
오늘 사건은 빌드 파이프라인에서 소스맵 파일이 npm 배포 패키지에 포함된 것입니다.
발생 경로는 다르지만 원인은 같습니다. 설정 오류입니다. 정교한 공격이 아닙니다.
byteiota는 이것을 "5일 만에 두 번째 유출"이라고 표현했습니다.
Hacker News 커뮤니티의 반응은 엇갈렸습니다.
"슬롯머신의 소스코드는 카지노 운영자에게 중요하지 않다, 모델 자체가 중요하다"는 쪽과
"우리가 신뢰를 맡긴 회사가 자사 소프트웨어를 제대로 보호하지 못하고 있다"는 쪽이 대립했습니다.
Anthropic은 이번 npm 유출에 대해 아직 공식 입장을 내놓지 않았습니다.
Claude Code는 파일을 읽고, 코드를 실행하고, 터미널 명령을 수행하는 도구입니다.
사용자는 자신의 코드베이스, 파일 시스템, 개발 환경 전체에 대한 접근권을 이 도구에 부여합니다.
그 도구를 만드는 파이프라인이 두 번 연속으로 설정 오류를 냈습니다.
도구의 보안은 도구가 수행하는 작업뿐 아니라, 그 도구가 어떻게 만들어지고 배포되는가에서도 나옵니다.
Claude Code에 코드베이스를 맡기는 팀이라면 이 부분을 함께 고려할 필요가 있습니다.
'일과 생각' 카테고리의 다른 글
| Anthropic이 스스로 "전례 없는 위험"이라고 쓴 모델 Mythos (0) | 2026.03.30 |
|---|---|
| AI가 생성한 코드를 AI가 검토합니다 - Claude Code Review의 등장 (0) | 2026.03.28 |
| 너무 많은 것을 동시에 하면 어떻게 되는가 - OpenAI의 선택 (0) | 2026.03.24 |
| AI 에이전트가 통제를 벗어났습니다 - Meta Sev1 사고가 보여주는 것 (0) | 2026.03.23 |
| Claude가 화성에서 400미터를 운전했습니다. (0) | 2026.03.22 |