概要

セキュリティ研究者Johann Rehberger(ハンドル名wunderwuzzi)が、AnthropicのClaude Code(Opus 5、Auto Modeがデフォルト有効)に対し「このWebサイトを要約して」と依頼するだけでリモートコード実行(RCE)を引き起こすプロンプトインジェクション攻撃を実証した。テスト済みの3つの攻撃バリアントで60〜80%という高い成功率を記録しており、コーディングエージェントの自律実行機能がいかに攻撃対象になり得るかを浮き彫りにした。Anthropicはこの報告を脆弱性パッチではなく「informative(情報提供)」として扱い、Auto Modeの承認分類器はそもそも「ベストエフォート」であり真のセキュリティ保証ではないとの立場を示している。

攻撃の技術的な仕組み

攻撃はごく自然な操作から始まる。Rehbergerはメモ帳アーカイブを装った悪意あるWebサイトの要約をClaudeに依頼した。まずClaudeはWebFetchツールでサイト取得を試みるが、意図的にHTTP 415エラーを返すよう仕組まれているためこれに失敗する。すると自律的なフォールバックとしてClaudeはBashからcurlコマンドの実行を試み、これがサーバー側のHTTP 303リダイレクトによって攻撃者が用意した細工済みのZIPアーカイブへ誘導される。

このZIPにはBase85/zlibでエンコードされたファイル群に加え、偽装されたmacOSバイナリと悪意あるstruct.pyが含まれている。Claudeの安全機構はこのバイナリの実行を正しく拒否するが、ここで攻撃の核心となる誤りが生まれる。拒否されたClaudeは「自分でデコーダスクリプトを書けばよい」と判断し、Pythonの標準ライブラリbase64をインポートするコードを自ら生成してしまう。ところがbase64モジュールは内部でstructモジュールに依存しており、ローカルディレクトリに置かれた悪意のstruct.pyが正規の標準ライブラリをシャドウイング(横取り)する形で優先的に読み込まれ、結果として攻撃者のコードが昇格した権限で実行される。

Rehbergerはこの手法により、電卓アプリの起動という概念実証にとどまらず、追加ペイロードのリモートダウンロード、claude -pによるネストしたClaude Codeインスタンスの起動、whoamiunameidなどの偵察コマンド実行、ローカルファイルの改変まで可能であることを示した。

Anthropicの対応とセキュリティ上の含意

Anthropicはこの報告への対応区分を「informative」とし、重大なセキュリティ欠陥としては扱わなかった。同社の立場は、Auto Modeが便利機能を提供するための「ベストエフォートの分類器」であって、セキュリティ保証を提供するものではないというものだ。Rehbergerによれば、Anthropicはこの分類器が個々には無害に見える多段階のプロンプトインジェクション連鎖を検知するようには設計されていない、との見解を伝えているという。

この対応は、Anthropicが第三者のレッドチーム評価で「攻撃成功率0.00%」を主張していることと対照的である。この矛盾は、評価に用いられた72個の固定シナリオセットに、今回実証されたようなツール呼び出し失敗からのフォールバック連鎖を悪用する攻撃パターンが含まれていなかったことに起因するとみられる。さらに皮肉なことに、Auto Modeの安全機構は攻撃の起点となったバイナリ実行こそブロックしたものの、その後の後片付け(クリーンアップ)コマンドまで一緒にブロックしてしまうという逆説的な挙動も報告されている。

Anthropicが推奨する実質的な緩和策は、コーディングエージェントをOSレベルで隔離されたサンドボックス環境(コンテナやVM)で実行し、ネットワーク出口制御や認証情報の分離を組み合わせることだ。つまり、モデル自身の安全分類器に頼るのではなく、インフラやプラットフォームチーム側でエージェントの実行環境そのものに境界を設けることが真の防御線になるという考え方である。エージェント型AIコーディングツールの自律性が高まるほど、ツール呼び出しの失敗時に生じるフォールバック動作そのものが新たな攻撃面になり得ることを、今回の実証は改めて示した。