글쓴이: 양천, 월스트리트지언
Anthropic은 업계 최대 규모라고 할 수 있는 코드 유출 사고를 겪었다. Claude Code의 전체 소스 코드가 패키징 단계에서의 사소한 실수로 인해 완전히 공개되고 말았다. 51만 줄이 넘는 TypeScript 코드, 40여 개의 도구 모듈, 그리고 아직 공개되지 않은 여러 핵심 기능들이 이로 인해 전 세계 개발자들에게 '알몸으로' 노출되었다.

이는 우연한 사고이자 경종이다. 이번 유출은 Claude의 핵심 모델 가중치나 사용자 데이터에는 영향을 미치지 않았지만, Claude Code의 내부 아키텍처 논리, 시스템 프롬프트 설계 및 도구 호출 메커니즘을 완전히 노출시켰으며, 아직 공개되지 않은 여러 기능과 잠재적인 보안 논리를 대중의 시야에 함께 드러냈습니다.
업계 관계자들은 이번 사건이 AI 에이전트 엔지니어링의 지식 진입 장벽을 실질적으로 낮추고, 전체 개발자 생태계의 경쟁적 진화를 가속화할 것이라고 보고 있다.
주목할 점은, 이것이 Anthropic에서 발생한 첫 번째 실수가 아니라는 사실이다. 2025년 2월, 이 회사의 초기 Claude Code 버전은 동일한 유형의 소스 맵(source map) 부주의로 인해 노출된 바 있으며, 이번 유출은 기업 가치가 180억 달러를 넘는 이 AI 스타 기업의 소프트웨어 공급망 보안 성숙도에 대한 외부 의문을 더욱 불러일으켰다.
단 하나의 .map 파일, 51만 줄의 코드를 폭로하다
블록체인 보안 기업 Fuzzland의 연구원 Chaofan Shou가 X를 통해 이 사건을 최초로 폭로했다. Anthropic官方npm软件包@anthropic-ai/claude-code版本2.1.88中에는 예기치 않게 약 60MB 크기의 cli.js.map 파일이 포함되어 있었다.
cli.js.map 파일에는 sources(파일 경로 목록)와 sourcesContent(해당하는 전체 소스 코드 내용)라는 두 가지 핵심 배열이 존재하며, 두 배열의 인덱스는 일대일로 대응된다. 이는 누구나 이 JSON 파일을 다운로드하기만 하면 모든 원본 코드를 완벽하게 추출할 수 있음을 의미하며, 실행 장벽이 매우 낮습니다.

분석에 따르면, 이 소스 맵 파일에는 총 4,756개의 소스 파일 내용이 포함되어 있으며, 그중 1,906개는 Claude Code 자체의 TypeScript/TSX 소스 파일이고, 나머지 2,850개는 node_modules 의존성 파일이다. 전체 코드량은 51.2만 줄을 넘는다.
사건이 공개된 지 몇 시간 만에 GitHub의 미러 저장소 팔로우 수가 급속히 5000개를 돌파했다. Anthropic은 해당 소스 맵을 npm 패키지에서 제거했다. 그러나 npm 패키지의 초기 버전은 여러 곳에서 아카이브되어 관련 내용이 개발자 커뮤니티에서 계속 유포되고 있다.

아키텍처 전체 모습이 처음으로 공개
복원된 소스 코드는 외부에 지금까지 가장 완벽한 Claude Code 아키텍처 뷰를 제공했다.
코드에 따르면, Claude Code는 React와 Ink 프레임워크를 사용하여 터미널 인터페이스를 구축하고, Bun 런타임에서 실행되며, 핵심은 자연어 입력과 슬래시 명령어를 지원하는 REPL 루프로, 하위 계층에서는 도구 시스템을 통해 LLM API와 상호작용합니다.
도구 측면에서, 코드에는 파일 읽기/쓰기, Bash 명령어 실행, LSP 프로토콜 통합 및 서브 에이전트 생성 기능을 아우르는 40개 이상의 독립 모듈이 포함되어 있어, 기능이 완비된 "만능 도구 상자"를 구성한다.
추론 측면에서는 QueryEngine.ts라는 이름의 핵심 파일 코드량이 4.6만 줄에 달하며, 추론 논리 처리, 토큰 카운팅 및 "사고 사슬" 루프의 모든 작업을 담당합니다.
다중 에이전트 측면에서는 유출된 코드에서 coordinator(다중 에이전트 조정기) 모듈과 bridge 모듈이 확인되었으며, 후자는 VS Code와 JetBrains 등 주요 IDE를 연결하는 역할을 담당하여, Claude Code가 이미 다중 시스템 협업 및 개발 환경에 대한 심층적인 통합 능력을 갖추고 있음을 보여줍니다.

미공개 기능의 의외의 등장
이번 유출 사건에서 가장 주목받는 점은 아마도 공개된 적이 없는 몇 가지 기능일 것이다.
코드명 Kairos인 모드는 그중에서도 가장 주목받는 기능 중 하나다. 코드에 따르면, 이는 지속적인 수명 주기를 가진 자율적 백그라운드 프로세스로, 백그라운드 세션과 기억 통합을 지원한다. 이는 Claude가 백그라운드에 상주하는 AI 에이전트로서 지속적으로 작업을 처리하고 프로젝트에 대한 이해를 축적할 수 있음을 의미한다.
또한 '버디 시스템(Buddy System)'이라 불리는 전자 애완동물 시스템이 코드 내에 내장되어 있는데, 여기에는 18종의 종, 희귀도 등급, 변종 및 속성 통계가 포함되어 있습니다. 이 디자인은 분명히 Anthropic 엔지니어들의 장난기에서 비롯된 것으로, 핵심 아키텍처와 나란히 코드베이스에 존재합니다.
모드 설계 측면에서, 코드에는 Claude가 병렬로 실행되는 종속 에이전트를 스케줄링할 수 있게 해주는 "Coordinator Mode"(조정자 모드)와, 도구 권한을 자동으로 승인하는 AI 분류기인 "Auto Mode"(자동 모드)가 드러나 있으며, 이는 운영 승인 절차를 간소화하기 위한 것입니다.
또한, "Undercover Mode"(잠입 모드)라는 이름의 기능이 논란을 일으켰는데, 코드 설명에 따르면 Anthropic 직원이 공개 저장소에서 작업을 수행할 때 이 모드가 자동으로 활성화되어 커밋 기록에서 AI 관련 흔적을 지우며, 수동으로 끌 수 없다고 한다.

보안 위험 및 공급망 경고
보안 연구원들은 이번 유출이 모델 가중치나 사용자 개인정보 데이터와 직접적인 관련은 없지만, 잠재적 위험을 간과해서는 안 된다고 지적했습니다.
보도에 따르면, 유출된 내용은 내부 보안 로직을 완전히 노출시켰으며, 서버 측 요청 위조(SSRF) 등의 공격 경로를 드러낼 수 있어 향후 보안 연구에 대한 단서를 제공했습니다. 오픈소스 커뮤니티는 이미 유출된 코드를 기반으로 포크 버전을 탐색하기 시작했으며, 다른 프록시 프레임워크와의 결합을 시도하고 있다.
업계 배경을 고려할 때, npm은 전 세계 최대 규모의 자바스크립트 패키지 저장소로 매일 수백만 건의 다운로드를 처리한다. 이러한 패키징 실수는 기업들에게 빠른 출시 속도를 추구하는 동시에 CI/CD 파이프라인 내 소스 파일 검토 체계를 강화해야 함을 시사한다.
npm 패키지를 배포하는 모든 개발자에게 주는 직접적인 경고는 다음과 같습니다. 배포 전에 반드시 .map 파일이 배포물에 포함되었는지 확인해야 합니다. sourcesContent 필드 한 줄만으로도 전체 소스 코드를 공개할 수 있습니다.
에이전트 생태계, 가속화의 전환점 맞이할 전망
산업적 영향의 관점에서 볼 때, 이번 사건의 의미는 단순한 기술적 사고 그 자체를 넘어설 수 있습니다.
최상위 AI 에이전트의 전체 엔지니어링 구현 방안이 예기치 않게 공개됨에 따라, 해당 분야의 지식 장벽이 현저히 낮아질 것입니다. 개발자들은 Claude Code의 아키텍처 설계, 프롬프트 논리 및 도구 호출 메커니즘을 직접 참고하여 학습하고 벤치마킹할 수 있게 되어, 독자적인 연구 개발의 탐색 주기를 단축할 수 있습니다.
동시에 이번 사건은 Anthropic이 에이전트 공학화 분야에서 쌓아온 기술적 역량을 우연히 입증하기도 했다. 다중 에이전트 조정 메커니즘이든, 지속적 백그라운드 데몬 프로세스 설계든, 모두 동종 제품을 뛰어넘는 공학적 깊이를 보여주었다.
Anthropic 생태계 확장 도구인 Claude Code는 주로 전문 개발자를 대상으로 하며, GitHub Copilot, Cursor 등 AI 코딩 어시스턴트와 경쟁 관계를 형성하고 있습니다. 경쟁 압력이 가중되는 상황에서 이번 소스 코드 공개가 오히려 업계의 AI 에이전트 아키텍처에 대한 집단적 혁신을 가속화할 수 있을지, 업계는 향후 대응을 예의주시하고 있습니다.