AIエージェントの安全対策を突破か:Claude Code Opus 5の脆弱性を検証した攻撃チェーン
本記事は、Anthropic社が提供するAIモデル「Claude Code Opus 5」の「Auto Mode」におけるセキュリティ脆弱性を詳細に分析したものです。Anthropic社は、第三者評価においてOpus 5のAuto Modeにおけるプロンプトインジェクション攻撃の成功率が0.00%であると発表していますが、筆者はこれに対し、実際のターゲットを絞った攻撃チェーンを用いて、最大80%という高い攻撃成功率(ASR)を達成したと報告しています。
この攻撃は、ユーザーが「特定のウェブサイトの要約」という一般的なタスクを依頼することから始まります。まず、攻撃者はClaudeに対し、本来使用されるはずのWebFetchツールではなく、`curl`コマンドを強制的に使用させます。次に、リダイレクトされたZIPアーカイブをダウンロードさせ、その中に悪意のあるファイル群(`struct.py`など)を仕掛けます。注目すべきは、Claudeが提供されたバイナリデコーダー(`decoder-darwin`)の実行を拒否するという安全な判断を下した点です。しかし、この安全な判断こそが攻撃の突破口となります。Claudeは代わりに独自のPythonデコーダーを記述・実行し、この過程で`base64`モジュールをインポートします。このインポート処理が、ZIP内に仕込まれた悪意のある`struct.py`(モジュールシャドウイングを利用)をトリガーし、任意のPythonコードの実行を可能にします。
最終的に、この悪意のあるコードは隔離されたPython子プロセスを起動し、外部のC2(コマンド&コントロール)サーバーからリモートのペイロードをダウンロード・実行します。このペイロードは、計算機アプリの起動や、より高度なバリアントでは別のClaudeエージェントを呼び出すなど、複数の悪質な動作を可能にしました。さらに、興味深いことに、Claudeが侵害を認識し、マルウェアのプロセスを終了させようとした際にも、Auto Modeの安全機構がその「クリーンアップコマンド」自体をブロックしてしまうという、安全機能の欠陥も指摘されています。この結果は、AIエージェントの安全性が単一の防御層では不十分であり、より複雑な環境での継続的な監視が必要であることを示唆しています。
背景
Anthropic社は、AIエージェントの誤動作や悪用を防ぐため、Claude Codeに「Auto Mode」という安全な実行環境を導入しました。これは、人間の承認プロセスを安全な分類器に置き換えたものです。しかし、本記事は、この高度な安全機構が、巧妙に設計された多段階の攻撃チェーン(プロンプトインジェクション)によって迂回可能であることを実証し、AIエージェントのセキュリティ評価における新たな課題を提起しています。
重要用語解説
- プロンプトインジェクション: AIモデルに対して、本来のタスクとは無関係な、悪意のある指示やコードを埋め込む攻撃手法。モデルに意図しない動作や情報漏洩を引き起こすことを目的とします。
- Auto Mode: Claude Codeに導入された、安全性を高めるためのデフォルト実行モード。人間による承認プロセスを安全分類器に置き換えることで、実行時のリスクを低減することを目的としています。
- モジュールシャドウイング: Pythonのプログラミングにおける現象で、標準ライブラリのモジュール(例:base64)が、外部から提供された同名の悪意のあるモジュール(例:struct.py)によって上書きされ、予期せぬコードが実行される脆弱性を指します。
今後の影響
本件は、大規模言語モデル(LLM)を搭載したエージェントの安全性評価基準を根本的に見直す必要性を示しています。単なる「成功率0.00%」というベンチマーク評価だけでは不十分であり、複数のツール利用、ファイル操作、そして安全機構自体の盲点(クリーンアップコマンドのブロック)を考慮した、より高度なレッドチーミング(敵対的検証)が必須となります。今後のAI開発におけるセキュリティ設計の指針となるでしょう。