Claude Codeソースコード流出:ダサいけど致命的ではない、けれど本当に怖いのは別の話
2026年3月末、AIコミュニティに立て続けにニュースが駆け巡りました。AnthropicのCLIツール「Claude Code」のソースコードが、npmパッケージに含まれていた .map ファイルを通じて丸ごと流出。さらに同時期、CMSの設定ミスにより未公開の新モデル「Mythos」の情報まで外部に漏れ出しました。X(旧Twitter)では「$380bの企業がまさか」という声があふれかえり、Redditは大喜利状態になり、GitHubにはミラーリポジトリが乱立しました。
でも冷静に考えると、これは本当に「大事件」だったのでしょうか。それとも、騒動の裏側にもっと深刻な問題が隠れていたのでしょうか。
Q. 何が流出したのですか? Claude CodeというCLIツールのTypeScriptソースコード約51万行と、「Capybara/Mythos」という新モデルのドラフトブログ記事です。モデルの重みやバックエンドのロジックは含まれていません。なお、それぞれ別日に発生しています。
Q. なぜ流出したのですか? ソースコードはnpmパッケージにソースマップファイルが混入していたためで、新モデル情報はCMSの設定ミスで未公開データが誰でも検索できる状態になっていたためです。いずれもハッキングではなく、人的ミスです。
Q. 本当に深刻なのは何ですか? Claude Code自体の流出より、ほぼ同時刻に発覚したaxiosへのサプライチェーン攻撃のほうがはるかに深刻です。この記事ではその全体像を読み解きます。
1. 流出の経緯:2つの「やらかし」が重なった1週間
実はこの「流出騒動」は1件ではなく、時期の近い2件が重なっています。
先に起きたのは、AnthropicのCMS(コンテンツ管理システム)の設定ミスによる未公開情報の流出です。2026年3月27日前後、約3,000件の未公開アセットが誰でも検索・閲覧できる状態になっていました。ケンブリッジ大学のAlexandre Pauwels氏とLayerX SecurityのRoy Paz氏が露出データを確認し、Fortuneが内容をレビューしたうえでAnthropicに連絡。同社がアクセスを遮断するという流れになりました。流出したアセットの大半はブログ用の画像やロゴでしたが、その中に「Mythos」という新モデルに関するドラフトブログ記事が含まれていました。Anthropicはこれを「human error(人的ミス)」と公式に認めています。
そのわずか数日後、3月31日早朝(UTC)に話題になったのが、Claude Codeのnpmパッケージにソースマップファイル(.map ファイル)が混入していたことによるソースコードの流出です。バージョン2.1.88のパッケージに59.8MBの .map ファイルが含まれており、Solayer LabsのインターンChaofan Shou氏がXでこれを報告しました。数時間のうちにGitHubにミラーが乱立し、何千人もの開発者がコードを解析し始めました。
ここで重要な事実があります。コミュニティの指摘によれば、実はこれは2回目です。2025年初頭にも同様のソースマップ流出が報告されており、その際は修正されていました。同じミスを繰り返したこと自体は、率直に言ってダサい。ビルドパイプラインのガバナンスとして改善の余地があるのは明らかです。
2. ソースコードの中身:タマゴッチとダックと、意外にまともなアーキテクチャ
コードを掘り起こした人たちが発見した内容は、技術的に興味深いものとコミカルなものが入り混じっていました。
最も話題になったのは /buddy というペットシステムの実装です。ユーザーIDに基づいてASCIIキャラクターが生成され、18種の動物(カピバラ、ドラゴン、アクソロートルなど)が存在します。レアリティはコモンからレジェンダリー(1%)まであり、DEBUGGING・CHAOS・SNARKといったステータスも設定されています。ソルト値が "friend-2026-401" であることから、4月1日のエイプリルフール向けの隠し機能だったようです。
さらにユニークな発見もありました。ペットの種名のひとつが内部モデルのコードネームと衝突したらしく、Anthropicのビルドスキャナーに引っかかることを避けるために、18種すべての名前を16進数でエンコードするという解決策が取られていました。
export const duck = String.fromCharCode(0x64,0x75,0x63,0x6b)これは "duck"(ダック)という4文字です。自社のビルドツールから "duck" という単語を隠すためだけに、16進数エンコードを採用しているわけです。
ただし、笑い話ばかりではありません。技術者のKenn Ejima氏(@kenn)はXへの投稿で、流出コードから得られた重要なポイントを整理しています。彼が特に注目したのは、「ソースコードのコメントが明らかに人間向けではなく、LLMがコードの目的を理解するためのものになっている」という点です。コード補完の時代、エンジニアの多くがLLMの残すコメントの多さを嫌っていましたが、Claude Codeのコードベースでは逆にそれが積極的に活用されています。これは AGENTS.md や CLAUDE.md ファイル以外でコードにコンテキストを提供する巧みな方法だと氏は評価しています。
氏はまた、「プロンプトがソースコード内に含まれていること自体が意外だ」とも指摘しています。秘匿性はサーバー側でしか担保できないというセキュリティの常識からすれば確かに緩い感じもしますが、裏を返せば、プロンプトはそれほど重要なIPではないという認識なのかもしれません。CLIツールに予想以上に多くのプロンプトが含まれている一方、サーバー側で追加されるプロンプトがまだたくさんある可能性もあり、全体像は現時点では不明です。
Justin Schroeder氏(@jpschroeder)も同様の観察を共有しており、全体的な感想として「エージェントが効果的に作業できるよう慎重に整理された、本当にうまくレイアウトされたコードベースだ」と述べています。直接的な人間の介入は最小限だが、すべての良いプロジェクトと同じく、人間のエンジニアリングの跡ははっきり見えるとのことです。
そのほかに確認された主な要素としては、ユーザーがClaude Codeを罵倒した回数を計測するテレメトリ(ユーザーのフラストレーション計測用)、"continue" "keep going" の入力頻度を追跡する仕組み(モデルが中途で止まる頻度の計測用)、そしてコードネーム「tengu」で統一された内部命名規則(機能フラグは tengu_cobalt_frost のような宝石名で管理)などがあります。
秘匿性はサーバー側でしか担保できないというセキュリティの常識からすると、たしかに緩い感じもしますが、プロンプトはそれほど重要なIPではないという認識なのでしょうね
— Kenn Ejima (@kenn) March 31, 2026
——
Claudeのソースコードから得られた重要なポイント:
1. Claude… https://t.co/cH2jduWc0k
Important takeaways from Claude’s source code:
— Justin Schroeder (@jpschroeder) March 31, 2026
1. Much of Claude Code’s system prompting is in the source code. This is actually surprising. Prompts are important IP, and I would have thought a sophisticated organization like Anthropic would have performed much or all of their…
3. Undercover Mode:AI帰属の隠蔽は悪なのか
今回の流出で物議を醸したもうひとつの発見が「Undercover Mode」です。Anthropicの社員がオープンソースリポジトリに貢献する際、AIであることの痕跡をコミットメッセージから消去するよう指示するシステムプロンプトが含まれていました。内部モデルのコードネームやAI帰属の情報を公開gitログに残さないための仕組みです。
これに対して「AIが書いたコードなら開示すべきだ」という批判が出るのは自然な反応でしょう。オープンソースコミュニティの透明性の原則に反するという指摘にも一理あります。
ただ、もう少し実務的な視点で考えてみると、話はそう単純でもありません。「AIが書きました」とコミットメッセージに書いた瞬間、コードの中身とは無関係な論争が発生するのは容易に想像できます。大事なのは、何がコミットされて、どう改善されたかであって、それを誰(あるいは何)が書いたかは本質ではないはずです。企業がAIツールを使って自社のオープンソースプロジェクトに貢献するケースは今後も増える一方でしょうし、その都度「AI製です」と宣言することの実益がどれだけあるかは、正直まだコミュニティとしてのコンセンサスが定まっていません。
とはいえ、透明性に欠けること自体は事実です。少なくともAnthropicが自社の方針として「AI帰属を積極的に隠す」仕組みを持っていたことは、今後議論の対象になるでしょう。
🔗Claude Code's source code appears to have leaked: here's what we know(VentureBeat)
4. Capybara(Mythos):最強モデルの「お漏らし」
CMSから流出した情報によると、Anthropicは「Capybara」という新しいモデルティアを開発中です。Opusの上に位置する第4のティアに属するモデルが「Mythos」で、ドラフトブログ記事によればコーディング・学術的推論・サイバーセキュリティの各テストでClaude Opus 4.6を大幅に上回るとされています。Anthropicも存在を認め、「step change(段階的変化)」と表現しています(開発名なのか、そのようなティアにするのか、はたまた同じモデルかは執筆時点ではっきりしていません)。
ここで見逃せないのは、流出したソースコード内にCapybara v8の開発コメントが含まれていたことです。VentureBeatの報道によれば、v8の虚偽主張率(false claims rate)は29〜30%で、v4の16.7%から大幅に悪化しているとのこと。ただし、これは開発中のスナップショットにすぎません。リリース時には改善される可能性は十分にありますし、むしろこうした指標を正直にコード内で追跡していること自体は、健全な開発プラクティスの証拠とも言えます。
そして今回最大の皮肉は、やはりこれでしょう。ドラフトブログには「このモデルは前例のないサイバーセキュリティリスクをもたらす」と書かれていました。サイバーセキュリティ最強のモデルを、自社CMSの設定ミスで漏らす。説明は不要です。
5. ソースコードの「汚さ」について
main.tsx が約80万バイト・4,683行の一枚岩ファイルであったり、ESLint無効化コメントが460個あったり、_DEPRECATED と名付けられた関数が50個以上も現役で呼び出されていたりと、コードの「雑さ」を指摘する声は多く上がりました。
ただ、Redditのコメント欄で経験豊富な開発者が指摘しているように、これは大規模コードベースでは珍しいことではありません。あるユーザーは「実際に大規模なコードベースをメンテした経験のある人間として言うが、これは非常に普通のことで、"unhinged" と呼ぶのはフェアではない」と述べています。別のユーザーは「あらゆる企業にコードの問題、技術的負債、ひどいコメント、ひどい関数がある。1,000人のエンジニアが1つのコードベースで働いていて、全員が優秀だと思うか?」と指摘しています。
Claude Codeはかなり初期のClaudeモデルからバイブコーディングで作られ始め、そのまま猛スピードで進化してきた経緯があります。スタートアップが競合と激しく戦いながらプロダクトを作れば、こうなるのはむしろ自然なことです。そして先述の通り、コメントの書き方がLLM最適化されているという発見は、従来の「人間が読む綺麗なコード」という基準自体が変わりつつあることの象徴かもしれません。
そもそも、「コードが汚い」という議論自体が、近い将来には意味を失うかもしれません。人間がプログラム実行時のメモリ番地を逐一追跡しないのと同じように、ソースコードもAIが読めれば十分で、人間がそれを把握すること自体が無駄になる時代が来る可能性があります。かつてアセンブラの時代にはプログラマがレジスタを直接管理していましたが、高級言語とコンパイラの成熟によって「その層は人間が見なくていい」というコンセンサスが生まれました。ソースコードという層でも同じ抽象化が起きるなら、コードの「綺麗さ」は人間の美意識ではなくAIの解釈精度で測られるようになるでしょう。
さらに突き詰めれば、「保守」という概念そのものが消える未来も想像できます。既存のコードを読んで修正するのではなく、要件定義だけを残しておいて、AIが都度ゼロからコードを生成する。コンパイラがソースコードから毎回バイナリを生成するのと構造的には同じことです。技術的負債という概念自体が、人間がコードを継続的に読み書きするという前提に依存していることを考えると、その前提が崩れればNetscapeの「全面書き直し」の教訓すら過去のものになるかもしれません。
もちろん、現時点ではまだ現実的とは言えません。AIがコードを「正しく」読み書きすることへの信頼は、コンパイラほどには確立されていません。今のところ、AIにとっての可読性と人間にとっての可読性はかなりの部分で重なっていて、意図が明確で構造が一貫したコードは、どちらにとっても読みやすい。だからこそClaude Codeのコードベースで人間向けの「綺麗さ」は捨てつつもAI向けの「読みやすさ」は確保するという戦略は、この過渡期において理にかなっているのです。
6. 本当に怖い話:axiosサプライチェーン攻撃
ここまでClaude Codeの流出について語ってきましたが、実はほぼ同時刻に発覚した、はるかに深刻なインシデントがあります。Claude Code流出の陰に隠れがちですが、こちらこそ多くの開発者が注意すべき話です。
2026年3月31日、JavaScriptエコシステムで最も広く使われているHTTPクライアントライブラリ「axios」(週間ダウンロード数約1億回)の主要メンテナーのnpmアカウントが乗っ取られ、悪意あるバージョン(1.14.1および0.30.4)が公開されました。これらのバージョンには plain-crypto-js という偽の依存関係が注入されており、npm install を実行するだけでクロスプラットフォーム対応のリモートアクセス型トロイの木馬(RAT)が自動的にインストールされる仕組みになっていました。
StepSecurityはこれを「npmパッケージに対するこれまでで最も洗練されたサプライチェーン攻撃のひとつ」と分類しています。攻撃の巧妙さは際立っていて、18時間前にクリーンなバージョンを先行公開してnpmのキャッシュに浸透させ、3つのOS向けペイロードを事前に準備し、1.xと0.xの両方のリリースブランチを39分以内に汚染し、実行後はマルウェア自身が痕跡を消去して「クリーンな」package.jsonに置き換えるという徹底ぶりです。
Claude Codeはaxiosを依存関係として使用しています。VentureBeatの報道によれば、3月31日の00:21〜03:29 UTCの間にnpm経由でClaude Codeをインストールまたは更新したユーザーは、悪意あるaxiosを取り込んだ可能性があります。ただし、これはClaude Codeの .map 混入とは独立した別件です。axiosという外部ライブラリが攻撃を受けたのであって、Claude Code固有の問題ではありません。
しかし、この2つの事象がほぼ同時に起きたことは偶然として片付けるには気になるタイミングではあります。便乗攻撃なのか、まったくの偶然なのか(まあ、偶然だと思いますが)。Wiz社の研究者によれば、暗号通貨マイニングやランサムウェアの痕跡がないことから、金銭目的ではなくスパイ活動やAPT(高度持続的脅威)の可能性が示唆されています。
Felipe Demartini氏(@namcios)はXへの投稿で、これは単にaxiosの問題ではなくnpmエコシステム全体の信頼モデルに関わる問題だと指摘しています。長期間有効なトークン、侵害されたアカウント、公開プロセスに2要素認証がないこと。lockfileなし、バージョン固定なし、--ignore-scripts なしで npm install を実行するバイブコーディングの時代が、目覚ましの呼び鈴を受け取ったのだと。
🔗Axios Supply Chain Attack Pushes Cross-Platform RAT(The Hacker News)
🚨 ISSO É MUITO GRAVE
— Felipe Demartini (@namcios) March 31, 2026
A biblioteca HTTP mais usada do JavaScript inteiro. 100 milhões de downloads por semana.
E ontem à noite alguém sequestrou a conta do principal mantenedor.
Publicou um trojan de acesso remoto para milhões de desenvolvedores.
A StepSecurity classificou… https://t.co/29zt2YYq2A pic.twitter.com/yUmVB7UGa4
7. 「大事件」だったのか:冷静に考える
さて、最初の問いに戻りましょう。
「驚き屋」や「情報商材屋」が騒ぐ構図は、AI動画の真偽論争とよく似ています。わかった上で煽っている人と、本当に衝撃を受けている人が混在し、エンゲージメントだけが加速していく。技術的に冷静に見れば、クライアントサイドに配布した時点でソースの解析は原理的に防げません。これはソフトウェア業界の常識です。Claude Codeに至っては難読化すらほぼない状態でした。Redditのコメントでも「これは初めてではないし、バイナリは単なるバンドルされたJavaScriptだから、ソースマップがなくても常にリバース可能だった」という指摘が複数あります。
VentureBeatはClaude Codeの年間経常収益を約25億ドル、その80%がエンタープライズ顧客と報じており、流出を「知的財産の戦略的出血」と表現しています。競合にアーキテクチャの設計図を渡したことの意味は確かにゼロではないでしょう。3層メモリアーキテクチャ、44個のフィーチャーフラグ、未公開のロードマップは、競合にとって参考になる情報です。
ただ、手元にあるソフトウェアを解析することは、著作権を気にしない相手であればすでにやっていたはずです。ソースマップがあれば楽になりますが、なくてもできたことです。そして最も大事なモデルの重み、バックエンドのロジック、顧客データなどは何も流出していません。
OpenAIは組織的な混乱が続いていますし、GoogleのCLIツールも評判が芳しくありません。Anthropicにとって「ダサいミス」であることは間違いありませんが、直ちにブランドが毀損される事態かと言えば、そこまでではないでしょう。競合他社や、著作権を気にしない勢力に塩を贈る結果になった面はあるかもしれませんが、クライアントサイドのCLIツールという性質上、影響は限定的です。
むしろ本当に心配すべきは、axiosのサプライチェーン攻撃のほうです。こちらはAnthropicとは無関係ですが、npmエコシステムの構造的な脆弱性を突いた攻撃であり、Claude Codeに限らずあらゆるJavaScriptプロジェクトに影響しうる問題です。週間1億ダウンロードのライブラリが、メンテナーのアカウント乗っ取りひとつで武器化される。この事実のほうが、ソースコードの流出よりもはるかに根深い問題を提起しています。
まとめ
今回の騒動を総括すると、Claude Codeのソースコード流出とCMSの設定ミスは「恥ずかしいミス」ではあっても、技術的な実害はかなり限定的です。真に危険なもの(モデルの重み、バックエンド、顧客データ)は何も漏れていません。
Anthropicにとっての痛手は、技術的なダメージそのものよりも、「サイバーセキュリティ最強モデルを作る会社が設定ミスで漏らす」というナラティブがIPO準備期間と重なっていることでしょう。ただし、流出コードの中身を冷静に見れば、エージェント最適化されたアーキテクチャ、正直な開発指標の追跡、そしてエンジニアの遊び心も含めて、むしろ「ちゃんと戦っているスタートアップ」の姿が見えてきます。
そして今回改めて浮き彫りになったのは2つの事実です。ひとつは「クライアントに配布したソフトウェアは原理的に解析できる」という基本的な常識。もうひとつは「npmエコシステムの信頼モデルが現在の脅威に対して脆弱である」という、はるかに深刻な構造的問題です。騒動の派手さに流されず、何が本当に重要な話なのかを見極める目が、これからますます求められていくのではないでしょうか。
