6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeのソースコード流出事件:512,000行が教えるプロダクションAIアーキテクチャ

6
Posted at

2026年3月31日、今朝、AI開発コミュニティは衝撃的なニュースを受け取りました。Claude Codeの全ソースコードがGitHubに公開されました。

一部ではありません。全512,000行。1,900ファイル。コメント付きの完全なTypeScriptソース。

発生経緯
セキュリティ研究者Chaofan ShouがXに投稿しました:

"Claude code source code has been leaked via a map file in their npm registry!"

たった1つの.mapファイルがすべてを露出させました。

ソースマップはデバッグツールです。コンパイルされたコードを元のソースコードにマッピングします。開発環境にのみ存在すべきです。

しかしAnthropicは誤ってプロダクションnpmパッケージに含めてしまいました。

.mapファイルはR2ストレージバケットURLを参照していました。クリックすると完全で難読化されていないコメント付きTypeScriptソースコードをダウンロードできました。ZIPアーカイブ1つ。クリック1回。

何が露出したか
これはデモコードではありません。何千人もの開発者が毎日使用するプロダクショングレードAIコーディングツールの完全なソースコードです。

規模:

1,900ファイル
512,000+行のコード
Strict TypeScript
Bunランタイム
React + Ink ターミナルUI
コアファイル:

QueryEngine.ts: 46,000行 — 全LLM APIエンジン、ストリーミング、ツールループ、トークン追跡
Tool.ts: 29,000行 — すべてのエージェントツールタイプと権限スキーマ
commands.ts: 25,000行 — スラッシュコマンドレジストリと実行
露出したツール: 約40のエージェントツール(BashTool, FileReadTool, FileEditTool, AgentTool, WebFetchTool, WebSearchTool, MCPTool, LSPToolなど)

露出したコマンド: 約85のスラッシュコマンド(/commit, /review, /compact, /mcp, /memory, /skills, /tasks, /vim, /diff, /costなど)

内部機能フラグ: PROACTIVE, VOICE_MODE, BRIDGE_MODE, KAIROS

そしてイースターエッグ: BUDDYという機能 — OpenClawに似たデジタルペットシステム。レアリティ階層、シャイニーバリアント、手続き的に生成された統計を含む。buddy/ディレクトリに隠されており、コンパイル時機能フラグでロックされています。リリース日: 2026年4月1-7日ティーザー、5月正式リリース。

Anthropicの対応
素早く動きました。発見後、Anthropicは直ちにnpmアップデートをプッシュしてソースマップファイルを削除しました。その後、npmレジストリから古いバージョンを削除しました。

しかし。遅すぎました。

少なくとも3つのミラーリポジトリがすでにGitHubにあります: instructkr/claude-code, Kuberwastaken/claude-code, nirholas/claude-code。

インターネットは決して忘れません。

これが初めてではない
これは5日間でAnthropicの2回目の流出です。

3月26日、わずか5日前、CMS設定エラーで以下が露出しました:

未公開の「Claude Mythos」モデル詳細
ドラフトブログ投稿
3,000の未公開アセット
今回これ。512,000行のソースコード。完全に露出。

コミュニティの反応
Redditが爆発しました。Hacker Newsが爆発しました。反応は驚くほど一致していました: 「皮肉が現実になった」。

Anthropicはclaudeがコード作成とレビューにどれほど強力かをマーケティングしてきました。その後、基本的なミスで自分たちのコードが流出しました。

一部は言いました:

「Anthropicの誰かが熱心に作業しすぎて、誤ってソースを公開npmレジストリにプッシュしたようです。」

他の人:

「GitHubリポジトリのせいでオープンソースだと思っていました。」

しかし一部は反論しました。開発者Skandaが言いました:

「この『流出』は一種のクリックベイトです。Claude Code CLIは常にnpmパッケージで読み取り可能でした(縮小されたJS)。ソースマップは単に読みやすいTypeScriptにしただけです。」

彼は正しいです。AnthropicはClaude Codeのクライアントロジックをシークレットとして扱ったことはありません。コアの堀はClaudeモデル自体であり、CLIツールではありません。

すでにcat /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/dist/*.jsですべてのロジックを見ることができます。

したがって、技術的にこれは「流出」ではありません。誰かが縮小されたコードをきれいに出力したに近いです。

しかし。コードを見ることと理解することは異なります。

ソースコードから学べること
開発者Jingle Bellは一日中コードを掘り下げました。その後投稿しました:

「今日のClaudeの収益は、みんながClaudeを使ってClaudeのソースコードを分析することから来ています。」

皮肉ですが真実です。

彼は学べる4つのことを要約しました:

  1. Anthropicがシステムプロンプトを書く方法
    従来のアプローチ(間違い): 「ユーザーを助け、詳細な回答を提供してください」

Anthropicのアプローチ(エンジニアリング済み):

ツール制約: 「ファイルを読むにはFileReadToolを使用する必要があり、bashは許可されていません」
リスク制御: 「データを削除する前に必ず二重確認する必要があります」
出力仕様: 「結論を最初に提示してから説明してください」
これによりAIの動作が予測可能で制御可能でプロダクション対応になります。

  1. マルチエージェントオーケストレーションアーキテクチャ
    完全なマルチエージェントオーケストレーションシステム:

コーディネーターモード: 1つのメインエージェントが複数のワーカーにタスクを割り当て、ワーカーは並列で実行して報告します
権限キュー(メールボックス): ワーカーは危険な操作を実行するときにメールボックスを介してリーダーに権限を要求します
アトミッククレームメカニズム: createResolveOnceは複数のワーカーが同じ権限リクエストを処理するのを防ぎます
チームメモリ: エージェント間で共有されるメモリスペース
エージェントに自律性を与えながら人間の制御を維持する方法。これはAnthropicの自社ベストプラクティスです。

  1. コンテキスト圧縮戦略
    Claude Codeの最も洗練されたエンジニアリング成果の1つ。3層圧縮:

MicroCompact: API呼び出しがトリガーされません。キャッシュされたコンテンツをローカルで直接編集し、古いツール出力を削除します。

AutoCompact: コンテキストウィンドウ制限に近づくとトリガーされます。13,000トークンバッファを予約し、最大20,000トークンの要約を生成します。組み込みサーキットブレーカー — 無限ループを防ぐために3回連続失敗後に再試行を停止します。

Full Compact: 会話全体を要約に圧縮してから、最近アクセスしたファイル(ファイルあたり5,000トークン制限)、アクティブなプラン、使用されたスキルスキーマを再注入します。圧縮後の予算: 50,000トークン。

長時間実行されるAI会話アプリを構築している場合、この3層戦略を直接適用できます。

  1. AutoDreamメモリ統合
    Claude Codeはバックグラウンドで自動的にメモリを統合します。

トリガー条件(すべて満たす必要があります):

最後の統合から≥24時間
その後≥5つの新しいセッション
他の統合プロセスが実行されていない
最後のスキャンから≥10分
統合フロー(4フェーズ):

Orient — MEMORY.mdを読み、既存のメモリファイルをスキャン
Gather — ログを確認し、古いメモリを見つける
Consolidate — マージ、更新、矛盾を解決
Prune — MEMORY.mdを≤200行 / 25KBに保つ
長期メモリが必要なすべてのAIアプリはこのパターンを使用できます。メモリは蓄積ではなく定期的な統合が必要です。

開発者にとって、この「流出」は無料のマスタークラスです。数え切れない徹夜作業を通じて洗練されたAnthropicのエンジニアリング実践が、今あなたの前に展開されています。

これが意味すること
開発者にとって: サプライチェーンセキュリティのケーススタディです。ソースマップはデバッグ用です。しかし誤ってプロダクションにバンドルされると全ソースコードが世界に露出します。プロダクションソースマップでハードコードされたStripe APIキーが見つかった事例があります。1つの設定エラーで独自のコードベースが公開知識に変わる可能性があります。

AIツールビルダーにとって: プロダクショングレードAIコーディングツールの実際のアーキテクチャを明らかにします。PowerPointデッキではありません。マーケティングコピーではありません。実際に実行可能でプロダクションで検証されたコードです。マルチエージェント調整、権限システム、ツール呼び出しループ、IDEブリッジ、音声入力、Vimモード、MCP統合、LSP統合... これは単純なAPIラッパーではありません。完全でエンジニアリングされたプロダクショングレードの開発者体験です。

Anthropicにとって: 知的財産の災害です。内部APIクライアントロジック、OAuth 2.0認証フロー、権限実施、マルチエージェント調整システム、さらには未公開機能パイプラインまで... すべて露出しました。競合他社はAnthropicの技術実装、アーキテクチャの選択、最適化戦略、製品ロードマップを見ることができます。

しかし。Anthropicは気にしないかもしれません。Skandaが言ったように、コアの堀はClaudeモデル自体であり、CLIツールではありません。アーキテクチャをコピーできます。エンジニアリング実践を学べます。しかしClaudeの推論能力を複製することはできません。それが本当の堀です。

最後の考え
真夜中。512,000行のディレクトリ構造のレビューを終えました。その後buddy/フォルダを開きました。デジタルペットシステムのコードを見ました。そして何かを感じました。

最も強力なAI企業でさえ人間によって構築されています。基本的なミスをします。コードにイースターエッグを隠します。エイプリルフール前にデジタルペットシステムを密かに準備します。

これはもちろんセキュリティインシデントです。しかしまた示しています: AIツールの背後には実際のエンジニアがいて、実際のコードを書き、実際の問題を解決しています。魔法ではありません。ブラックボックスではありません。1,900ファイル、512,000行のコード、数え切れない徹夜作業、数え切れないリファクタリング。

おそらくこれがAI時代の真実です。技術がどれほど進歩しても、最終的にはコードに帰着します。モデルがどれほど強力でも、それを操るには人間が必要です。そして人間は常にミスをします。

関連リンク:

GitHubミラー: https://github.com/instructkr/claude-code
元のツイート: https://x.com/Fried_rice/status/2038894956459290963
Hacker Newsディスカッション: https://news.ycombinator.com/item?id=47584540
コミュニティ分析 (Skanda): https://x.com/thecryptoskanda/status/2038924451275018383
技術分析 (Jingle Bell): https://x.com/ScarlettWeb3/status/2038940065523552263

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?