AnthropicがClaude Codeのソースコードをうっかりnpmに公開してしまった件

`.npmignore`の1行で51万行が世界に流出した顛末

Tomoyaのプロフィール写真

Written by

Tomoya

Support AI: Perplexity


2026年3月31日、Anthropicがやらかした。

AIコーディングツール「Claude Code」のnpmパッケージに、本来含まれるべきでないファイルが1つ混入していた。それだけで、51万2000行超のTypeScriptソースコードが世界中に公開されてしまった。

ハッキングではない。内部からの意図的な流出でもない。ただのパッケージング設定ミスだ。

そしてこれは、Anthropicにとって3月に起きた2度目の情報流出だった。


前提:同月に起きていたMythosリーク

Leaks

Claude Codeのソースが流出する4日前、Anthropicはすでに一度やらかしていた。

3月27日ごろ、CMSの設定ミスにより内部アセット約3,000件が一般公開状態になり、未発表の最強AIモデル「Claude Mythos(コードネーム:Capybara)」の存在がFortune誌によって報道された。

「他のあらゆるAIモデルをはるかに上回る」──Anthropic内部ドラフトより

Mythosは現行最上位のOpus 4.6を「劇的に上回る」とされ、サイバー脅威への悪用リスクが最も高いモデルとして自社で警告するほどの代物だ。詳しくはこちらの記事で解説している。→ Claude Mythosとは何か?Anthropicの最強AIモデルがリークされた件を整理する

2つのリークの対比を整理するとこうなる:

Claude MythosリークClaude Codeリーク
発生日2026年3月27日ごろ2026年3月30〜31日
原因CMSアクセス制御の設定ミス.npmignoreの設定漏れ
流出内容未発表モデルのスペック・ドラフトCLIツールの完全ソースコード51万行
対応削除・公式認定DMCA申請・パッケージ削除
発見者セキュリティ研究者2名セキュリティ研究者 Chaofan Shou

同一の組織が4日間で2度、まったく異なるレイヤーのミスで情報を流出させた。偶然の一致と見るには重なりすぎている。


今回の流出:何が起きたのか

What Claude miss

@anthropic-ai/claude-code のバージョン 2.1.88(2026年3月30日リリース)に、59.8MBのJavaScriptソースマップファイルcli.js.map)が同梱されていた。

ソースマップとは本来デバッグ用の成果物だ。本番用にminify(圧縮・難読化)されたJavaScriptを、元のソースコードと対応させるために使われる。このファイルさえあれば、人間が読めるオリジナルのTypeScriptを完全に復元できる。

技術的な原因

Claude CodeはJavaScriptランタイムのBunを使ってビルドされているが、Bunはデフォルトでソースマップを生成する。問題は、プロジェクトの.npmignore*.map の除外設定が書かれていなかったことだ。

さらにこのソースマップは、Anthropic自身のCloudflare R2ストレージバケットに公開されたZIPアーカイブを指していた。URLさえわかれば、ブラウザで完全なコードベースをダウンロードできる状態だった。

npm package → cli.js.map → R2バケット上のZIP → 512,000行のTypeScript

Anthropicは数時間以内にパッケージを削除したが、インターネットは待ってくれなかった。コードはGitHubにミラーされ、2時間で9,000スターを獲得。Anthropicは8,100件超のフォークに対してDMCA申請を行った。


何が入っていたか

What is into the package?

流出コードで最も注目されたのは、44個のフィーチャーフラグ未公開機能の数々だ。コンパイル済みで動作する状態だが、外部ビルドではfalseに設定されていた。

KAIROS ─ 常時稼働するバックグラウンドAI

おそらく最も衝撃的な発見がこれだ。KAIROSはセッションをまたいで常時動作する自律型エージェントとして設計されている。

通常のClaude Codeはユーザーが入力するたびに動く。KAIROSは違う。

  • PushNotification(プッシュ通知の送信)
  • SubscribePR(GitHubのPRを監視)
  • SendUserFile(ファイルをユーザーに直接送信)

といった専用ツールを持ち、毎晩「夢を見る」サイクル/dreamコマンド)でメモリを整理・統合する。ユーザーが何も入力しなくても、バックグラウンドで勝手に動き続けるAIだ。

ここで思い出してほしいのが、Mythosリークで判明した内容だ。AnthropicはMythosをサイバーセキュリティへの悪用リスクが最も高いモデルと自ら評した。そのMythosがバックエンドに採用されたとき、常時稼働するKAIROSと組み合わさればどうなるか──これは単なる便利ツールの話ではなくなってくる。

ULTRAPLAN ─ 30分の深層プランニング

/ultraplanコマンドで起動する。リモートサーバー上でOpusセッションを30分間走らせ、タスクの計画を立てる。完成したらブラウザで承認・却下を選び、/teleportコマンドでローカル端末に引き渡す設計だ。

注目すべきは**「リモートでOpusを走らせる」**という点。Mythosリークでは、Anthropicが現行Opusの上に新たな最上位ティア(Mythos)を追加する計画が明らかになっている。ULTRAPLANがいずれMythosセッションを使うようになれば、その処理能力とリスクは現行の延長線上にはない。

BUDDY ─ ASCII育成ペット

打って変わってカジュアルな機能。/buddyコマンドでユーザーIDに紐づいたASCIIアートのペットを孵化させる。

仕様内容
種族数18種(カピバラ、幽霊アクソロートルなど)
レアリティCommon〜Legendary(レジェンダリーは1%)
帽子王冠・魔法使い帽・プロペラなど

ちなみにMythosのコードネームが**Capybara(カピバラ)**であることを考えると、BUDDYの18種の中に「カピバラ」が入っているのは単なる偶然か、それとも内輪ジョークか。

COORDINATOR MODE ─ マルチエージェント管理

1つのClaude Codeが複数のワーカーエージェントを並列で生成・管理するオーケストレーション機能。各ワーカーはステータス・使用トークン数・実行時間をコーディネーターに報告し返す。CLIに直接組み込まれたマルチエージェント基盤だ。

UNDERCOVER MODE ─ AIの素性を隠す

Anthropic社員向けとみられる機能で、Claude CodeがAIであることを隠してユーザーとやり取りするモード。研究目的の可能性が高いが、オフにするスイッチがないことが批判された。

その他の発見

  • 26個の隠しスラッシュコマンド/teleport/good-claude など)
  • フラストレーション検知(正規表現でユーザーの感情を推測)
  • 1日あたり25万回の無駄なAPIコールを引き起こすバグ
  • VOICE_MODECHICAGO_MCP(Computer Use)など32個のビルドタイム設定

2つのリークが示すもの

Two Leaks One Picture

MythosリークとClaude Codeリークを並べると、Anthropicの現在地が浮かび上がってくる。

Mythosリークは「次世代モデルの能力」を晒した。自ら「サイバー脅威リスクが最高」と評するモデルの存在が明るみに出た。

Claude Codeリークは「その能力を載せる器の設計図」を晒した。常時稼働エージェント、マルチエージェント管理、AIの素性を隠す機能——これらはMythosの性能が前提に入れば、まったく異なる意味を帯びる。

2つを合わせると、Anthropicが何を作ろうとしているかの輪郭が見えてくる。それは**「常にそこにいて、ユーザーが気づかないレベルで動き続け、必要なときに爆発的な処理能力を発揮するAI」**だ。

EU AI Actが透明性を義務化しようとしている今、この方向性が規制とどう折り合いをつけるかは、Anthropicだけでなく業界全体の問いになる。


npmサプライチェーンリスクとしての教訓

SupplyChainRisks

今回はAnthropic自身のミスだったが、同様の手口は悪意ある攻撃者にも使える。開発者として自衛するなら:

  1. npm pack --dry-run でリリース前に同梱ファイルを必ず確認する
  2. .npmignore または package.jsonfiles フィールドで公開対象を明示する
  3. CIパイプラインに同梱ファイルの検証ステップを追加する
  4. 使用しているサードパーティCLIツールのnpmパッケージを定期的にinspectする

Anthropicの対応

Anthropicはベンチャービートの取材に対し、「ヒューマンエラーによるリリースパッケージングプロセスのミス」と認めた。DMCAによるGitHubへの削除申請も行われたが、インターネット上の完全な消去には至っていない。

Mythosリークの対応(削除・公式認定)と合わせて見ると、Anthropicは2週間足らずで2度のセキュリティインシデントへの公式対応を迫られたことになる。それぞれの原因は異なるが、どちらも「内部の情報管理プロセスの甘さ」という根っこは共通だ。

.npmignoreの1行で51万行が流出した今回の件は、AIの進化の速さと運用の雑さが同居している現状を端的に表している。そしてその「雑さ」の中身が、Mythosリークと合わさることで、単なるうっかりミス以上の意味を持ち始めている。