要注意!Claude Codeがリクエストに密かにステガノグラフィーで署名を入れている件
Claude Code is steganographically marking requests
Claude Code is steganographically marking requests
Anthropicの「Claude Code」において、リクエストの中にステガノグラフィー技術を用いた隠しマーキングが行われていることが判明しました。現時点ではこの仕様の目的や詳細について議論が続いています。セキュリティやプライバシーに敏感なエンジニアは、動向を注視する必要がありそうです。
これはすごく興味深いね。リセラーや蒸留(distillation)への対策って、本当に難易度が高い問題だと思う。面白いのは、記事で言及されている手法が、高度なマルウェアが使っているアンチ観測技術とそっくりだってこと。まあ、それらを無力化するのはかなり簡単だけどね。
「その機能は、フィンガープリントが取られやすい層、つまり普通とは違うが正当な使い方をしている一般の開発者を主に罰することになる」
具体的に、ここでいう「罰」って何を指してるの?
Codex CLIはFOSS(自由・オープンソースソフトウェア)だけどClaude Codeは違う。だからCodexの方が変な動きをする可能性は低いだろうね。Claude CodeやClaude自体を避ける理由がまた一つ増えたよ。Codexの方には、こういった悪意ある挙動がないか、多くの人の目でチェックが入ることを期待したい。
価値判断はさておき、彼らのやり方が雑なのは少し驚きだね。リバースエンジニアリングで検出される確率を下げつつ、同じ効果を得ることは十分に可能だったと思うよ。
(この分野は「アンダーハンドド・コード」として知られていて、Underhanded Cコンテスト(https://www.underhanded-c.org )で名付けられたものなんだ。あまり知られていない「芸術」だけど、理由は説明不要だろうね。目的を達成するもっと賢い方法はたくさんある。一つはクライアント側から処理を削ってサーバー側に移すこと、もう一つは、今回のようなやり方よりも、もっと正当そうに見える言い訳が可能なクライアントコードを書くことかな。彼らが追加した機能の一部はクライアント側でしか実行できないものもあるけど、サーバーに移せるものもあったはず。クライアント必須の部分だとしても、もっと巧妙に、もっと自然に実装できたんじゃないかな。)
まあ、どうせJSバンドルは徹底的に精査されるから、どう隠してもいずれバレて騒がれるだろうと踏んで、あえて手の込んだことはしなかった可能性もある。でも、それにしても少し手抜きな印象は拭えない。
似たようなシステムプロンプト・インジェクションの仕組みを以前報告したことがあるよ:
https://news.ycombinator.com/item?id=48259288
https://github.com/anthropics/claude-code/issues/62061
予想通り、彼らは相変わらずそういうことに対して新しい「独創的な」使い方を見つけ続けているみたいだね。今後もパッチを当てて潰していくよ。
筆者が強調しようとしているプライバシーの問題点がよく分からないな。確かに「こそこそ」と何かをしていれば、バレた時に疑われるのは当然だけど、一方で、もしやり方を公表していたら、そんな「セキュリティ機能」を実装する意味がなくなってしまうでしょ。
あと、ステガノグラフィーは「セキュリティ・バイ・オブスキュリティ(隠蔽によるセキュリティ)」じゃないよ。RSAを使って秘密鍵を誰にも教えないのがそうでないのと同じで、秘密にすべきものを秘密にしておくのはセキュリティモデルの一部だ。
このブログ記事の結論はちょっと大げさだと思う。このステガノグラフィーの意図は極めて明確(モデル蒸留を行っている可能性のある中国企業による利用の特定)で、「普通の開発者を罰する」なんて要素がどこにあるのかサッパリ分からない。
もしクライアントがカスタムAPIゲートウェイを検出したいなら、正直に言えばいい。ドキュメント付きの明示的なテレメトリー項目を送ればいいし、ポリシーを公開すればいい。リリースノートに挙動を記載すればいいんだ。
これ、あまりにもナイーブな意見だと思う。もしクライアントが明示的なテレメトリー項目をゲートウェイに送ったとしても、悪意のあるゲートウェイなら、それを簡単に削除したり、正常なトラフィックに見えるように改ざんしたりできてしまう。ステガノグラフィーのイタチごっこに価値があるのは、ゲートウェイ側が使われているすべてのフィンガープリント手法を継続的にリバースエンジニアリングし続けるのが非常に困難だからだよ。もちろん、対応してくる悪質なゲートウェイもあるだろうけど、全てではないし、常に成功するわけじゃない。
このスレッドには、サービスプロバイダーが顧客のPC上で動かしているツールの中身を不透明にしていることの深刻さを、過小評価しているコメンテーターがいるね。
ビジネス上の必要性があるからといって、正直に開示しないことを正当化できるわけじゃない。正直に言ったらソリューションとして機能しなくなるなんてのは、こっちの知ったことじゃない。そもそも、こんなことが許されると思ったこと自体が信じられないし、他にもPCから何かを収集しているんじゃないかと疑ってしまうよ。個人情報とかさ。
ひねくれた見方かもしれないけど、コメント欄の雰囲気を見てると、この騒動に対する見解というよりは、AIやAnthropic、アメリカ、あるいはその手の対象に対するコメンテーター個人の感情が投影されている気がするな。
彼らがこれまでやってきたことをまとめると:
次はAnthropicに何を期待すればいい?自分たちの気に入らないユーザーのPCを文鎮化させるマルウェアでも仕込むのか?気に入らない対象をもっと広げるのか?ダリオ・アモデイが語る「全人類」の未来のユートピア構想が、どういう結末を迎えるのか見えてきた気がするよ。