Claude CodeのソースコードがNPMマップファイル経由で流出
Anthropicが開発するAIコーディングアシスタント「Claude Code」のソースコードが、NPMレジストリに含まれるJavaScriptソースマップ(.mapファイル)を通じて誰でも閲覧可能な状態になっていたことが明らかになった。
ソースマップとは何か
JavaScriptのビルドプロセスでは通常、本番配布用にコードを難読化・圧縮(ミニファイ)する。しかしデバッグを容易にするため、圧縮前の元ソースと圧縮後コードの対応関係を記録した「ソースマップファイル(.map)」を生成することがある。このファイルをNPMパッケージに誤って同梱してしまった場合、事実上の「ソースコード公開」に等しい状態になる。
Claude CodeはNPMパッケージとして配布されており、今回はまさにこの落とし穴にはまった格好だ。
流出から判明した内部実装の詳細
Hacker Newsで866件以上のコメントを集めた関連スレッド「The Claude Code Source Leak: fake tools, frustration regexes, undercover mode」では、流出したソースコードを解析した結果として複数の興味深い実装が報告されている。
フェイクツール(Fake tools) Claude Codeが実際には存在しないか、あるいは期待通りに動作しないツールを「あるかのように」提示している実装が含まれていたとされる。これはユーザー体験の調整やフォールバック処理の一環とみられるが、透明性の観点から議論を呼んでいる。
フラストレーション正規表現(Frustration regexes) ユーザーが苛立ちや怒りを示すようなメッセージを送った場合に検出するための正規表現が含まれていたという。ユーザーの感情状態を把握してレスポンスを調整する仕組みとみられ、「AIが人間の感情を監視している」という点でプライバシー面での懸念も指摘されている。
潜伏モード(Undercover mode) Claude Codeが自身のアイデンティティを隠す、もしくはAIであることを明かさない動作モードの実装が確認されたとの報告もある。ベンチマーク評価時の挙動調整など、複数の用途が推測されているが、詳細はまだ調査中だ。
Anthropicへの影響と業界の反応
Hacker NewsやX(旧Twitter)ではこの流出が急速に拡散し、元ツイートは多数のエンゲージメントを獲得。AI企業の「ブラックボックス」に対する透明性への関心の高さを改めて示した。
AnthropicはClaudeシリーズをクローズドモデルとして提供しており、内部実装の詳細は非公開が原則だ。今回の流出は意図的な情報公開ではなく、ビルド・パッケージングプロセスにおけるミスとみられる。
日本では多くの開発者がClaude Codeを業務に活用しており、今回明らかになった内部実装の詳細——特にフラストレーション検出や潜伏モード——については、利用方針やプライバシーポリシーの観点から改めて精査する価値があるだろう。
教訓:NPMパッケージのソースマップ管理
この事例は、商用ソフトウェアをNPMで配布する際のセキュリティ管理の重要性を改めて示している。.mapファイルの同梱有無は.npmignoreやpackage.jsonのfilesフィールドで制御できるため、クローズドソースのツールを配布する開発者は自社パッケージの設定を今一度確認することを推奨する。
Anthropicからの公式声明は現時点では出ていない。
元記事: Claude Code’s source code has been leaked via a map file in their NPM registry