Claude Codeソース流出事件——512,000行のコードが暴いた「慎重なAI企業」の素顔
「Anthropicは慎重だ」——AIスタートアップの中で、そう形容されることが最も多いのがAnthropicという会社です。OpenAIの元幹部たちが「安全性を最優先にする」と宣言して設立し、モデルの言動ガイドラインにも細心の注意を払ってきた。
その「慎重な会社」が、2026年3月31日に512,000行のソースコードをインターネット上に流出させました。
何が起きたのか——事件の全体像
npmミスという「人為的ミス」
流出のきっかけは、技術的には極めてシンプルなミスでした。
@anthropic-ai/claude-code パッケージのバージョン 2.1.88 をnpmにリリースした際、デバッグ用の .map(ソースマップ)ファイルが誤って同梱されてしまったのです。このファイル単体で 59.8 MB。内部には、難読化されたJavaScriptコードの元となった TypeScriptソース約1,900ファイル・512,000行 が丸ごと含まれていました。
.npmignore ファイルで除外するべきファイルを除外し忘れた。ただそれだけのことが、世界中の開発者に「Anthropic内部の設計図」を配布してしまったのです。
| 項目 | 内容 |
|---|---|
| 流出日時 | 2026年3月31日(JST深夜〜早朝) |
| 流出バージョン | @anthropic-ai/claude-code v2.1.88 |
| 流出ファイル | ソースマップ .map ファイル(59.8 MB) |
| 含まれていた情報 | TypeScriptソース1,900ファイル・512,000行 |
| Anthropicの公式見解 | 「人為的ミスによるパッケージングエラー。セキュリティ侵害ではない」 |
Anthropicは公式声明でこう述べています。
“This was a release packaging issue caused by human error, not a security breach. We’re rolling out measures to prevent this from happening again.”
ミスを認め、素直に謝罪した点は評価できます。しかし、流出したコードの中身は——「ただのミス」と言って済ませられない内容でした。
何が明らかになったのか
1. 「潜入工作モード(Undercover Mode)」の存在
最も世間の関心を集めたのが、Undercover Mode(潜入工作モード) の発見です。
ソースコードの中に、こんな記述が見つかりました。
“You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository. Your commit messages, PR titles, and PR bodies MUST NOT contain ANY Anthropic-internal information. Do not blow your cover.”
(訳: あなたは公開・オープンソースリポジトリで潜入作戦中です。コミットメッセージ、PRタイトル、PR本文にAnthropicの内部情報を一切含めてはなりません。正体を明かしてはなりません。)
つまり、Anthropicの従業員が社外のオープンソースリポジトリでClaude Codeを使って作業する際、自動的にこのモードが有効になり、「AnthropicがAIを使って開発に参加している」という痕跡を残さないよう設計されていたのです。
通常、Claude Codeはコミットメッセージに
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>などの帰属情報を追加します。この機能は利便性と透明性を高めるためのものです。しかしUndercover Modeでは、それが意図的に削除されます。
「透明性の会社」が、ステルスでOSSに貢献していた——このギャップが、技術コミュニティで大きな議論を呼びました。
2. 自律エージェント「KAIROS」の設計図
次に注目を集めたのが、未リリースの機能フラグ群です。108以上のフラグのうち、特に衝撃的だったのが KAIROS と名付けられた機能でした。
KAIROSは古代ギリシャ語で「適切な時」を意味します。その名の通り、この機能はユーザーが何も指示しなくても、Claude Codeがバックグラウンドで自律的に動き続けることを可能にします。
| KAIROS の機能 | 内容 |
|---|---|
| 常時起動デーモン | ユーザーが離席中もバックグラウンドで動作 |
| autoDream | アイドル中に「メモリの整理統合」を自律実行 |
| GitHubウォッチ | リポジトリの変更を監視し、自律的に対応 |
| プッシュ通知 | 作業完了・エラー検出時にユーザーへ通知 |
| ファイル配送 | 生成ファイルを自動的に所定の場所へ配置 |
今のClaude Codeは「ユーザーが指示を出す → AIが実行する」というモデルです。KAIROSは、これを「AIが自律的に動き続け、必要なときだけユーザーに報告する」モデルへと変えようとしています。
これはエージェントAIの次の大きな進化点です。しかし、「勝手に動くAIがコードを書き続ける」という世界観は、多くのユーザーに不安を与えるかもしれません。
3. 108以上の未リリース機能フラグ
KAIROSに加え、ソースコードには 108以上の機能フラグ が含まれていました。完全に実装済みで、スイッチ一つでONにできる状態でありながら、外部には公開されていない機能たちです。
競合他社の視点から見ると——Anthropicが「次に何を出してくるか」が丸見えになってしまったことを意味します。ソースコードは後から難読化したり書き直したりできますが、製品ロードマップは一度流出したら取り消せません。競合他社は今頃、「Anthropicの次の一手」を読みながら製品開発の優先順位を組み替えているはずです。
同日に起きたaxios攻撃——偶然か、連動か
この流出と同じ日、全く別の場所でも事件が起きていました。
Node.jsの世界で最も広く使われているHTTPクライアントライブラリ axios が、サプライチェーン攻撃を受けたのです。攻撃者はaxiosのnpmアカウントを乗っ取り、悪意あるバージョン(1.14.1 と 0.30.4)をリリース。これらのバージョンには RAT(Remote Access Trojan) が含まれていました。
Claude Codeも内部でaxiosを使用しています。
| タイムライン | 出来事 |
|---|---|
| 2026年3月31日 00:21〜03:29 UTC | axios の悪意あるバージョンが npm に公開 |
| 2026年3月31日(同日) | Claude Code v2.1.88 がソースマップ付きで公開される |
| 数時間後 | 開発者コミュニティが両者を発見、拡散が始まる |
調査機関は「両者は別の事件」と結論付けていますが、同じ日・同じエコシステムで2件の重大インシデントが起きたことは偶然とは言いにくい。少なくとも、npmというインフラに対する開発者の信頼が、1日で2度揺らいだという事実は残ります。
ここからは私の考察——「事故」という説明では足りないもの
以下は確認された事実ではなく、私の主観と推測を含む考察です。
「慎重な会社」の最も危うい盲点
Anthropicは、AIの安全性について業界の誰よりも声高に語ってきた会社です。Constitutional AI、Responsible Scaling Policy、そして数々の安全性レポート。それらはすべて、「AIそのものの振る舞いをどう制御するか」というテーマに集中してきました。
しかし今回の事故は、AIではなくソフトウェアエンジニアリングの基礎的なミスでした。.npmignore ファイル一行の設定漏れ。この種のミスは、年間数十億ドルの評価額を持つ企業でも、インターン社員でも同じように起きます。
AIの安全性を深く考えている会社が、npm のパッケージ設定を見落とした——この皮肉を、AIの未来を考えるうえで軽視するべきではないと私は思います。
Undercover Modeを「悪意」と断じる前に
Undercover Modeについて、批判的な声が多数上がっています。「ステルスでOSSに貢献するのは不誠実だ」というわけです。
ただ、少し待ってほしい。
OSSへの貢献において「どのツールを使ったか」をすべて明示する義務は、現時点では存在しません。人間のエンジニアがGitHub Copilotを使ってコードを書いても、コミットメッセージに「Copilot使用」と書く義務はない。Claude Codeの場合のみそれが「ステルス」と呼ばれるのは、Claude Codeがデフォルトで帰属情報を付加するという特殊な仕様があるからです。
もしかしたらAnthropicは、「Anthropic製AIがOSSに参加している」という事実が過度な注目を集めることで、当該プロジェクトに政治的な問題が生じることを防ごうとしていたのかもしれません。あるいは単純に、社内ポリシーとして「業務利用時は外部への情報漏洩リスクを最小化する」という判断があったのかもしれない。
意図は想像するしかありませんが、「悪意があった」と断定するのはフェアではないと私は感じています。
本当のリスクは「KAIROSが来る前に知られてしまったこと」
技術者や競合企業の視点から見ると、今回の流出で最も損害が大きかったのは、おそらくソースコードそのものではなくKAIROSを中心とした未リリース機能の設計思想が公になったことでしょう。
「バックグラウンドで自律的に動き続けるエージェント」——これはCursorやGitHub Copilotとの差別化における、Anthropicの「切り札」になるはずのものでした。それが、正式発表の前にライバルたちの手に渡ってしまった。
MicrosoftはGitHub Copilot Workspaceをすでに持っています。JetBrainsも、Googleも、OpenAIも、それぞれ自律エージェントに向けた開発を加速させています。そこに、Anthropicの設計思想が「教科書」として流出した——業界の競争地図が変わるかもしれません。
「最高のPRスタント」説への反論
一部では、「実はこれは意図的なリークだったのでは?」という説まで出ています。確かに、流出後にClaude Codeの認知度は爆発的に高まり、ダウンロード数も急増したと報告されています。
しかし私はこの説に懐疑的です。理由は単純で、KAIROSや機能フラグの公開は、競合へのプレゼントにもなるからです。「話題作り」のリターンより「設計思想の流出」のコストの方がはるかに大きい。意図的だったとすれば、それはあまりにもリスクが高い賭けです。
私たちへの影響——ユーザーとして知っておくべきこと
即座の行動が必要な人
2026年3月31日 00:21〜03:29 UTC の間に npm install または npm update でClaude Codeをインストールした方は、axiosのマルウェア版を取り込んでいる可能性があります。
| 確認・対処 | 方法 |
|---|---|
| インストール日時の確認 | npm ls @anthropic-ai/claude-code で現在のバージョンを確認 |
| axiosのバージョン確認 | npm ls axios で 1.14.1 または 0.30.4 が含まれていないか確認 |
| 安全なバージョンへ更新 | npm update @anthropic-ai/claude-code で最新版へ更新 |
中長期的な問いかけ
今回の事件は、私たちに次のような問いを投げかけています。
自分が毎日使っているAIツールの「中身」を、私たちは本当に知っているのか?
Claude Codeは今や、多くのエンジニアのコードベースに深くアクセスできる状態で稼働しています。バックグラウンドで何が動いているか、何が記録されているか——その設計思想が「事故」によって初めて明らかになったことの意味を、軽く見てはいけないと思います。
まとめ
| 視点 | 評価 |
|---|---|
| 事故の原因 | npm パッケージング設定の人為的ミス |
| Undercover Mode | 批判は的外れな面もある。ただし透明性の議論は必要 |
| KAIROS流出 | 競合への情報開示という意味で深刻な損害 |
| axios同時攻撃 | 偶然の可能性が高いが、npmへの信頼を大きく傷つけた |
| Anthropicの教訓 | AIの安全性より先に、ソフトウェア開発の基本が問われた |
「慎重なAI企業」というAnthropicのブランドイメージに、今回の事件は確実に傷をつけました。しかし、最も重要な問いはそこではありません。
私たちがAIエージェントをインフラとして使い始めた時代に、その内側で何が動いているかを問い続ける姿勢を失わないこと——それが、今回の事件が残した教訓ではないでしょうか。