본문으로 건너뛰기
← 블로그로 돌아가기
AI트렌드HOT

Anthropic Claude Code 소스코드 51만 줄 유출npm 패키징 실수가 불러온 AI 업계 최대 사고

6분 읽기
#Anthropic#Claude Code#소스코드 유출#npm#보안

2026년 3월 31일, 보안 연구자 Chaofan Shou(@shoucccc)가 Anthropic의 공식 npm 패키지 @anthropic-ai/claude-code v2.1.88에서 512,000줄 이상의 전체 소스코드가 노출되어 있음을 발견했습니다. 원인은 빌드 과정에서 생성된 59.8MB 소스맵 파일(cli.js.map)이 .npmignore에 등록되지 않아 그대로 npm 레지스트리에 배포된 것입니다. 유출 후 수시간 만에 코드는 GitHub 전역에 미러링되었고, 포크 수는 41,500건을 넘어섰습니다.

이 사건은 불과 5일 전인 3월 26일 CMS 설정 오류로 차세대 모델 "Mythos(Capybara)"의 존재가 노출된 사건에 이은 연속 보안 사고로, Anthropic의 내부 보안 체계에 대한 의문이 제기되고 있습니다.


유출 경위와 기술적 원인

The Register에 따르면, Claude Code는 Bun 런타임을 사용해 빌드되며, Bun은 기본적으로 소스맵을 생성합니다. 릴리스 담당자가 *.map 파일을 .npmignore에 추가하거나 package.jsonfiles 필드에서 제외하지 않으면서, 번들링된 코드를 원본 TypeScript 소스로 역추적할 수 있는 소스맵이 그대로 공개됐습니다.

Anthropic은 공식 성명에서 "이것은 릴리스 패키징 과정의 human error이며, 보안 침해가 아니다"라고 밝혔습니다. 또한 "민감한 고객 데이터나 인증 정보는 노출되지 않았다"고 덧붙였습니다.

항목수치
패키지 버전v2.1.88
소스맵 크기59.8 MB
TypeScript 파일 수~1,900개
코드 줄 수512,000+
등록된 도구 수40+
슬래시 명령어 수~50개
숨겨진 피처 플래그44개
보안 체크 게이트23개

유출 코드에서 발견된 핵심 시스템

KAIROS: 상시 실행 자율 에이전트

claudefa.st의 분석에 따르면, 소스코드에서 150회 이상 참조되는 "KAIROS"(고대 그리스어로 "적절한 시간"을 뜻함)는 아직 공개되지 않은 자율 데몬 모드입니다. 수 초 간격으로 "heartbeat" 프롬프트를 수신해 자체적으로 행동 여부를 결정하며, 15초 블로킹 예산, append-only 감사 로그, GitHub 웹훅 모니터링 기능을 갖추고 있습니다.

함께 발견된 "autoDream"은 사용자가 유휴 상태일 때 Orient-Gather-Consolidate-Prune 4단계로 기억을 정리하는 시스템입니다.

Undercover Mode: 오픈소스 스텔스 기여

Engineer's Codex에 따르면, undercover.ts는 90줄짜리 비가역적 시스템으로, Anthropic 직원이 공개 오픈소스 저장소에 기여할 때 내부 코드네임과 Co-Authored-By 어트리뷰션을 자동으로 제거합니다. 소스에서 발견된 시스템 프롬프트는 다음과 같습니다: "You are operating UNDERCOVER... Your commit messages MUST NOT contain ANY Anthropic-internal information."

반증류(Anti-Distillation) 메커니즘

경쟁사의 모델 증류를 방지하기 위해 두 가지 방어 체계가 발견됐습니다. 첫째, fake_tools 플래그가 활성화되면 시스템 프롬프트에 가짜 도구 정의를 주입합니다. 둘째, CONNECTOR_TEXT는 서버 측 요약에 암호학적 서명을 적용해 가로채인 데이터의 활용을 제한합니다.


내부 코드네임과 미공개 모델

유출된 코드에는 Anthropic의 내부 프로젝트 코드네임이 다수 포함되어 있습니다.

코드네임추정 대상
TenguClaude Code 프로젝트
CapybaraMythos(차세대 모델 패밀리)
FennecOpus 4.6
Numbat미출시 모델 (출시 윈도우 내장)

Opus 4.7, Sonnet 4.8에 대한 참조도 발견되었으며, "ULTRAPLAN"이라는 기능은 계획 수립을 원격 Opus 4.6에 30분 씽킹 윈도우로 오프로드하는 시스템입니다.


커뮤니티 반응과 확산

유출 직후 코드는 즉시 미러링되어 GitHub에서 41,500회 이상 포크되었습니다. Engineer's Codex에 따르면, @realsigridjin이 주도한 Python 클린룸 리라이트 "claw-code"는 약 2시간 만에 75,000 스타를 기록해 GitHub 역사상 가장 빠르게 성장한 저장소로 추정됩니다. Rust 기반 리라이트 "claurst"도 활발히 진행 중입니다.

한편, 텔레메트리와 가드레일을 제거한 IPFS 버전도 업로드되었으며, Anthropic은 DMCA 테이크다운을 통해 대응하고 있습니다.

Fortune에 따르면, 이 사건은 3월 26일 Mythos 유출에 이은 5일 만의 연속 사고로, 보안 연구자 Roy Paz(LayerX Security)는 "유출된 코드를 통해 경쟁사가 Claude Code의 기능을 리버스 엔지니어링하고, 개발자들이 오픈소스 버전을 만들 수 있다"고 경고했습니다.


전망

이번 유출은 AI 업계에 여러 방향의 영향을 미칠 것으로 예상됩니다.

첫째, Claude Code의 아키텍처가 공개되면서 AI 에이전트 설계의 산업 표준이 사실상 공유되었습니다. 멀티 에이전트 오케스트레이션, 프롬프트 캐시 최적화, 3계층 메모리 시스템 등의 설계 패턴은 향후 오픈소스 에이전트 프레임워크에 광범위하게 반영될 가능성이 높습니다.

둘째, Undercover Mode와 반증류 메커니즘의 발견은 AI 기업의 오픈소스 기여 투명성과 모델 보호 전략에 대한 윤리적 논의를 촉발하고 있습니다.

셋째, 5일 간격의 연속 유출은 Anthropic의 보안 프로세스 전반에 대한 신뢰 문제로 이어질 수 있습니다. 특히 600억 달러 이상의 기업 가치를 가진 AI 기업이 .npmignore 한 줄의 부재로 핵심 제품 소스가 유출된다는 사실은, AI 업계 전체의 DevOps 보안 체계 점검 필요성을 환기합니다.


참고

Share
JJY
JJYAuthor

AI, 웹 보안, 개발 환경에 관심이 많습니다.

새 글 알림 받기

스팸 없이 새 포스트만 전달합니다.

관련 포스트