2026年3月31日、AnthropicのAIコーディングツール「Claude Code」の内部ソースコード51万行以上がインターネット上に流出した。原因はハッキングでも不正アクセスでもなく、npmパッケージのビルド設定ミスという人的ミスだった。
このコードはすぐにGitHubで広まり、ある開発者がPythonに書き直して再公開した(後述)。この事件を通じて、普段ブラックボックスだったClaude Codeの内部がかなり見えるようになった。
この記事では、その流出事件の経緯と、そこから明らかになったClaude Codeの仕組みを、専門外の人にもわかるように説明します。
何が起きたのか
原因:.mapファイルの混入
Claude Codeはnpm(Node.jsのパッケージ管理ツール)経由で配布されている。
開発者が本番リリース用のパッケージを作るとき、ソースコードは「難読化・圧縮」された状態で配布するのが一般的だ。元のコードをそのまま出すとロジックが丸見えになるため、わざと読みにくい形式に変換する。
問題になったのは.mapファイルだ。これは開発者向けのデバッグ用ファイルで、難読化されたコードと元のソースコードを対応付ける「翻訳表」のようなものだ。本来は開発環境の内部だけで使うもので、外部に配布するパッケージには含めないのが常識だ。
このファイルをビルドスクリプトから除外する設定が1行抜けていた。それだけでClaude Codeの全ソースコード(約59.8MBのTypeScript)が誰でも閲覧できる状態で公開配布されてしまった。
拡散の速度
流出を最初に発見したのはSolayer Labのインターン、Chaofan Shou氏(X: @Fried_rice)。発見を報告したポストは数千万回以上表示された。
コードはすぐにGitHubにミラーされ、数千のフォークが作られた。AnthropicがDMCA(著作権侵害削除要請)を送り始めた頃には、すでにインターネット全体にコードが広まっていた。
Python書き直し事件
ここからが面白い展開だ。
GitHubのrealsigridjin(Sigrid Jin)氏は、元のTypeScriptコードをDMCAで削除された直後、AIエージェント(oh-my-codex)を使って数時間でPythonに書き直し、別リポジトリとして公開した。これが著作権上の「クリーンルーム実装」として機能し、DMCAが通りにくい状態になった。
著作権法は「表現」を保護するが、「アイデア・機能・アルゴリズム」は保護しない。別言語への書き直しは、法的にグレーゾーンながら現実的にはDMCA削除が難しい。このPython版は今も存在し、GitHub史上最速クラスで3万スターを獲得した。
Anthropicは「顧客データや認証情報は含まれていなかった」と声明を出し、流出が本物であることを認めた。
流出で明らかになったClaude Codeの仕組み
Claude Codeは何を動かしているのか
流出したのは「AIモデルの重み(いわゆるAIの脳)」ではない。そこが重要だ。
あるサイバーセキュリティの専門家はこう表現している。流出したのはAIに実際の能力を与える「ハーネス(馬具)」だ。馬(AIモデル)本体は流出していないが、馬に乗るための装備一式が見えてしまった、という意味だ。
このハーネス部分こそが、「ClaudeというAIモデルを、コーディングエージェントとして実際の仕事に繋ぐ仕組み」だ。
11ステップのエージェントループ
Claude Codeが「指示を受けて→考えて→行動する」を繰り返す仕組みは「エージェントループ」と呼ばれる。流出コードから、このループが11ステップで構成されていることが明らかになった。
普通の言葉で説明するとこうなる。
① ユーザーから指示を受ける
② 現在の状況を把握する(ファイル構成、過去のやり取り等)
③ どのツールを使うか決める
④ ツールを実行する(ファイルを読む/書く/コマンドを動かす等)
⑤ 結果を受け取る
⑥ 目標が達成されたか確認する
⑦ 達成されていなければ③に戻る
⑧ 達成されたらユーザーに結果を返す
⑨ 次の指示を待つ
...(以下繰り返し)
「コードを修正して」という指示を1回出すと、Claude Codeはこのループを何十回も回しながら作業を進める。ユーザーが1回指示を出した後、しばらく放っておけるのはこの仕組みがあるからだ。
52個のツール
Claude Codeが使えるツールの完全なリストが判明した。大きく8カテゴリに分かれている。
ファイル操作系
-
FileRead:ファイルを読む -
FileEdit:ファイルの一部を書き換える -
FileWrite:新しいファイルを作る -
Glob:特定パターンのファイルを一覧取得 -
Grep:ファイル内を検索
コード実行系
-
Bash:ターミナルコマンドを実行する -
Computer:GUIを操作する(クリック・入力)
Web・情報取得系
-
WebFetch:ウェブページを取得して読む -
WebSearch:検索する
プロジェクト管理系
-
TodoRead/TodoWrite:タスクを記録・管理する
このツール群を組み合わせて、Claude Codeは「コードを読む→問題を特定→修正案を生成→ファイルを書き換える→テストを実行→結果を確認」という一連の流れを自律的に行う。
未発表だった機能
流出コードには、まだリリースされていない機能フラグも含まれていた。
Proactiveモード(KAIROS)
ユーザーが指示を出さなくても、AIが自律的にプロジェクトの改善点を見つけて作業を進めるモード。「放っておくと勝手にコードが良くなっている」という世界を目指している。
怒り・フラストレーション検知
ユーザーのメッセージからキーワードパターンで感情状態を読み取り、対応のトーンを変える機能。ユーザーが苛立っているとき、柔らかいトーンに切り替えるといった用途が想定される。
/buddy機能
たまごっちのようなコンパニオン機能。長時間の開発セッションで、AIが会話相手として機能するような実験的な機能。
この事件から何がわかるか
ユーザーデータの流出はなかった
最初に強調しておくべきは、今回の流出にユーザーのデータや認証情報は含まれていなかったということだ。Anthropic自身も声明でこれを認めている。「怖い流出事件」として語られることがあるが、直接的なユーザー被害はなかった。
「偽の流出コード」に注意
一方で、この事件を悪用したマルウェアが出回ったことは注意が必要だ。「流出したClaude Codeのソースコード」を謳ったGitHubリポジトリの中に、認証情報を窃取するスティーラーマルウェアが混入していた事例が報告されている。話題性のある事件を使った攻撃は必ず出てくる。出所不明のリポジトリは実行しないことが鉄則だ。
ハーネスはオープンになっても、AIそのものは出ていない
流出で明らかになったのは「ツールの連携方法」や「エージェントループの構造」であり、Claudeというモデル自体(数百億のパラメータ)ではない。AIの「賢さ」の源泉は流出していない。
ある専門家は「実害というよりは恥ずかしい失態」と表現したが、適切な言い方だと思う。ビルドミスという初歩的なオペレーションミスが、これだけの規模の情報露出につながった。
まとめ
Claude Codeは「AIモデル」と「現実のPC操作」を繋ぐオーケストレーション層で動いている。今回の流出でその構造が公になった。
難しい話をまとめると、こうなる。
- Claude Codeは「考える部分」(Claudeモデル)と「動かす部分」(エージェントループ+52ツール)が分かれている
- 「動かす部分」の設計図が今回流出した
- 「考える部分」は流出していないので、Claudeそのものの能力は変わらない
- ユーザーへの直接的な被害はなかったが、偽流出コードによるマルウェアには注意が必要