Claude Codeのソースコード全文が流出、npmの設定ミスで51万行が丸見えに

AI安全性を看板に掲げる企業の足元が、最も初歩的なミスで崩れた。Anthropicの開発者向けCLIツール「Claude Code」のソースコードが、npmレジストリの設定ミスにより全世界に公開されていたことが判明した。

Claude Codeのソースコード全文が流出、npmの設定ミスで51万行が丸見えに

AI安全性を看板に掲げる企業の足元が、最も初歩的なミスで崩れた。Anthropicの開発者向けCLIツール「Claude Code」のソースコードが、npmレジストリの設定ミスにより全世界に公開されていたことが判明した。


npmに残された「地図」が全てを暴いた

npmレジストリに公開されたソースマップファイルが、Claude Codeの全ソースコードを世界に晒している。発端は2026年3月31日、セキュリティ研究者チャオファン・ショウがXに放った一つの投稿だ。「Claude Codeのソースコードが、npmレジストリのmapファイルを通じて流出している」。その瞬間から、事態は加速度的に拡大していく。

問題の核心は.mapファイルだ。ソースマップとは、本来デバッグ用に使われる開発者ツールで、圧縮・難読化されたJavaScriptを元のソースコードに「逆変換」するための参照ファイルにすぎない。通常、本番環境のパッケージに含めてはならない。

ところがAnthropicは、公式npmパッケージ@anthropic-ai/claude-codeのバージョン2.1.88にこのファイルを同梱したまま公開してしまった。しかもそのソースマップは、Anthropic自身のCloudflare R2ストレージバケットに保管された完全なTypeScriptソースコードへの直リンクを含んでいた。

ソースマップ(.mapファイル)は、難読化されたコードと元のソースコードの対応表。開発中のデバッグには不可欠だが、本番パッケージに混入すると難読化の意味が消失する。

流出したのはClaude Codeのsrc/ディレクトリ全体。約1,900ファイル、51万行超のTypeScriptコードだ。Bunランタイムで動作し、React + InkによるターミナルUIフレームワークを採用していることも明らかになった。

丸裸になったAIエージェントの内部構造

流出コードの規模は、単なる「ちょっとした設定ミス」では済まされない水準に達している。CLIツールの中核を構成するモジュール群が、Anthropicの設計思想ごと丸ごと公開された形だ。

LLM APIとの通信、ストリーミング、ツールループ、トークン追跡を担うQueryEngine.tsは約4万6,000行。全エージェントツールの型定義と権限スキーマを管理するTool.tsは約2万9,000行。スラッシュコマンドの登録・実行を受け持つcommands.tsは約2万5,000行。これらはCLIツールの中核を構成するモジュールであり、Anthropicの設計思想が凝縮されている。

公開されたアーキテクチャからは、BashToolFileReadToolFileEditTool、さらにサブエージェントを生成するAgentToolなど約40のエージェントツールと約85のスラッシュコマンドの存在が確認されている。Gitワークフロー、コードレビュー、メモリ管理、マルチエージェント連携まで、守備範囲は驚くほど広い。

正直なところ、外から見ればシンプルなCLIツールにしか見えないClaude Codeが、内部ではここまで複雑な「エージェント基盤」を抱えていたことに驚く。

未発表機能の「ロードマップ」まで流出

流出コードには、出荷待ちの未来が埋め込まれている。内部フィーチャーフラグは44個に及び、その多くは、すでに実装済みで外部ビルドではフラグがfalseに設定されているだけの状態だ。

最も注目を集めているのはBUDDYと呼ばれる仮想ペットシステムだ。たまごっちのようなAIペットが入力ボックスの横に吹き出しで表示される仕組みで、ユーザーIDのハッシュからシード値が生成される。18種族(アヒル、ドラゴン、アホロートル、カピバラ、キノコ、ゴーストなど)、コモンから1%のレジェンダリーまでのレアリティ、帽子やシャイニーバリアントといった装飾品、DEBUGGING・PATIENCE・CHAOS・WISDOM・SNARKの5つのステータスまで設計されていた。

「常時稼働のClaude」を実現するKAIROSモード、30分間のクラウド上リモート計画セッションを可能にするULTRAPLAN、複数ワーカーエージェントを並列管理するCoordinatorモードなど、未公開機能は20以上に及ぶ。

ほかにもPROACTIVEVOICE_MODEBRIDGE_MODEといったフラグの存在が確認されている。VS CodeやJetBrainsとのIDE連携を担う「ブリッジ」機能や音声操作モードの開発が進行中であることもうかがえる。

2週間ごとに新機能をリリースしているように見えるのは、すべてがすでに完成しているからだ、という開発者コミュニティの分析は、大げさではないのかもしれない。

皮肉が効いた「アンダーカバーモード」

流出コードの中で、ある種の苦い笑いを誘ったのがUndercover Mode(潜入モード)の存在だ。

これはAnthropicの社員が公開リポジトリやオープンソースプロジェクトで作業する際、AIが内部情報を誤ってコミットメッセージやPR文に含めないよう設計されたサブシステムだ。システムプロンプトには「あなたは公開リポジトリで潜入中です。内部のモデルコードネーム、未公開のバージョン番号、あなたがAIであることを絶対に漏らさないでください」という指示が注入される。

AIが情報を漏らさないための仕組みを丹念に設計しておきながら、人間が.npmignoreにたった1行(*.map)を書き忘れたことで全てが台無しになった。この構図は、AI安全性を最も重視すると公言する企業にとって、技術的というより象徴的な打撃だ。

2度目の同じ過ち、沈黙するAnthropic

実はこれが初めてではない。2025年2月にも初期バージョンで同様のソースマップ流出が発生し、Anthropicはパッケージを削除して対処していた。同じミスを2度繰り返したことになる。

Claude Code’s source code has been leaked via a map file in their NPM registry | Hacker News

しかも時期が悪い。わずか数日前の3月26日には、Fortuneの報道で、Anthropicの外部CMSツールの設定ミスにより未発表モデル「 Mythos 」の情報やCEO限定イベントの詳細が公開状態になっていたことが明らかになったばかりだった。Anthropicはこれを「CMSの人的エラー」と説明し、AIツールとは無関係だと強調した。

そして今回のClaude Codeソースコード流出。記事執筆時点で、Anthropicはこのインシデントに関する公式声明を出していない。

流出したのはCLIツールのフロントエンド/クライアントコードであり、モデルの重み(学習済みパラメータ)やユーザーデータは含まれていない。直接的なセキュリティリスクは限定的だが、知的財産としての損害は甚大だ。

GitHubにミラーされたリポジトリは、発見から数時間で約3万スターを超え、フォーク数も4万以上に達している。インターネットは待ってくれなかった。

「安全第一」の看板と、.npmignoreの1行

コードそのものから読み取れるエンジニアリングの水準は、率直に言って非常に高い。権限管理システム、マルチエージェント連携、IDE統合、永続メモリ。Claude Codeが単なるAPIラッパーではなく、本格的なエージェント基盤であることを、この流出は図らずも証明した。

だが「何を作ったか」と「どう管理したか」は別の問題だ。AI業界で最も安全性を重視すると宣言する企業が、ビルドパイプラインの基本的なチェックを2度にわたって怠った事実は、技術力への評価とは切り離して受け止める必要がある。

BUDDYやKAIROSのような遊び心あふれる機能を見ると、Anthropicのエンジニアたちが純粋にものづくりを楽しんでいることが伝わる。動物のコードネーム(Tengu、Fennec、Capybara)、ペンギンモード、ドリームシステム。約60MBのデバッグファイルが、その楽しさごと世界中に配信されてしまったわけだが。

「安全性」は理念だけでは成立しない。それは、コードの一行一行、設定ファイルの一つ一つに宿るものだ。.npmignoreに*.mapと書くこと。それだけのことが、なぜこれほど難しいのか。


参照元


#AI #ClaudeCode #Anthropic #npm #セキュリティ #ソースコード流出 #TypeScript #オープンソース

@AnthropicのCLIツール「Claude Code」のTypeScriptソースコード全文がnpmレジストリのソースマップ設定ミスで流出した。約1,900ファイル・51万行超のコードが公開され、未発表の仮想ペット機能BUDDYや常時稼働モードKAIROSなど44のフィーチャーフラグも明らかに。2025年に続く2度目の同一ミスとなり、AI安全性企業の管理体制に疑問が投げかけられている。