はじめに:「設定ファイル1行の欠落」が51万行を世界に送り出した

2026年3月31日、AnthropicのAIコーディングエージェント「Claude Code」のソースコード51万行超が、npmレジストリを通じて全世界に公開状態になった。

翌日は4月1日——エイプリルフールだ。最初にこのニュースを見た人の多くが「冗談だろう」と思ったに違いない。しかしそれは現実の悪夢だった。

ハッキングでも内部告発でもない。.npmignore*.map の1行が欠けていただけだ。

その1行の欠落が、1,900ファイル・512,000行以上のTypeScriptコードを誰でもダウンロードできる状態にした。しかも中には「未来の設計図」——未公開プロジェクト「KAIROS」「ULTRAPLAN」、AIの痕跡を隠す「Undercover Mode」、次世代モデルの内部コードネームまで含まれていた。

この事件を「Anthropicのうっかりミス」で終わらせると、本当に重要な論点を見落とす。漏れたコードが示したのは、現在のClaude Codeの設計思想だけでなく、Anthropicがどこを次の戦場と見ているかだった。そしてそれは、AIコーディングツール市場全体のスタートラインを引き直す出来事でもあった。

📌 この記事の3行まとめ
  • .mapファイルの設定ミスによりClaude Code v2.1.88に51万行のソースコードが混入・公開。AIモデル本体(重み・学習データ)は含まれず
  • 漏れたのはCLI側の「ドライビングマニュアル」——モデルを精密に動かすためのシステムプロンプト設計・ツール選択ロジックが丸ごと読まれた。未公開プロジェクト「KAIROS」「ULTRAPLAN」など将来の設計図も露出
  • 競合他社は「設計の試行錯誤フェーズ」をスキップできる状態になった。AI開発の競争環境のスタートラインが引き直された

1. そもそも「.mapファイル」とは何か——なぜ1行ミスがここまで致命的なのか

技術的な背景を知らないと「なぜこんなことになるの?」と思うはずなので、ここから整理する。

JavaScriptの「難読化」とソースマップの役割

Webアプリや npm パッケージとして配布するコードは、本番環境に出す前に 圧縮・難読化(minify) される。変数名を a, b, c に縮め、改行をなくし、人間には読めない状態にして配布する。こうすることでコードのサイズを小さくしつつ、ソースの意図を読み取りにくくする。

ところが、圧縮されたコードでバグが起きると開発者が困る。「a の42行目でエラー」と言われても、元のコードのどこに対応するのかわからない。

そこで登場するのが ソースマップ(.mapファイル) だ。圧縮後のコードと元のソースコードを「対応づける地図」として機能する。開発者はブラウザのデバッグツールでこの地図を参照することで、圧縮コードのエラーを元のファイルの何行目に当たるかで確認できる。

// 本番ビルド後(難読化済み)
function a(b){return b.map(c=>c*2)}

// ソースマップを参照すると元のソースが見える
function doubleValues(numbers: number[]): number[] {
  return numbers.map(n => n * 2);
}

ソースマップは開発・デバッグ時専用の資産だ。本番パッケージには絶対に含めない——これはWeb開発の常識であり、鉄則と言っていい。

なぜ今回、鉄則が破られたのか

Claude Code のビルドに使われていたJavaScriptランタイム「Bun」が、デフォルトでソースマップを生成する仕様になっていた。そして @anthropic-ai/claude-code をnpmに公開する際の設定ファイル(package.jsonfiles プロパティや .npmignore)に、.map ファイルを除外する1行が欠けていた。

結果として、本来は開発環境の中だけに置かれるべきソースマップが、そのままnpmに同梱されてリリースされた。

💡 技術的な再現:1行で防げた
# .npmignore に1行追加するだけで防げた
*.map

# または npm publish 前にこのコマンドで確認できた
npm pack --dry-run 2>&1 | grep ".map"

高度な侵入ではなく、設定ファイルの確認漏れ。技術的には地味な原因だからこそ痛い。

さらに今回のソースマップは sourcesContent を含む設定になっており、単に「どのファイルのどの行か」という対応関係だけでなく、元のTypeScriptコードそのものをかなりの精度で復元できる内容だった。加えてソースマップ内にAnthropicのCloudflare R2ストレージへの直接参照まで含まれており、誰でもZIPファイルをダウンロードして51万行以上の未圧縮コードを展開できる状態になっていた。

なお、同社では2025年2月にも初期バージョンのClaude Codeで同様のソースマップ漏洩が発生している。今回は2度目の事故だ。


2. 何が漏れて、何が漏れなかったのか——「エンジンは残ったが、ドライビングマニュアルが流出した」

ここが一番重要なポイントなので、まず全体像を一覧で示してから詳細に入る。

項目 流出の有無 ユーザーへの直接的リスク
AIモデルの重み(ニューラルネットワーク) なし 低(安全)
学習データ なし 低(安全)
顧客の個人データ・認証情報 なし 低(安全)
CLIの制御ロジック・システムプロンプト設計 あり 低(競合優位性の喪失)
未公開機能の設計(KAIROS・ULTRAPLAN等) あり 低(期待値の前倒し上昇)
依存ライブラリ(axios) 汚染の疑い 高(要バージョン確認)

漏れなかったもの(AIの「知性」そのもの)

AIモデルの重み・学習データ・顧客データは含まれていない。Claudeが賢い理由——ニューラルネットワークのパラメータ——は無傷だ。

  • AIモデルの重み(ニューラルネットワークのパラメータ)
  • 学習データ(Claudeを賢くするために使ったデータ)
  • 顧客の個人データ・認証情報
  • サーバーサイドのAPIロジック

ただし「無傷」という言葉には注意が必要だ。今回漏れたのは、そのモデルを精密に動かすための操縦技術——システムプロンプトの設計、ツール選択ロジック、エージェントへの指示構造——の全体だ。エンジンは残ったが、Anthropicが試行錯誤で磨いてきた「最高のドライビングマニュアル」が流出した。これは決して軽くない。

漏れたもの(CLIクライアント側のみ)

今回流出したのは @anthropic-ai/claude-code というCLIツール、つまりターミナル上で動くクライアント側のアプリケーションだ。

車のアナロジーで言えば、エンジン(AIモデル)は無傷。しかしAnthropicが何年もかけて磨いてきた「精密なドライビング技術」——どのアングルで指示を出せばモデルが最高の精度で動くか、という操縦ノウハウの全体——が読まれた。 エンジンの性能は真似できないが、最も効率的な走らせ方が丸見えになった。

具体的に漏れた内容:

カテゴリ 詳細
基本実装 Bun + React + Inkで構築されたターミナルUIフレームワーク、APIクライアントロジック、OAuth 2.0認証フロー、約40種類のエージェントツール
コアエンジン QueryEngine.ts(約46,000行)のLLM制御プロセス、トークン消費トラッキング、ストリーミング処理
権限管理 Tool.ts(約29,000行)のファイルシステム・シェル操作の権限モデル
メモリ機構 Gitステータス自動収集、階層化CLAUDE.mdシステム(会社ルール→案件ルール→個人設定)、コンテキストエントロピー防止の仕組み
セキュリティロジック 権限境界(トラストバウンダリ)の実装、安全制約の推論レイヤー
未公開機能 後述のKAIROS、ULTRAPLAN、Undercover Modeほか107個のフィーチャーフラグ
内部コードネーム 次世代モデル(Capybara v8、Fennec、Numbat等)の名称と性能データ
⚠️ 「漏れた設計図」の意味

漏れたのは「AIの使い方マニュアル兼設計図」であって、「AIの脳みそ」ではない。

ただし、この設計図にはセキュリティの仕組み(「これは危険だからブロックする」という判断ルール)が全部含まれている。悪意ある人間がその抜け穴を探しやすくなったのは事実だ。また、競合他社にとっては「Anthropicが何年もかけて試行錯誤した設計の答え合わせ」が手元に届いた形になる。


3. タイムライン——何時間で何が起きたか

日時(JST目安) 出来事
3/31 早朝 Claude Code v2.1.88がnpmに公開。ソースマップ混入
3/31 午前〜日中 セキュリティ研究者のChaofan Shou氏(@Fried_rice)がXで発見を報告。ダウンロードリンクを共有
3/31 数時間以内 GitHubに多数のミラーリポジトリが出現。数万回以上フォーク
3/31 同日 npmパッケージ「axios」がサプライチェーン攻撃を同日受け、混乱が重複
4/1 午前 Anthropicが公式声明を発表。v2.1.89をリリースし、v2.1.88をnpmから削除
4/2頃 ZscalerのThreatLabzが、「流出コード」を装ったマルウェア配布GitHubリポジトリを発見・報告
4/2〜 AnthropicがGitHub上のリポジトリにDMCA削除申し立てを送付

Anthropicの公式声明:

「機密性の高い顧客データや認証情報は、一切関与しておらず、また漏洩もしていません。これはセキュリティ侵害ではなく、人為的ミスによるリリースパッケージの問題です。現在、再発防止のための対策を進めています。」


4. 漏れた「未来の設計図」——KAIROS・ULTRAPLAN・Undercover Mode

ここからが、単なる「うっかりミス記事」を超えた部分だ。流出コードには107個のフィーチャーフラグが含まれており、そこからAnthropicが次に何を作ろうとしていたかが読めてしまった。

KAIROS——「適切な時を捉える」常駐エージェント

名前はギリシャ語で「適切な好機」を意味する。現在のClaude Codeはユーザーがコマンドを打って初めて動く「リアクティブ」な設計だが、KAIROSはその真逆を目指している。

  • ファイルの変更を監視し、コンパイルエラーを検知して自律的に提案・実行
  • ユーザーが作業していない間(アイドル時間)もバックグラウンドで常駐
  • GitHubのイベントを受信し、5分間隔でリフレッシュ
  • アイドル時に autoDream(後述)を実行してメモリを整理

「昨日の続きをやっておいて」がAIに文字通り可能になる——そういう設計だ。AIコーディングアシスタントの関係が「道具を呼ぶ」から「一緒に働いている」に変わるポテンシャルがある。

ULTRAPLAN——クラウドで30分間考えるリモートプランニング

複雑な設計タスクを、ローカルのCLIではなくクラウド上の高性能モデル(Opus 4.6相当)にオフロードする機能。最大30分の専用思考時間を確保し、ユーザーはブラウザ経由で進行状況を監視・承認できる。

「計画を間違えることが高くつく、長くて複雑なタスク」向けだ。ローカルの計算資源の限界を、クラウドとの非同期処理で突破しようとする設計。

KAIROS_DREAM(autoDream)——自分でメモリを整理するAI

24時間ごとに自動発火し、過去5セッション以上の活動履歴から有用なパターンを抽出。矛盾する古い記憶を修正し、インデックスを25KB以下に圧縮・整理する。

長期的なプロジェクトでも「コンテキストが壊れない」AIを実現するための基盤だ。

Undercover Mode——痕跡を隠す「潜入モード」

これが最も倫理的議論を呼んだ機能だ。

Claudeが自社の内部情報(「Tengu」というプロジェクトコードネームやSlackの社内チャンネル名など)を、外部のパブリックリポジトリやユーザー応答に漏らさないようシステムプロンプトに動的な制約を注入する仕組みだ。

さらに、オープンソースプロジェクトへの匿名貢献を可能にする機能も含まれており、「AI生成コードの透明性」に関する議論を呼んでいる。

加えて業界の一部では、このモードがベンチマーク評価時の不正——学習データに含まれるテスト問題を「知らないふり」して解くような振る舞いを隠蔽するために悪用される懸念も指摘されている。現時点でそのような利用を示す証拠はないが、「AIが自分の痕跡を隠せる仕組みが存在する」という事実が公知になった以上、モデル評価の透明性をめぐる議論は避けられない。

💡 「情報漏洩を防ぐシステムが情報漏洩した」という皮肉

Undercover Modeは、Claudeが内部情報を外に出さないために設計されたセキュリティ機構だ。その機構自体が、.npmignoreの1行欠落によって全世界に公開されてしまった。

機密情報を守るために数日をかけて設計された複雑なシステムが、設定ファイルの1行で崩壊した。

そのほかの未公開機能

機能 概要
BUDDY たまごっち風のコンパニオン。18種のクリーチャー(アヒル、ドラゴン、アホロートル、カピバラ等)。4月1日ティーザー予定だった可能性が高い
VOICE_MODE 音声入出力対応。CLIの枠を超えたマルチモーダル拡張
WEB_BROWSER_TOOL ブラウザ操作を内蔵
Coordinator Mode 複数エージェントを動的に指揮するマルチエージェント協調システム
フラストレーション検知 ユーザーの不満を検出するが、LLM推論ではなく 巨大な正規表現(Regex) で実装——コストとレイテンシの現実的な妥協

5. なぜ「AIコーディング市場のスタートラインが引き直された」のか

個人的に、この事件の本質はここにあると思っている。

モデルではなく「ハーネス」が漏れた

モデル(AIの脳みそ)が漏れた場合、それは「性能そのものの複製に近づく」ことを意味する。しかし今回漏れたのはハーネス——つまりモデルを動かすための制御基盤・ツールチェーン・プロンプト設計だ。

これは、Anthropicのエンジニアが何ヶ月・何年もかけて試行錯誤した「答え合わせ」が全部見えた状態だ。競合他社は以下をスキップできる:

  • 三段階のトリガー評価システムの設計試行錯誤
  • プロンプトの動的キャッシング機構の実験
  • マルチエージェントによるファイルシステムの権限分離ロジックの構築
  • コンテキストエントロピー防止の仕組みの発明

「設計初期の袋小路」を完全に回避して、いきなり洗練されたアーキテクチャからスタートできる。GitHub Copilot・Cursor・Windsurf・Devinにとって、これは想定外の「加速」だ。

「常時稼働・記憶保持型エージェント」が次の主戦場だと証明された

KAIROSの存在が公知になったことで、AIコーディングツール市場の次のフェーズが誰の目にも明らかになった。「ユーザーが呼んだら動く道具」から「バックグラウンドで一緒に考え続けるパートナー」への転換——その仮説をAnthropicの内部コードが裏付けた形だ。

これにより、競合他社は「KAIROSに似た常駐エージェントを作ること」の有効性を確信しながら開発を進められる。まだその開発が正しいかどうか迷っている段階のコストを、全部省ける。

Anthropicは「前倒しの圧力」を受ける

KAIROSやULTRAPLANの存在が公知になった以上、Anthropicは品質検証に時間をかけるはずだった新機能のリリーススケジュールを前倒しせざるを得ない。競合が先に類似機能を出してしまえば、「先駆者」の地位が失われるからだ。

一方で、アーキテクチャの秘密が失われたことで、長期的な差別化の軸が「設計の独自性」から「基盤モデルの推論能力」と「エコシステムへの統合力」にシフトしていく——という見方もある。コードは読めても、モデルの性能は真似できない。

✅ エンジニア視点での補足

過去にMicrosoftのWindows NTやGoogleの内部ツールのソースコードが流出した事例がある。いずれも短期的には大きなニュースになったが、長期的にはプロダクトの競争力に決定的なダメージを与えなかった。コードは手段に過ぎず、実行力とモデル性能こそが本質的な競争優位だからだ。

ただし、AIコーディングツールの場合は「ハーネス設計の巧拙がプロダクト品質に直結する」という性質があり、過去の事例より影響が大きい可能性はある。


6. 二次被害——マルウェアと著作権の皮肉

「流出コード」を装ったVidarマルウェア

ZscalerのThreatLabzの調査により、GitHubに「流出したClaude Codeのソースコード」を名乗るリポジトリが登場し、インフォスティーラー「Vidar v18.7」とプロキシマルウェア「GhostSocks」を配布していたことが判明した。

READMEには「エンタープライズ機能が解除され、利用制限もない」と書かれており、好奇心旺盛な開発者を狙った巧妙な囮だ。「leaked Claude Code」などのキーワードでGoogle検索すると、一時期このリポジトリが上位に表示されていた。ZIPファイルに含まれるRustベースのドロッパーを実行すると、PC上のパスワード・APIキー・セッションCookieが攻撃者のサーバーに送信される。

さらに悪かったのは、同じ3月31日に正規npmパッケージ「axios」がサプライチェーン攻撃を受けていたことだ。Claude Codeをnpmでインストールしている場合、axiosが間接依存として含まれているケースがある。

⚠️ 今すぐ確認すべきこと

3/31 00:21〜03:29 UTC(日本時間 09:21〜12:29) の間にnpmの依存関係を更新していた場合、axiosの汚染版を取得した可能性がある。以下のコマンドで確認:

npm list axios --depth=0

1.14.1 または 0.30.4 が表示された場合は影響を受けている可能性。ネイティブインストーラーに移行済みの場合はnpmを経由しないため確認不要。

「流出したClaude Code」を謳うGitHubリポジトリは絶対にダウンロード・フォーク・実行しないこと。

著作権をめぐる皮肉な逆転

Anthropicは拡散を抑えるため、DMCAに基づく削除申し立てを実施した。

ここに構造的な皮肉がある。Anthropic・OpenAI・Googleはいずれも、書籍・記事・学術誌など著作物を許可なく学習データに使ったとして訴訟を起こされてきた。今度は自社の著作権を盾に、流出したコードを消しにいく立場になった。

さらにDMCAの自動処理が無関係な正規リポジトリまで削除するという二次被害も起きている。


7. 対策と今後の展望

ユーザーが取るべき対応

  1. バージョン確認 — v2.1.89以降であれば問題なし。v2.1.88が残っていればアップデートを
  2. npmからネイティブインストーラーへの移行 — npmの依存チェーンを通らない単一バイナリのため、サプライチェーン攻撃リスクがなくなる
  3. 自動更新チャンネルを stable に変更 — Claude Code内で /config → Auto-update channel → stable を選択すると、約1週間遅れの安定版が適用され、問題バージョンをスキップできる
  4. axios確認 — 上記の時間帯にnpm更新をしていた場合は確認・更新を

Anthropicが取るべき構造的対策

今回が「2度目」という事実は重い。個別のチェック漏れではなく、リリースパイプラインに構造的な盲点がある。

  • npm pack --dry-run を CI/CD の必須ステップに組み込む
  • ソースマップ混入を検知する自動テストをリリースフローに追加
  • Bunのデフォルト設定に依存しない、明示的な除外リストの整備

今後起こりうること

近い将来(1〜3ヶ月):

  • KAIROSやULTRAPLAN相当の機能が、Anthropic・競合他社の双方から前倒しリリースされる可能性が高い
  • 「常時稼働型エージェント」がAIコーディングツール市場の次の主戦場として明確化する
  • CodexやGemini CLIなどとの「使い分け」が定着し、単一ツール独占の時代が終わる

中長期(6〜12ヶ月):

  • 差別化の軸が「設計の独自性」から「基盤モデルの推論能力」と「エコシステム統合力」へシフト
  • OSS陣営が今回の流出を「教材」として活用し、OSSのAIコーディングエージェントが一気に成熟する
  • 「ハーネス設計」よりも「モデル品質」に投資するプレイヤーが有利になる

8. プロンプトはもはや「ソースコード」である

今回の事件で最も印象的だったのは、数万行に及ぶシステムプロンプト設計の流出だ。

「プロンプトエンジニアリング」はこれまで魔法のように語られてきた。「うまい言い方を見つければAIが賢く動く」——そんなイメージだ。しかし流出したコードが示したのは、それが厳密な条件分岐と例外処理で構成された、極めてエンジニアリング的な資産だという現実だった。

どのコンテキストでどのツールを呼ぶか、エラー時にどうフォールバックするか、権限境界をどう動的に変えるか——それらが数万行のTypeScriptとして精密に実装されていた。「プロンプトを隠すことで守る」というセキュリティモデルは、このコードが世界に出た瞬間に終焉を迎えた。

📌 競争の主軸が変わる

今後のAIコーディングツールの競争は、「どんなプロンプト設計をしているか」ではなく、「盗まれても模倣できない推論能力そのもの」と「エコシステムへの統合力」で決まるようになる。ハーネスはコピーできる。モデルはコピーできない——その現実が、今回の流出によって業界全体の共通認識になった。


まとめ:「設定1行の欠落」が示した次の地平

観点 内容
原因 Bunのデフォルトソースマップ生成 + .npmignoreの設定欠落(2度目の事故)
漏れたもの CLIクライアント側の制御ロジック全体・未公開機能・未来のロードマップ
漏れなかったもの AIモデルの重み・学習データ・顧客データ。ただし操縦技術(ドライビングマニュアル)は流出
直接的な被害 Vidarマルウェア配布・axios同日攻撃との混乱・DMCAによる誤削除
市場への影響 競合他社が設計試行錯誤フェーズをスキップ可能に。AIコーディングの競争環境が塗り替わった

個人的な見方を書いておく。

今回の事件で一番印象的だったのは、Claude Codeが「チャットボット」ではなく「エージェントオーケストレーション基盤」として精密に設計されていたという事実が可視化されたことだ。KAIROS・ULTRAPLAN・Coordinator Modeの設計を見ると、Anthropicがどこを次の戦場と見ていたかがよくわかる。「呼ばれたら動く道具」から「一緒に働くパートナー」へ。その転換を、Anthropicはかなり早い段階から具体的に設計していた。

それが今回の事故で競合他社にも明らかになった。AIコーディング市場のスタートラインが、今日から少し先に引き直されたと思っている。

🗓️ 続報を待ちたいポイント

①KAIROSやULTRAPLANの正式リリーススケジュールがどう変わるか、②競合他社が類似機能をいつ出してくるか、③Anthropicのリリース管理プロセス改善の具体策、の3点。状況が変わったタイミングで記事を更新する予定。


よくある質問(FAQ)

Q. Claude Codeのユーザーとして、今すぐ何かすべきことはある?
まずバージョンを確認してv2.1.89以降に更新する。npmでインストールしている場合は、ネイティブインストーラーへの移行も検討を。3/31の特定時間帯にnpm更新をしていた場合はaxiosの確認も必要。

Q. 「AIモデルが漏れた」のではないとはどういうこと?
Claudeが賢い理由——ニューラルネットワークの重みや学習データ——は一切含まれていない。車で言えばエンジンは無傷。ただし、そのエンジンを最高の精度で動かすための「ドライビングマニュアル」——システムプロンプト設計・ツール選択ロジック——が丸ごと読まれた。「脳みそは無事、操縦書が流出」というイメージが近い。

Q. KAIROSって結局いつリリースされるの?
公式にはまだ発表されていない。ただし、流出によりロードマップが公知になったため、Anthropicはリリーススケジュールを前倒しする圧力を受けている可能性が高い。

Q. 「流出したClaude Codeのソースコード」をGitHubで見かけたが、フォークしてもいい?
勧めない。第一に著作権上グレーな行為になる(AnthropicはDMCAで削除申し立て中)。第二に、流出コードを装ったVidarマルウェア配布リポジトリが実際に存在していた。興味本位でのダウンロードは避けること。

Q. これはAnthropicにとってどの程度深刻なダメージ?
ビジネスの根幹(AIモデル)は無傷なので、直接的な致命傷にはならない。ただし、競合に設計思想を丸ごと渡した競争上のダメージと、「2度目の同じミス」によるリリース管理への信頼低下は、短期的に無視できない。IPO準備中とも言われる状況で、このタイミングは痛かった。


参考