AI News
「安全性」を掲げる企業の致命的な設定ミス:Claude Code ソースコード流出の深層
📝 概要
Anthropicが提供する開発者向けCLIツール「Claude Code」のソースコード全文が、npmレジストリの設定ミスにより外部へ流出したことが判明しました。事態の核心は、本番用パッケージにデバッグ用のソースマップファイル(.map)を混入させたという、極めて初歩的な管理ミスにあります。これにより、約51万行に及ぶTypeScriptコードが露呈し、同社の高度なエージェント基盤の設計思想から未発表のロードマップまでが白日の下に晒されました。AIの安全性を最優先に掲げる企業が、基本的なビルド工程の管理を怠った事実は、技術コミュニティに大きな衝撃を与えています。
📋 詳細レポート
発生の経緯と技術的要因:npmに残された「地図」
2026年3月31日、セキュリティ研究者の指摘により、npmレジストリ上の公式パッケージ「@anthropic-ai/claude-code」に、ソースマップファイルが含まれていることが発覚しました。ソースマップは通常、難読化されたJavaScriptを元のソースコードに対応させるためのデバッグ用ファイルであり、本番環境には含めないのが鉄則です。
今回のケースでは、このファイル内にAnthropicが利用するCloudflare R2ストレージ上のTypeScriptソースコードへの直リンクが含まれていました。結果として、src/ディレクトリ配下の約1,900ファイル、51万行を超えるコードが、誰でも閲覧可能な状態で公開されてしまいました。
露呈した内部構造と主要モジュール
流出したコードからは、単なるCLIツールを超えた、複雑な「AIエージェント基盤」としての実態が明らかになりました。
- QueryEngine.ts: 約4万6,000行。LLMとの通信、ストリーミング、トークン追跡などを担う中核モジュール。
- Tool.ts: 約2万9,000行。エージェントが使用する全ツールの型定義と権限スキーマを管理。
- エージェントツール群: BashTool、FileReadTool、AgentToolなど約40種。
- スラッシュコマンド: 実行制御やGit連携など、約85種のコマンドを実装。
技術スタックとしては、Bunランタイム上で動作し、ReactとInkを組み合わせたターミナルUIフレームワークを採用していることも判明しています。
皮肉な「潜入モード」と安全性の矛盾
特筆すべきは、流出コードの中に「Undercover Mode(潜入モード)」という機能が含まれていた点です。これは、Anthropicの社員が公開プロジェクトで作業する際、AIが不用意に内部情報やコードネームを漏らさないよう指示するシステムプロンプトです。「AIに秘密を守らせる」ための精緻な仕組みが実装されていた一方で、人間が「.npmignore」にソースマップの除外設定を1行書き忘れたことで、全ての秘密が漏洩するという皮肉な構図となりました。
未発表機能と今後の展望
コード内のフィーチャーフラグからは、実装済みながら未公開となっている20以上の機能が発見されています。
- BUDDY: ユーザーIDから生成される18種族の仮想ペットシステム。レアリティやステータスも設計済み。
- KAIROS: 常時稼働を実現するモード。
- ULTRAPLAN: クラウド上での30分間のリモート計画セッション機能。
- IDE連携: VS CodeやJetBrainsとの統合を担う「BRIDGE_MODE」。
Anthropicは2025年2月にも同様のミスを犯しており、今回が二度目の失策となります。知的財産としての損害は甚大であり、GitHub上のミラーリポジトリが数時間で数万件のスターを獲得するなど、情報は急速に拡散されました。AI安全性という理念を掲げながらも、実務レベルの「安全性(セキュリティ・ハイジーン)」をいかに担保するかが、今後の大きな課題となります。