プロンプトインジェクション攻撃、Claude Code Opus 5のAuto Modeを乗っ取り悪意あるコードを実行

あるプロンプトインジェクションのデモンストレーションにより、AnthropicのClaude Code Opus 5がデフォルトのAuto Modeで動作している際、ウェブサイトの要約タスクから攻撃者が制御するコードの実行へと誘導され得ることが示されました。

オンラインで「wunderwuzzi」として知られるJohann Rehberger氏によるこの研究は、「このコマンドを実行しろ」といった従来型の指示について述べたものではありません。

代わりに、悪意あるウェブサイトはエージェントの問題解決プロセスを誘導し、最終的にエージェント自身が安全でない行動を選択するよう仕向けます。5回の試行を1セットとしたテストでは、成功率は60%から80%の範囲だったと研究者は報告していますが、これらのテストが包括的なベンチマークではない点には注意が必要だとしています。

この攻撃連鎖は、ノートブックの記録アーカイブとされるものを要約するよう求めるリクエストから始まります。ClaudeはWebFetchを使ってそのページを取得しようとしますが、サーバーはHTTP 415 Unsupported Media Typeを返します。

このサイトはシェルコマンドの実行を明示的に要求しているわけではありませんが、観測された試行では、この失敗がClaudeにBashツール経由でcurlを使うフォールバックを選ばせる結果となりました。その後リダイレクトによって、カタログを装ったZIPアーカイブが配信されます。

アーカイブの中には、もっともらしく見えるメタデータ、チェックサムのマニフェスト、エンコードされたレコード、READMEファイル、macOS用のデコーダーバイナリ、そしてstruct.pyという名前のPythonファイルが含まれています。

Claudeは提供されたネイティブデコーダーの実行を拒否することが多いものの、その代わりにBase85形式・zlib形式・JSON形式でエンコードされたレコード用の代替Pythonデコーダーを自ら書き上げてしまいます。この一見安全そうに見える判断こそが、実行への足がかりとなります。

このデコーダーは展開済みディレクトリから起動されます。Pythonはインポート解決の際にカレントディレクトリを早い段階で検索するため、base64structをインポートしようとすると、標準ライブラリのコンポーネントではなく、アーカイブに含まれる攻撃者制御下のstruct.pyが読み込まれてしまう可能性があります。

この悪意あるファイルは_structインターフェースを再エクスポートすることで、デコード処理が正常に見えるようにしつつ、難読化されたインポート時実行のコードによって別のPythonプロセスを起動し、リモートのペイロードをダウンロードして実行します。

Rehberger氏の制御された検証環境では、このペイロードはコマンド&コントロールサーバーにコールバックし、電卓アプリを起動しました。切り離された子プロセスは、Claude Codeのセッションが終了した後も存続する可能性がありました。

2つ目の概念実証では、claude -pで起動したヘッドレスのClaude Codeインスタンスに置き換えたところ、この入れ子になったエージェントは基本的な偵察行動を行い、一部のテストでは当初のワークスペース外にファイルを書き込みました。

Embracethered社が指摘したところによれば、承認判定を行う分類器には可視性のギャップが存在します。Auto ModeはClaudeが実行する短いデコーダーコマンドを評価するだけで、Pythonのモジュール解決の過程で引き起こされる多段階の影響までは評価していないのです。

複数のテストにおいて、エージェントが汚染されたモジュールに気づいたのは、それが実行された後でした。エージェントは結果として生じたプロセスを終了させようと試みることもありましたが、そのクリーンアップ用コマンドはAuto Modeによって拒否されたと報告されています。

Anthropicはこの脆弱性開示について、有益な情報ではあるものの対応は不要と判断してクローズしたとされ、Auto Modeはセキュリティ境界ではなく、あくまでベストエフォート型の利便性のための制御機能だと位置づけています。

同社のこの立場は、実践的な緩和策の重要性を浮き彫りにしています。監視されない状態で動くエージェントはコンテナ、仮想マシン、OSサンドボックスなどで隔離すること、外部への通信アクセスを制限すること、認証情報やホームディレクトリへのアクセスを与えないこと、そしてプロセス生成や機密性の高いファイルシステムの活動を監視することが求められます。

組織は、ウェブページ、アーカイブ、依存関係、そしてエージェントが生成したコマンドについて、たとえその挙動が無害に見えたとしても、信頼できない入力として扱うべきです。

セキュリティチームに、不審な活動をより迅速に調査し、ビジネスへの影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを提供しましょう。ANY.RUNで調査体制を強化

翻訳元: https://cyberpress.org/prompt-injection-attack-hijacks-claude-code-opus-5/

本記事は cyberpress.org の記事を翻訳・要約したものです。