Claude Codeのソースコード全体が流出した事件の全貌

Anthropic・Claude・ダリオアモデイ
この記事は約17分で読めます。

AnthropicのClaude Codeのソースコード全体が意図せず公開される事態が発生した。エイプリルフールの前日、日常的なアップデート作業中にサイトマップを誤ってプロジェクトに含めてしまったことが原因である。JavaScriptプロジェクトの性質上、コードが人間に読める形で露出してしまった。この事件は、AI生成コードの著作権問題、高速開発の是非、オープンソースコミュニティへの影響など、多岐にわたる論点を提起している。特に注目すべきは、Pythonへ移植されたバージョンのリポジトリが出現し、AI生成コードの著作権保護という未解決の法的グレーゾーンが浮き彫りになったことである。

Claude Code's entire source code was leaked
Claude Code's entire source code was leaked. And more interestingly, it was ported to Python to get around copyright law...

ソースコード流出の経緯

新しいオープンソースのコーディングエージェントが登場しました。ただしそれはOpen CodeでもCodexでもありません。実はClaude Codeなんです。しかもこれは意図的なものではありませんでした。エイプリルフールの前日である今日、AnthropicがClaude Codeに日常的なアップデートを行っていた際、小さなミスが発生しました。基本的には、プロジェクトにサイトマップを誤って含めてしまったということです。

これが実際に何を意味するのかについて少しお話ししますが、ジーニーは瓶から出てしまいました。インターネットがどう機能するかは皆さんご存知でしょう。一度何かが外に出てしまうと、それを取り戻すのはかなり難しいんです。Anthropicは最善を尽くしていて、コードをダウンロードしようとしても利用できない状態になっています。これは継続的に起こっていて、修正されています。

これはCloudflareでホストされているので、正確に何が起こっているのかは分かりません。Cloudflare側の問題なのか、それともこの人物が毎回再アップロードしているだけなのか分かりません。でも私はソースコードをダウンロードすることができました。そしてこれには大量の影響があると思います。これが実際に重要である理由はたくさんあると思います。というのも、皆さんが抱くかもしれない主な疑問は、これが一体何の問題なのかということだからです。誰が気にするんだと。でも実際には重要だと思うんです。ただし多くの人が考えるような理由ではありません。

サイトマップとJavaScriptの性質

まず簡単に説明したいと思います。短いバージョンはこうです。JavaScriptのような言語では、特にサイトマップという概念があって、プロジェクトが実行されている間にソースコードを見たい場合、それができるんです。一般的にはブラウザで行われますが、プロジェクトが実際に本番環境にデプロイされる際には、通常それはありません。コードは最小化され、人間には読みにくくなり、デバッグも実際には簡単ではなくなります。そしてそれは通常意図的なものです。

ご存じなかったかもしれませんが、Claude Codeは信じられないことにJavaScriptプロジェクトなんです。そう、ターミナルUIはJavaScriptで構築されています。具体的にはbunです。実はこれがbunの買収が行われた理由なんです。Claude Codeはbunに大きく依存しているからです。でも多くのコードでは、そういったことが起こるリスクは実際には存在しません。というのも、ご存知のとおり、ほとんどのコードはバイトコードやアセンブリ、バイナリなどにコンパイルされるからです。

だからデフォルトでは人間には読めません。でもPythonやJavaScriptのようなインタープリター言語ではそうではないんです。だから明白な仮定としては、これがどうやって可能だったのかということになります。通常は起こらないことだからです。そして実際にClaude Codeが最初にリリースされたときにも起こっていました。

1年ほど前だったと思いますが、実際にサイトマップを誤って含めてしまったことがあったんです。でもその時点ではプロジェクトがそれほど成熟していなかったので、大きな問題にはなりませんでした。でも今回はソースコードから人々が学んでいることがたくさんあります。そして私が言ったように、長期的にはコードが公開されているという事実は、それほど重要ではないと思います。

人々がそこから学ぶようなクレイジーなことは何もないと思います。競合他社が秘密のソースを全部手に入れて、Claude Codeが失敗するなんてことはないと思います。そして多くの人がおそらくAnthropicを非難したがるだろうと分かっています。なぜなら声明を出したにもかかわらず、その声明では実際に顧客データなどは露出していないと述べていて、それはかなり重要なことだからです。

でも彼らは具体的にこう言いました。これはセキュリティ侵害ではなく、人的ミスによって引き起こされたものであり、今後これが起こらないように対策を展開しているとのことです。さて、これは正確には何を意味するのでしょうか。手動のエラーだったということでしょうか。それとも誰かがバイブコーディングをやりすぎて、コードをレビューせずに、速く進めというマントラに従って、ソースコード全体を流出させてしまったということでしょうか。もし推測するとしたら、おそらくそれだったと思います。というのも、このようなことが起こるには複数の失敗が必要だからです。

人的ミスとレビュープロセス

サイトマップを含めてしまったのは人的ミスですが、通常はそういったことはレビューで捕捉されるはずです。デプロイプロセスやスクリプトのような自動化されたプロセスがあって、それがこれを引き起こした可能性もあります。でもそれでさえ、特定のガードレールのようなものが必要なはずです。

多くの人がこう言うでしょう。これはClaude Codeチーム全体が従っている哲学を証明しているのだと。彼らはこのツールを使ってこのツールを構築していて、コーディングは死んだとか、その変形のようなことを言っていて、誰もコードを書いたり読んだりするべきではないと手動で言っているわけです。でも私は今日のスポンサーについて話した後で、その反対側についても話したいと思います。これは完璧だと思います。

Gretileです。デプロイ前にバグを捕捉したいですか。それならGretileをチェックしてみることを検討すべきです。私は個人的に数ヶ月間使っていますが、本当に気に入っています。私は今でも、レビュープロセスに人間が関与することが重要だと信じています。Gretileのチームもそう信じています。

ツールを取って、レビュープロセス全体をそのツールに委任するだけではないんです。でも人間にも欠陥があることは分かっています。人々はAIを非難するのが好きですが、人間がコードを十分にレビューしなかったために人間が出荷したバグもたくさんあります。だから私はGretileが好きなんです。レビューの特定の側面を自動化するだけでなく、実際にレビュアーとして行われた変更のコンテキストを持つのに役立つからです。

最近Neat Codeでたくさんのものを出荷しています。私の仕事の多くは主にレビュアーとしてのものでした。だから私はコードを見ますが、時にはたくさんのコードがあります。Gretileがレビュアーとしてやってくれることは、私は一般的に何が起こっているのか、何を達成するのか、どのような主要な設計上の決定がなされたのかを知りたいんです。だからかなり便利なチャートを提供してくれます。たとえばこのフローチャートのように、論理的にコードの最も重要な部分を取って、それをはるかに人間に読みやすくしてくれるんです。

だから、私が言ったように、ツールに全てをレビューさせるだけではないんです。好きなだけ関与することもできますし、少なく関与することもできます。だから私が本当に好きなレベルのコントロールを提供してくれます。そして完全に無料で試すことができます。だから試さない理由は本当にありません。

クレジットカードを入力する必要さえありません。14日間無料で使えます。これを使っている企業はたくさんあって、増え続けています。だから私の言葉だけを信じるのではなく、自分で試してみてください。どう思うか見てください。説明欄のリンクでチェックしてください。Neat codeから来たと伝えてください。でも私が言ったように、Claude Codeチームとおそらく彼らの哲学全体を非難する傾向がある人々の議論の反対側も考えたかったんです。それをやるのは公平なことです。

高速開発か慎重な開発か

彼らが言ったこと全てに同意しているわけではありませんし、場合によっては誇大宣伝しすぎたり、誇張したりしていて、一部の人々は彼らが私たちの仕事を奪おうとしていると感じていて、これはClaude Codeチームが間違っていたことの証拠だと感じています。彼らは大きなミスをしたのだと。でも別の側面としては、これはビジネスを行うコストに過ぎないということかもしれません。大局的に見れば、チームが機能を追加してきた速度は、誰もがその機能を使っているかどうかは分かりませんが、かなり速いので、それだけの価値があるということです。長期的にはそうなる可能性があると思います。私は必ずしもどちらか一方に偏っているわけではありませんが、ただ反対側もあると言っているだけです。

Anthropicはこれを喜んでいないと確信していますが、私が言ったように、これが彼らのビジネスを殺すことにはならないと思います。それほど大きな影響を与えるとは思いません。一部の人々はゆっくり進む価値があると考えています。一部の人々はミスをしてでもはるかに速く進む価値があると考えています。マントラは速く進み、物を壊せというものでした。そして多くの人々は、どれだけ極端になれるかについて意見が分かれていると思います。

スペクトラムの一方の側にいる人もいれば、反対側にいる人もいます。私は中間のどこかにいようとしていますが、長期的にどの選択が正しいかを言うのは難しいです。実際には正しい方法があるとは思いません。実際には異なる方法で成功できると思います。でもソースコードから学んだ興味深いことがたくさんありました。

ソースコードから明らかになったこと

面白いことの一つは、すでに知っていたようなことでした。私は個人的に、Open Codeというオープンソースツールについて多くのことを、Anthropicがインスピレーションを得ていると思います。コードを見てみると、私がこれで問題になるかどうか分かりませんが、技術的にはこれはコードの一部で、よく見るとOpen Codeからいくつかのスクロール動作をコピーしていることが分かります。

技術的にはOpen Codeはオープンソースです。だからClaudeチームにとって幸運なことに、コードを見るだけでいいんです。一方でOpen CodeがClaudeから機能をコピーしたい場合、実際にはその恩恵を受けられませんでした。少なくとも今まではです。でももっと面白いことがあります。

誰かが元のソースコードを手に入れた場合に備えて、これはおそらく言及すべきだと思います。私が皆さんなら、ローカルで実行しようとはしないでしょう。誤ってインストールされる可能性のあるマルウェアがいくつかあるからです。だから本当に何をしているか分かっていない限り、元のソースコードを実行しようとしないでください。

最後の方で実行できるコードのソリューションをお見せしますが、Anthropicがいくつかのアンチディスティレーションシステムを組み込んでいることは注目に値します。基本的に、競合他社がClaude Codeからのプロンプトと出力を使おうとしている場合、それをより困難にするということです。これはおそらくDeepSeekや他の中国企業を標的にしたものでしょう。この時点で彼らが明らかにショートカットを取ってそこに到達したことが分かっているからです。これは私が1年以上前に話したことです。

私はそれが最大の結果であり、ディスティレーションの側面だと言いました。多くの人は信じませんでした。一部の人々は実際にDeep Seekや他のモデルが、アーキテクチャの変更のおかげで本当に優れていると思っていました。それも一部ではありました。彼らはいくつかの賢いことをしました。でも私が言ったように、彼らはいくつかのショートカットも取りました。

だからこれは鶏が先か卵が先かの状況になるでしょう。私が言ったように、これが公開されているという事実は、DeepSeekの人々は回避しなければならないことがあることを知るのに十分賢いと確信しています。だからこれはそれほど大きな問題だとは思いません。少し面白くて、また少し怖いと思ったことの一つは、Claude Codeが不適切な言葉を検出するたびに、私が不適切な言葉のリストをお見せしますが、いくつかは興味深いものです。それが検出されると、静かにデータベースにログを記録します。

不適切な言葉の検出とプライバシー

おそらく寛大に解釈したい場合、好意的に解釈すれば、おそらく彼らがそうしているのは、不適切な言葉を使っているということはおそらく結果に満足していないということで、そのデータをモデルの改善に使えるということです。それが一つの解釈です。

もう一つは分かりませんが、もしそのデータベースが漏洩したら、もしAnthropicが漏洩したら、私は間違いなくそこにかなりたくさん載っていると思います。Wesという人物からの不適切な言葉のリストを見てみると、いくつかは面白いことが分かります。たとえばpeeやpoo、さらにはdamnなどです。

残りのものはおそらく納得できると思いますが、私はそのデータベースにかなりたくさん載ることになると思います。そしてそれについて良い気分にはなりません。でもTwitterで見た本当に良い記事がありました。コードベースについてもっと知りたい場合はどうぞ。でも私が言ったように、これは実際にはほとんどの人にとって最も興味深いことではないと思います。

私はアクセス権を持っています。少し読み通しました。お見せしたいのですが、実際にはこのコンピューターには入っていません。著作権の側面が怖いわけではありません。このビデオが削除されても、私にとって世界の終わりではありません。でも大部分において、コードの品質はそれほど悪くありませんでした。

約50万行のコードだと思いますが、これはひどいものではありません。Open Codeと比較すると、約10万行から12万行のコードがあると思いますが、両方ともTypeScriptで書かれています。だからかなり比較可能です。そしてこれは理にかなっています。Open Codeチームはゆっくり進み、より慎重になるという異なる哲学を持っているのに対し、Claude Codeチームはエージェント経由で全てのコードを書いていることを非常に誇りに思っているからです。

未公開機能とサブエージェント

でも人々が発見した未公開の機能がたくさんありました。興味深い結果の一つは、サブエージェントの実行が基本的に無料だということです。Anthropicはプロンプトキャッシュのおかげで、サブエージェントを実行している場合、コードベースの異なる部分で作業していても、単一のエージェントを使用するよりもそれほどコストがかからないような方法でそれを行いました。

個人的には、それは実際には私の経験ではありませんでした。私はサブエージェントをたくさん使います。主に自分が何をしているかある程度分かっている場合に物事をスピードアップするためです。ある言語から別の言語へのコード移行を行っている場合のように、通常はそれほど頻繁には行いませんが、サブエージェントを使っています。10個のサブエージェントを使います。そして私はそれが好きです。なぜならとても簡単だからです。

多くの点で英語がプログラミング言語のようなものだと言えます。私はただ言うんです。たくさんのサブエージェントを使ってください。10個のサブエージェントを使ってください。私はとても具体的です。一度に10個のサブエージェントを使ってくださいと言います。彼らに非常に小さなタスクを与えて、一つが死んだら別のものと交換してください。なぜならコンテキストウィンドウが問題になる可能性があることを知っているからです。彼らがそれに取り組んだとはいえ、それが通常最大の問題だと感じているので、タスクを範囲を小さく保とうとしています。でも全てを見ていくことはしませんが、最大の結果は多くの人が今話していないことだと思います。

実際にはこのリポジトリです。Anthropicは、元のソースコードを取ってGitHubに置くと、明らかにAnthropicからDMCA通知を受けることになります。でもこのリポジトリはまだDMCA通知を受けていません。少なくとも今のところは。

Pythonへの移植と著作権のグレーゾーン

それは実際にポートだからです。誰かが十分に賢くて、これをするのに天才である必要はありませんが、基本的にはCodex、OpenAIのツールを使って元のソースコードをPythonに移行させたんです。だからAnthropicが技術的に自分たちのコードを所有していて、それさえもかなりグレーゾーンで話したいことですが、技術的に自分たちのソースコードを所有しているとして、このコードも所有しているのでしょうか。なぜなら最近こういうことが起こっているのを見てきたからです。CloudflareがVercelのツールをポートするのを見ました。

そして明らかに、彼らがそのポートを行うことができたのは元のソースコードを見たからです。でもこれらのAIツールは素晴らしいですが、元のソースコードなしでClaude Codeを作成するように指示しても、うまくいきません。でも元のソースコードがあれば、さらに良いことにテストがあれば、実際には今回の流出では漏洩しませんでした。それはおそらく良かったですが、十分ではありませんでした。ポートはまだ存在しています。

でもテストは実際にポートを完成させるのをはるかに簡単にします。なぜなら検証のようなものと、コードが実際にどうあるべきかの期待値を与えてくれるからです。そうでなければこれらのツールはかなり幻覚を起こし、実際に求めている機能が常に得られるわけではありません。Anthropicが取ることができる別の可能性のある解決策は、彼らがそれを受け入れて、今やハーネスがオープンソースであるということだと思います。

私が言ったように、それは彼らを殺さないと思います。彼らの会社を殺すことはないでしょう。他の会社もそれをやっています。CodexやOpen Codeなどです。そして秘密のソースはまだモデルとこの時点でのブランドにあると信じています。Open CodeはClaude Codeと同じくらい優れていると思います。ハーネスとして、そして体験として、さらに良いかもしれません。

でもそれは、ビジネスが失敗するか成功するかを決定するものではありません。それに関わる他のことがたくさんあります。だからAnthropicが実際に何をするのかを見るのは非常に興味深いでしょう。彼らが何をするのか全く分かりませんが、それが何であれ、コードを書く人にとってかなり大きな影響があるでしょう。

私たちの良き友人Caseyは、AIツールがどのように構築されているかの著作権側面の大きな批評家ですが、彼は非常に妥当な質問をしました。この新しいリポジトリは実際に著作権法に違反しているのでしょうか。なぜならAnthropic自身によれば、彼らの開発者は手でコードを書いていないからです。

そして私たちが知る限り、AI生成コードは米国法の下では著作権保護されません。だから彼らはこのコードをDMCA通知すべきではないし、おそらく元のClaude Codeのソースコードさえもそうではないはずです。そして私は、たとえそれがAI生成であったとしても、彼らが自分たちのコードを所有していないと主張するのは難しいかもしれないと思います。

でもそれでも、これは私が弁護士ではないということです。もしご存じなかったら、今知りました。でも弁護士であったとしても、これは些細なことではありません。地球上のどんな弁護士もこれに対する明確な答えを持っていません。つまり、いくつかの先例はありますが、これは完全に決定されているような種類のものだとは思いません。

私たちは今、これがグレーゾーンである時代にいます。そしてしばらくの間グレーゾーンであり続けると思います。多くの場合、私たちは法律が実際に施行されない限りかなり意味がないことを忘れていると思います。特に企業の世界では法律を破ることができます。それを裁判所に持ち込むことができます。それを争うことができます。それを引き延ばすことができます。だからAnthropicは間違いなくこれについて考えていると確信しています。でももし彼らがこのコードをDMCA通知するとしたら、おそらく訴訟になるでしょう。それは些細なことではないでしょう。

AI生成コードの著作権問題

この個人がそれと戦うかどうか明らかに分かりませんが、それには多くの結果があるでしょう。それは先例を作ることになります。その意味するところは、AIでコードを書いたこの人物は、実際にはAIで書いたコードを所有していないということです。

だから理にかなっていると思います。でもその意味するところは、AIで書かれたコードは著作権保護されないということです。今のところそれが先例のようですが、私が言ったように、これはAnthropicにとってある意味負け負けの状況です。だから彼らがどれだけお金を持っていて、このリポジトリを追いかけることができるとしても、おそらく二度考えているでしょう。なぜならその下流効果があることを知っているからです。

そしてそれが長期的なことになると思います。そしてそれはおそらくどちらにしてもオープンソースコミュニティにとって良くないでしょう。なぜなら文字通りオープンソースプロジェクトを取って、それを別の言語に移植して、自分が所有していると言うことができるのであれば、誰もコードをオープンソースにしたくなくなるでしょう。

そして私たちはすでにそれが少し展開されるのを見てきました。具体的には、テストに関してそれを見てきました。なぜなら、私が先ほど言及したCloudflareとVercelのドラマで見たように、彼らがそのポートを行うことができた理由は明らかにコードを見たからです。これらのAIツールは素晴らしいですが、元のソースコードなしでClaude Codeを作成するように指示しても、うまくいきません。

でも元のソースコードがあれば、さらに良いことにテストがあれば、実際には今回の流出では漏洩しませんでした。それはおそらく良かったですが、十分ではありませんでした。ポートはまだ存在しています。でもテストは実際にポートを完成させるのをはるかに簡単にします。なぜなら検証のようなものと、コードが実際にどうあるべきかの期待値を与えてくれるからです。

そうでなければこれらのツールはかなり幻覚を起こし、実際に求めている機能が常に得られるわけではありません。Anthropicが取ることができる別の可能性のある解決策は、彼らがそれを受け入れて、今やハーネスがオープンソースであるということだと思います。私が言ったように、それは彼らを殺さないと思います。彼らの会社を殺すことはないでしょう。

今後の展望

他の会社もそれをやっています。CodexやOpen Codeなどです。そして秘密のソースはまだモデルとこの時点でのブランドにあると信じています。Open CodeはClaude Codeと同じくらい優れていると思います。ハーネスとして、そして体験として、さらに良いかもしれません。

でもそれは、ビジネスが失敗するか成功するかを決定するものではありません。それに関わる他のことがたくさんあります。だからAnthropicが実際に何をするのかを見るのは非常に興味深いでしょう。彼らが何をするのか全く分かりませんが、それが何であれ、コードを書く人にとってかなり大きな影響があるでしょう。

だから何が起こるか見なければなりません。

コメント

タイトルとURLをコピーしました