Claude Code 소스코드 유출: 512,000줄의 TypeScript가 전부 드러나다
Mythos 유출 5일 후, Anthropic이 npm 패키징 실수로 Claude Code 전체 소스코드를 노출했다——1,900개 파일, 512,000줄.
핵심 요약: 2026년 3월 31일, 보안 연구원 Chaofan Shou가 @anthropic-ai/claude-code npm 패키지 버전 2.1.88에 59.8MB의 JavaScript source map 파일이 포함된 것을 발견했다. 이 맵은 Anthropic의 Cloudflare R2 스토리지 버킷에 있는 공개 zip 아카이브를 가리키고 있었다. 안에는 약 1,900개의 TypeScript 파일, 총 512,000줄 이상의 코드가 들어 있었고 44개의 미출시 feature flag도 포함돼 있었다. GitHub 백업 리포지토리는 41,500회 이상 fork됐다. Anthropic은 ‘릴리스 패키징 문제로 인한 인적 오류이며 보안 침해가 아니다’라고 했다. Fortune은 ‘5일 만의 두 번째 대형 보안 사고’라고 썼다.
Mythos 유출 5일 후: Anthropic이 또 사고를 쳤다
3월 26일 CMS 설정 오류로 약 3,000건의 미공개 파일이 노출됐었다. 약 4,000억 달러 규모의 보안주 매도를 촉발했다.
5일 뒤인 3월 31일, 또 터졌다.
이번 경로는 CMS가 아니라 npm——전 세계 수백만 JavaScript 개발자가 매일 쓰는 패키지 매니저였다. Fortune은 이를 ‘1주일도 안 돼서 두 번째 대형 보안 사고’라고 규정했다.
Claude Code 소스코드는 어떻게 유출됐나
@anthropic-ai/claude-code npm 패키지 2.1.88 버전에 JavaScript source map 파일이 포함돼 배포됐다. 59.8MB——프로덕션 패키지치고는 비정상적으로 큰 크기다. Source map은 번들된 JavaScript를 원본 소스에 대응시키는 개발용 아티팩트로, 보통 프로덕션 빌드에서 제외한다.
이 source map 자체에 전체 소스가 직접 들어 있진 않았지만, Anthropic의 Cloudflare R2 버킷에 있는 zip 아카이브를 참조하고 있었다. 버킷은 인증 없이 공개 접근 가능했다.
zip 안에는 약 1,900개의 TypeScript 파일, 총 512,000줄 이상——Claude Code의 전체 소스 트리가 들어 있었다.
노출 체인은 단순했다: 빌드 파이프라인이 source map을 제거하지 않았고, 참조된 버킷에 접근 제어가 없었다. 둘 중 하나만 있었으면 전체 소스 유출은 없었을 것이다. 하지만 둘이 겹쳤다.
누가 Claude Code 유출을 발견했나
보안 연구원 Chaofan Shou가 3월 31일(화) 오전에 발견하고 공개했다. source map 파일의 비정상적 크기와 접근 가능한 R2 버킷 URL을 지적했다.
몇 시간 내 코드 미러링이 시작됐고, GitHub 백업 리포는 41,500회 이상 fork됐다. Anthropic이 테이크다운 요청을 보내기 전에 이미 너무 늦었다.
Claude Code 소스코드 안에는 뭐가 있었나
노출된 코드베이스에서 44개의 feature flag가 발견됐다. 네 개가 가장 큰 주목을 받았다:
KAIROS — 코드베이스 전체에서 150회 이상 참조. 자율 데몬 모드——사용자 조작 없이 지속 실행되는 백그라운드 에이전트. 상세 분석: KAIROS 데몬 모드.
BUDDY — 18종의 터미널 펫 시스템.
COORDINATOR MODE — 하나의 Claude Code 세션에서 복수의 병렬 워커 에이전트를 생성·관리.
ULTRAPLAN — 10~30분짜리 원격 다중 에이전트 계획 세션.
44개 feature flag 전체 분석: Claude Code Feature Flag 전수 조사.
Anthropic의 대응
공식 성명: ‘릴리스 패키징 문제로 인한 인적 오류. 보안 침해가 아니다.’ 고객 데이터, API 키, 인증 정보는 포함되지 않았으며 Anthropic 자체 애플리케이션 코드로 국한됐다고 강조했다.
5일 전 Mythos 유출 대응과 거의 같은 어조——둘 다 외부 공격이나 시스템적 취약성이 아닌 내부 오류로 귀결시켰다.
Claude Code 유출이 개발자에게 의미하는 것
오픈소스 커뮤니티 반응은 복합적이었다. npm 퍼블리싱 파이프라인 감사 부실을 우려하는 목소리와, Anthropic이 AI 개발 도구를 어떻게 만드는지 처음 자세히 볼 수 있게 된 기회를 환영하는 목소리가 섞였다.
유출 코드는 Claude Code가 대형 언어 모델과 로컬 개발 환경의 상호작용을 어떻게 편성하는지에 대한 최초의 상세한 시각을 제공했다. 에이전트 아키텍처, 도구 호출 패턴, 프롬프트 엔지니어링 전략이 즉각 분석 대상이 됐다.
Claude Code는 오픈소스가 아니다. 사용자는 블랙박스로 쓴다. 이번 사고로 워크플로에 직접 영향을 미치는 의사결정이 가시화됐다. 코드는 이미 영구적으로 공개 영역에 들어갔다.
더 읽기
- KAIROS 데몬 모드 — 유출 코드에서 발견된 자율 백그라운드 에이전트
- Claude Code Feature Flag 전수 조사 — 44개 미출시 기능
- 5일 만에 두 번: Anthropic의 보안 위기 — 비교 분석
- 유출 타임라인 — 두 사건 시간순