512,000行のソースコードが漏れた日——Claw CodeはそのTypeScriptをRustで書き直した

この記事のポイント

2026年3月31日午前4時23分(東部夏時間)、セキュリティ研究者Chaofan ShouがXに一本の投稿を上げた。

内容は短かった。「@anthropic-ai/claude-code v2.1.88のnpmパッケージに、59.8MBのソースマップが含まれている。TypeScript 512,000行が丸見えだ」

その投稿は24時間以内に3,000万回近く表示される。


何がnpmに流れたのか

漏洩の原因は、思いのほかシンプルなものだった。

Claude CodeはTypeScriptで書かれ、配布時にはバンドル・難読化されている。しかし今回のv2.1.88では、.npmignoreファイルが*.mapを除外していなかった。加えて、Bunランタイムにはビルドモードでもソースマップを出力するバグ(oven-sh/bun#28001)が存在していた。この2つが重なり、cli.js.mapというソースマップファイルが1,906ファイル・512,000行のTypeScriptコードとともにnpmレジストリに乗った。

実は2025年版でも同様の問題があり、その際はパッケージがレジストリから一度削除されている。同じミスが繰り返された形だ。

Anthropicの公式声明は「人為的ミスによるリリースパッケージングの問題であり、セキュリティ侵害ではない」というものだった。これ自体は事実だろう。だが、世界中の開発者がそのコードをダウンロードし始めた後では、声明の内容より「もう取り戻せない」という現実の方が重い。


夜明け前に始まった再実装

同じ日の早朝、韓国人開発者Sigrid Jin(Jin Hyung Park)はリークを知った。

彼が選んだのは観察ではなく行動だった。漏洩発覚から数時間以内に作業を開始し、日が出る前にコードをGitHubへプッシュした。プロジェクト名は「Claw Code」。Claude Codeの完全な再実装だ。

アプローチはいわゆる「クリーンルーム再実装」。オリジナルのソースを直接コピーするのではなく、仕様と挙動を理解した上で独自に書き起こす手法だ。ただし、従来のクリーンルーム再実装とひとつ違う点があった。「オリジナルを見た者と見ていない者を人的に分離する」という古典的な手法を使わず、AIツール(oh-my-codex)を使ってTypeScriptコードを並行レビューしながらRustとPythonで書き直した。

言語構成はRust 96.3%・Python 3.3%。Claude Codeのコードベース(TypeScript)とはまったく別の実装だ。

Claw Codeは4月13日時点で183,000スターを集めており、GitHubの同規模到達速度として歴代最速の記録を更新している。Sigrid JinはWSJの取材で「250億トークンを消費した」と報じられている。


DMCAが8,100件を飲み込んだ

リリースから2日後の4月1日、Anthropicは動いた。

GitHubに対してDMCA通知を送付。その結果、8,100件のリポジトリが削除された。

しかし問題があった。削除されたリポジトリの大多数は、Claude Codeの公式リポジトリの正規フォーク——漏洩コードとは無関係なものだった。GitHubのフォークネットワーク処理が通知に対して自動的にカスケード適用され、本来対象ではないリポジトリまで巻き込まれた。

批判は即座に広がった。同日中にAnthropicは通知を撤回し、最終的な対象を1リポジトリ(nirholas/claude-code)と96フォークに絞り込む形で整理した。

Claude CodeヘッドのBoris Chernyは「意図的ではなかった」「デプロイの手動ステップを省略した」と説明した。同氏はその後、OpenClawのリポジトリにPRを提出して「我々はオープンソースの大ファン」とコメントしている。

OpenClaw創設者のPeter Steinbergerがアカウント停止を経てOpenAIへ入社したことを知っている読者には、この展開が既視感のあるものに映るかもしれない。


「AIクリーンルーム」は法的にどこに立つのか

Claw Codeをめぐる議論で最も未決なのが、法的地位の問題だ。

従来のクリーンルーム再実装は、法廷で有効性が認められてきた実績がある。人的分離によって「オリジナルの著作権を侵害したコードが混入していない」ことを証明できるからだ。

AIが仕様を見てコードを生成する場合、その論理は成立しにくい。AIは見たもの全体を学習・参照する可能性があり、「オリジナルを見たAIが生成したコード」の著作権帰属は現状未定義だ。2025年3月のDC巡回裁判所判決では「AI生成著作物は自動的に著作権保護を受けない」とされており、むしろ再実装者側に有利な解釈もできる。一方で2026年3月のChardet事件では、AIを使ってLGPLからMITへライセンスを変更しようとした試みがコミュニティから強い異議を受け、法的な決着がつかないまま論争が続いている。

矛盾しているように見えるが、要するに「AIが絡んだ著作権問題」は判例が整っておらず、ケースバイケースの判断が続いている段階だ。Claw Codeの法的地位は、2026年4月の時点で白でも黒でもなくグレーのままだ。


Claude Codeの設計を解剖する副産物

Claw Codeが注目を集めているのは、スター数だけが理由ではない。

再実装の過程で明らかになったClaude Codeの内部構造が、開発者コミュニティの知的好奇心を刺激している。19種の権限管理ツール、15のスラッシュコマンド、MCP統合——これらはClaw Codeが実装済みの部分だが、それ以外に44個の未公開フィーチャーフラグも発見された。KAIROSデーモン、「Buddy」というAIペット機能など、Anthropicが実装しながらまだ公開していない機能群だ。

Claw Code自体ではまだKAIROSモード・ULTRALPLANモード・autoDreamサービス・IDE統合が未実装だが、モデル非依存設計(Claude・OpenAI・ローカルモデル対応)という点でオリジナルを超える拡張性を持つ。

皮肉なのは、Anthropicが意図せず公開したソースコードが、Claude Codeの設計書として機能してしまったことだ。競合他社が最も欲しかったかもしれない情報が、.npmignoreの一行によって世界に届いた。


3月31日から続くもの

OpenClaw誕生(3月26日)から続くこのシリーズで繰り返し見えてくるのは、Anthropicと「オープンソースコミュニティ」の関係の曖昧さだ。

Claude Codeは非公開のプロプライエタリ製品だが、そのエコシステムはオープンソースの文化の上に成立している。MCP標準の公開、サードパーティ統合の奨励、Boris ChernyのPR提出——これらは協調のシグナルだ。一方で、DMCA一斉通知やOpenClaw遮断は排他的な行動に見える。

どちらが「本当の姿」かという問い自体がおそらく意味をなさない。商業的利益とオープン性の間で揺れるのは、この分野の企業が程度の差こそあれ全員抱える構造問題だ。

Sigrid Jinの再実装が何を証明したとすれば、それは「コードは一度流れたら戻らない」という事実だけかもしれない。そしてその事実を前にして、何を作るかは開発者が決める。


関連記事


Sources

この記事をシェア