Claude Codeのソースコード流出、npmソースマップに51万行が丸見えだった件

https://ai-heartland.com/news/claude-code-source-leak/

何が起きた?

AnthropicのAIコーディングツール「Claude Code」の npm パッケージ(@anthropic-ai/claude-code v2.1.88)に、ソースマップ(.mapファイル)が含まれたまま公開されてしまった。1,902ファイル・51万行超の TypeScript ソースコードが誰でも読める状態に。ハッキングではなく、ビルド設定のミス

ソースマップとは

圧縮・変換後のコードと元のソースコードを対応づけるファイル。開発時のデバッグ用で、本番環境に含めると元コードが丸見えになる。

なぜ起きた?

  • Anthropic は .npmignore(ブラックリスト方式 = 除外するものを指定)を使っていた
  • Bun バンドラーが自動生成するソースマップが除外リストから漏れていた
  • ホワイトリスト方式package.jsonfiles で含めるものだけ指定)なら防げた

教訓: npm パッケージ公開時のベストプラクティス

# パブリッシュ前にパッケージ内容を確認
npm pack --dry-run
# ソースマップが含まれていないかチェック
npm pack --dry-run 2>&1 | grep -i ".map"

ホワイトリスト方式で含めるファイルだけ指定する:

{
  "files": ["dist/", "README.md", "LICENSE"]
}

なお、同週に Anthropic では CMS 設定ミスによる未リリースモデル「Claude Mythos」の情報流出も発生しており、5日間で2度の情報流出となった。