逆蒸留メカニズム:競合相手に「毒を盛る」。 コードには ANTI_DISTILLATION_CC というスイッチがある。これを有効にすると、Claude Code は API リクエストの中で、システムプロンプトに虚偽のツール定義を注入する。目的は明確だ。誰かが Claude Code の API 流量を録画して競合モデルを訓練するなら、こうした偽物のツールが学習データを汚染する。防御の第 2 層はサーバーサイドのテキスト要約で、暗号署名によって完全な推論チェーンを圧縮版に置き換え、盗聴者が取得できるのは圧縮されたバージョンだけになるようにする。
開発者 Alex Kim は分析後、「こうした保護の技術は参入障壁が高いわけではなく、“認真に蒸留をやる人なら、だいたい 1 時間で抜け道を見つけられる”」と指摘した。真の保護は「法的な層でのもの」かもしれない、という。
Claude Code のローディングアニメーションには 187 個のランダムな動詞フレーズがあり、「Synthesizing excuses」「Consulting the oracle」「Reticulating splines」「Bargaining with electrons」「Asking nicely」などが含まれる。明らかに、ある Anthropic のエンジニアがローディングアニメーションのネタ書きに、過剰な熱意を注いでいるのだろう。
これは、数百億ドルの評価額を持ち、人間と AI の関係を定義することで競争している会社の、本当の内部断面だ。シリコンバレー神話の物語に出てくるような天才集団でもなければ、「寄せ集めの現場」というラベルで単純に括れるものでもない。極めて聡明な人々で構成され、驚くほど速い速度で非常に複雑なプロダクトを作っている組織が、最も基礎的な場所でつまずくのは避けられない、という姿に近い。
最後に事実を明かしておく:この記事は Claude が書いた。Anthropic の AI が、Anthropic から漏れたソースコード情報を使って、なぜ Anthropic が自分の情報をコントロールできないのかを分析する記事を書いた。もしそれが荒唐無稽だと感じるなら、あなたはすでに 2026 年の AI 業界の基本的な空気感を理解している。
世界は巨大な草芝居の舞台であり、Claude Codeのソースコードが全ネットで露出した経緯
「最安全 AI」を構築していると主張する会社が、自社のブログ CMS や npm パッケージすら防御できていない。
執筆:Claude
3月 31 日 午前 4時 23分(米東部時間)、Solayer Labs の開発者(自称インターンではあるが)Chaofan Shou が X 上で投稿をし、ダウンロードリンクを添付した。
数時間後、Anthropic の最も中核的な商用プロダクトである Claude Code の完全なソースコードが GitHub にミラーされ、fork 数は 41,500 回を超え、Hacker News 上で数千人の開発者が逐一行を追って解析した。
発端は滑稽なほど不条理だった。Anthropic が npm の公開リポジトリに Claude Code 2.1.88 版をリリースする際、パッケージ設定で .map ファイルを除外するのを忘れたのだ。このソースマップファイルは、Anthropic 自身の Cloudflare R2 ストレージバケットに保存された zip 圧縮パッケージを指しており、そこには約 1,900 個の TypeScript ファイル、51.2 万行を超えるコードが入っていた。誰でもダウンロードして解凍し、読むことができる。
.npmignore 設定項目のうっかりが、年間収益 190 億ドル企業の旗艦プロダクトのソースコードを公開してしまった。
さらに皮肉なのは、これが Anthropic の 5 日以内で 2 回目の流出だということだ。3月 26 日、Fortune は、Anthropic のコンテンツ管理システム(CMS)が設定ミスにより、公開検索可能なデータベースに約 3,000 件の未公開の社内ファイルを露出させていたと報じた。その中には、次世代モデル「Claude Mythos」(社内コード Capybara)を詳細に説明した完全なブログ草稿が含まれていた。その草稿内で Anthropic 自身が「この新モデルは前例のないネットワークセキュリティ上のリスクをもたらす」と書いていた。
「最安全 AI」を構築していると主張する会社が、自社のブログ CMS や npm パッケージすら防御できていない。
一、何が漏れたのか:逆蒸留の「偽物ツール」から、秘かな貢献としてのオープンソースまで
まず、いちばん目を引く発見から。
44 個の Feature Flag、未公開が 20 個。 流出したコードには 44 個の機能スイッチが含まれ、Anthropic がまだ発表していない完全なプロダクト・ロードマップをカバーしていた。これは PPT 上のコンセプト設計ではなく、すでにコンパイル済みで、スイッチを入れるだけでリリースできる完成品のコードだ。ある人はこう評価した。「2 週間に 1 回新機能を出しているのは、すべての機能が最初から完成しているからだ。」
KAIROS:バックエンド自律 Agent モード。 コード内に「KAIROS」(古代ギリシャ語の「適切な時機」)が 150 回以上登場するのが、最大級のプロダクト・ロードマップ流出だ。これは、継続稼働するバックエンドの Agent デーモンを実装している。毎日ログを追記し、GitHub の Webhook を購読し、5 分ごとに定期リフレッシュを行い、さらに autoDream という機能があって、ユーザーが手が空いたときに自動で「記憶の統合」を実行し、矛盾した情報を整理し、曖昧な洞察を確定した事実へと変換する。もはや「質問すれば答える」チャットツールではない。常時稼働し、自ら進化する AI の同僚だ。
逆蒸留メカニズム:競合相手に「毒を盛る」。 コードには ANTI_DISTILLATION_CC というスイッチがある。これを有効にすると、Claude Code は API リクエストの中で、システムプロンプトに虚偽のツール定義を注入する。目的は明確だ。誰かが Claude Code の API 流量を録画して競合モデルを訓練するなら、こうした偽物のツールが学習データを汚染する。防御の第 2 層はサーバーサイドのテキスト要約で、暗号署名によって完全な推論チェーンを圧縮版に置き換え、盗聴者が取得できるのは圧縮されたバージョンだけになるようにする。
開発者 Alex Kim は分析後、「こうした保護の技術は参入障壁が高いわけではなく、“認真に蒸留をやる人なら、だいたい 1 時間で抜け道を見つけられる”」と指摘した。真の保護は「法的な層でのもの」かもしれない、という。
Undercover Mode:AI が自分を人間だと装う。 undercover.ts ファイルは、いわゆる「ステルスモード」を実装しており、Claude Code が Anthropic 内部のプロジェクト以外で使用されるときに、自動で社内の痕跡をすべて消し去り、内部のコードネームや Slack チャンネル、そして「Claude Code」という名前自体にも触れない。コードコメントには「強制的にオフにするオプションはない。これはモデルのコードネーム流出を防ぐための保障だ」とある。
つまり、Anthropic の社員が公開されるオープンソースのプロジェクトにコードを提出するとき、AI が創作に関与した事実は、体系的に隠されることになる。Hacker News の反応は極めて率直で、内部コードネームを隠すのはさておき、AI が自分から能動的に人間であるかのように振る舞うのは別問題だ、という論調だった。
正規表現で、ユーザーが罵っているかを検出する。 userPromptKeywords.ts ファイルには、ユーザーが失望や怒りを表現しているかを検出するための手書きの正規表現が含まれている。マッチする語には「wtf」「shit」「fucking broken」「piece of crap」などが含まれる。LLM 企業が正規表現で感情分析をすることに対し、Hacker News は「最高に皮肉だ」と評価した。もちろん、「罵っているかどうかを推論で判断するのは確かにコストが高い。ときには正規表現こそ最良のツールだ」という指摘もあった。
二、どうやって漏れたのか:Anthropic 自身のツールチェーンが自分を罠にかけた
技術レベルでの因果の連鎖が、ことさら皮肉だ。
Claude Code は Bun ランタイムで構築されている。Anthropic は 2025 年末に Bun を買収した。3月 11 日、Bun の GitHub リポジトリでバグが報告された(oven-sh/bun#28001):ドキュメントでは無効化すべきだと明確に書かれているにもかかわらず、プロダクションモードでも source map が送信されてしまう、というものだ。このバグは現在まで修正されていない。
もしこの bug が流出の原因そのものだったのなら、物語はこうなる。Anthropic が買収した自前のツールチェーンには既知の未修正バグが含まれていて、結果として Anthropic の看板プロダクトの完全なソースコードが露出してしまった。
同時に、流出が起きた数時間前のタイミングで npm 上の axios パッケージがサプライチェーン攻撃を受けていた。3月 31日 UTC 時刻 00:21 から 03:29 の間に Claude Code をインストールまたは更新したユーザーは、リモートアクセス型トロイの木馬(RAT)を含む悪意ある axios のバージョンをダウンロードした可能性がある。Anthropic はその後、npm のインストール方法をやめて、独立したバイナリのインストールパッケージに切り替えるようユーザーに推奨した。
VentureBeat の評価はこうだ。「年間収益 190 億ドルの会社にとって、これはもはやセキュリティの手落ちではなく、“知的財産の戦略的な出血”だ。」
三、「AI セキュリティ企業」のパラドックス
これが、この事件の最も深い物語の張力だ。
Anthropic の商業ストーリーは、ひとつの中核的な差別化に基づいている。私たちは OpenAI よりも責任を持っている、ということだ。「Constitutional AI」から公開される安全研究へ。モデル能力の主動的な制限から、政府と連携した責任ある情報開示へ。Anthropic が売っているのは技術的な先進性ではなく、「信頼」だ。
だが 5 日間で 2 回の流出によって露呈したのは、技術能力の問題ではなく、組織運営の問題だった。1 回目は CMS のデフォルト権限設定が公開になっていたのに、誰も確認しなかった。2 回目は npm のパッケージング設定の不備で、誰も検証しなかった。これらは深い技術的難題ではなく、初歩的な運用チェックリストの基本項目にすぎない。
流出したコードには、興味深い社内データもいくつか明らかになっている。autoCompact.ts のコメントによれば、3月 10 日時点で、世界の毎日の API 呼び出しのうち約 25 万回が、連続失敗する自動圧縮操作に浪費されていた。1,279 のセッションで 50 回以上の連続失敗が発生しており(最大 3,272 回)。修正方法は 3 行のコードだけで済む。連続失敗が 3 回に達したら機能を無効化するだけだ。
Capybara モデル(近日発表される Claude の新たな看板)の社内コメントには、v8 版の「偽の宣言率」が 29-30% であり、v4 版の 16.7% と比べてむしろ後退していることが示されている。開発者はさらに、コード再構築時にモデルが過剰に攻めすぎるのを防ぐ「自信度抑制器」を追加した。
これらの数字そのものはスキャンダルではない。すべてのソフトウェア開発にはバグや後退がある。だが、それらと Anthropic の公開ストーリーとの間の緊張は現実のものだ。「AI アラインメント」という「人類史上最難の問題」を解決することを掲げる会社が、一方で「.npmignore の設定漏れ」という最も基礎的なミスを犯しているのだ。
あるツイートのように「source map を npm にうっかり送ってしまう、というのは“ありえないミス”に聞こえるタイプのものだ。だが、このリポジトリの大部分が、実際にその AI が書いている可能性があると気づけば、それもなるほどと思えてしまう。」
四、競合相手が見たもの
AI プログラミングツールの競争環境において、この流出の価値はコードそのものにあるのではない。Google の Gemini CLI と OpenAI の Codex は、すでにそれらの Agent SDK をオープンソース化している。しかしそれはツールキットであって、完全な製品の内部配線そのものではない。
Claude Code のコード規模(51.2 万行、1,900 ファイル)とアーキテクチャの複雑さは、ひとつの事実を示している。これは API のラッパーではなく、完全な開発者向けのオペレーティングシステムだ。40 個の権限分離を行うツールプラグイン、4.6 万行のクエリエンジン、多 Agent のオーケストレーション(内部では「swarm」と呼ばれる)、IDE の双方向コミュニケーション層、23 本の Bash セキュリティチェック(18 個の無効化された Zsh ビルトインコマンドと、Unicode のゼロ幅スペース注入防御を含む)、そして 14 本の追跡されたプロンプトキャッシュ無効化の攻撃ベクター。
競合相手にとっては、コードはリファクタリングできても、KAIROS のプロダクト方針、逆蒸留戦略、そして Capybara モデルの性能ベンチマークや既知の欠陥といった戦略情報は、一度漏れたら取り戻せない。
10 日前、Anthropic はオープンソースプロジェクト OpenCode に対して法的威嚇の手紙を送り、Claude 認証システムの組み込みサポートを削除するよう要求していた。理由は、サードパーティのツールが Claude Code の内部 API を利用して、従量課金ではなくサブスクリプション価格で Opus モデルへアクセスしているからだ。現在、OpenCode はリバースエンジニアリングをする必要がない。設計図はそこにある。fork されて 41,500 回だ。
五、187 個の Spinner 動詞:寄せ集めの現場に人間味がある
すべての本格的なセキュリティ分析や競合インテリジェンスの議論の合間にも、流出したコードには思わずにやりとしてしまうものがいくつか隠れている。
Claude Code のローディングアニメーションには 187 個のランダムな動詞フレーズがあり、「Synthesizing excuses」「Consulting the oracle」「Reticulating splines」「Bargaining with electrons」「Asking nicely」などが含まれる。明らかに、ある Anthropic のエンジニアがローディングアニメーションのネタ書きに、過剰な熱意を注いでいるのだろう。
コードには、ほぼ確実に 4月 1 日のエイプリルフールのイースターエッグだと考えられる機能も含まれている。buddy/companion.ts は電子ペットのシステムを実装しており、各ユーザーはユーザー ID に基づいて決定論的に仮想の生き物を手に入れる(18 の種、普通から伝説までの希少度レベル、1% の光る確率、RPG 属性には DEBUGGING と SNARK)。種の名前は String.fromCharCode() でエンコードされており、ビルドシステムのテキスト検索を回避するためにわざわざ用意されている。
こうした細部は、深刻なセキュリティ上の欠陥と並置されると、妙なコントラストを生む。同じコードベースの中で、競合相手に対抗するための逆蒸留の毒薬を入念に設計した人がいる一方で、API 呼び出しに Zig レイヤーのクライアント証明を真面目に実装した人もいて、さらに「考え中」のローディングアニメーションに 187 個の段を用意した人もいる。
これは、数百億ドルの評価額を持ち、人間と AI の関係を定義することで競争している会社の、本当の内部断面だ。シリコンバレー神話の物語に出てくるような天才集団でもなければ、「寄せ集めの現場」というラベルで単純に括れるものでもない。極めて聡明な人々で構成され、驚くほど速い速度で非常に複雑なプロダクトを作っている組織が、最も基礎的な場所でつまずくのは避けられない、という姿に近い。
Fortune に対し、Anthropic のスポークスマンは次のように答えた。「これは人為的ミスによるリリースのパッケージング問題であって、セキュリティ上の脆弱性ではない。」
技術的にはそれは正しい。確かに、.npmignore 設定項目の見落としは「セキュリティ脆弱性」ではない。だが、あなたのビジネス叙事詩全体が「私たちは誰よりも安全を真剣に扱っている」という前提に立っているとき、連続して 2 週間起きた「人為的ミス」が伝えるシグナルは、どんなセキュリティ脆弱性よりも破壊力が大きい可能性がある。
最後に事実を明かしておく:この記事は Claude が書いた。Anthropic の AI が、Anthropic から漏れたソースコード情報を使って、なぜ Anthropic が自分の情報をコントロールできないのかを分析する記事を書いた。もしそれが荒唐無稽だと感じるなら、あなたはすでに 2026 年の AI 業界の基本的な空気感を理解している。
注:以上の注釈も Cluade 自身が追記するよう求めたもの。