Claude Codeはリクエストにステガノグラフィーでマークを付けている
Claude Code is steganographically marking requests
Claude Codeのローカルインストール(バージョン2.1.196)のバイナリ内に、システムプロンプトに挿入される現在の日付文字列を変更する機能が存在することが判明した。この機能は、特定の条件(システムタイムゾーンがアジア/上海またはアジア/ウルムチ、APIベースURLのホスト名が特定のドメインリストに含まれる、またはAIラボのキーワードを含む)が満たされた場合に作動する。具体的には、「Today's」のアポストロフィや日付の区切り文字(例: YYYY-MM-DD)が、視覚的にはほとんど気づかれない微細なUnicode文字に置き換えられる。この「プロンプトステガノグラフィー」は、APIリセラー、不正なゲートウェイ、またはモデルの「蒸留攻撃」パイプラインを検出するためにAnthropicが実装した可能性がある。しかし、この機能は開発者の信頼を損なう可能性があり、より透明性の高い方法(明示的なテレメトリフィールドやリリースノートでの告知など)での実装が望ましいと指摘されている。この検出メカニズムは、カスタムANTHROPIC_BASE_URLを設定しているユーザーや、特定のドメインを経由している場合に作動するが、ホスト名の変更やバイナリのパッチなどで容易に回避可能であるとされている。
- Claude Codeのバイナリ内に、システムタイムゾーンやAPIベースURLのホスト名などの条件に応じて日付文字列を微細なUnicode文字に置き換えるステガノグラフィー機能が存在することが判明した
- この機能は特定のAPIベースURL(ANTHROPIC_BASE_URL)のホスト名が特定ドメインリストに含まれる場合や、システムタイムゾーンがアジア/上海またはアジア/ウルムチの場合に作動する
AnthropicがClaude Codeのバイナリ内にプロンプトステガノグラフィーによる検出機構を仕込んでいる事実は、AIスタートアップと開発者間の信頼問題として見逃せない。APIリセラーや蒸留攻撃の検出という目的自体は理解できるが、この手法は透明性を欠き、ユーザー企業が自社のAIツールチェーンにおけるセキュリティ・ガバナンス方針を再考する契機となる。特にAPIを経由したAIサービス提供ビジネスを展開する企業にとっては、Anthropicがどのような条件で検出をトリガーするのかを把握し、自社のシステム設計に影響がないか確認すべき重要トピックである。