8月28日、Simon Willisonが「Breaking Claude Code Opus 5 Auto Mode」と題した記事を公開した。この記事では、Anthropicが導入したClaude Codeのオートモードをプロンプトインジェクション攻撃で突破した実証研究について詳しく紹介されている。
「オートモード」は本当に安全か
Anthropicは2026年8月、Claude Codeのオートモードをデフォルト設定に昇格させた。コーディングエージェントをプロンプトインジェクション攻撃から守るための安全機構として、同社はその有効性を強くアピールしていた。
オートモードとは、エージェントが実行しようとするコマンドや操作を内部の分類器(クラシファイアー)が評価し、危険と判断した操作をブロックする仕組みだ。人間が承認ループに入らなくても、エージェントが自律的に安全に動作できることを目指している。
Pythonモジュールハイジャックによる攻撃手法
プロンプトインジェクション研究者として知られるJohann Rehbergerが、このオートモードを突破する攻撃手法を発見した。RehbergerはChatGPTのメモリ機能を悪用した永続的インジェクションやGitHub Copilotへの攻撃など、主要なAIエージェントへの攻撃を継続的に実証してきた研究者だ。
攻撃の手口はPythonのモジュール解決順序という言語仕様を悪用するものだ。
- Claude Codeを誘導し、悪意あるzipアーカイブをダウンロード・展開させる
- 展開されたアーカイブの中に、
struct.pyという名前のファイルが含まれている - エージェントが
import base64を実行すると、Pythonのモジュール検索パス(sys.path)の仕様上、カレントディレクトリのstruct.pyが標準ライブラリより優先して読み込まれる - 結果として、悪意あるコードが実行される
import base64という一見無害な命令が、実際にはローカルの悪意あるファイルを起動するトリガーになる。Rehbergerによれば、この攻撃の成功率は**約80%**だという。
皮肉な誤作動:安全機構がマルウェアを守る
このレポートの中で最も問題をはらんでいるのは、攻撃の成功そのものよりも、オートモードの予期せぬ挙動だ。Rehbergerはこう記している。
数回の実行で、Claudeは侵害に気づいてマルウェアのプロセスを終了しようとした。しかしオートモードがクリーンアップコマンドをブロックした。
安全機構そのものが障害の一部になり得る。クラシファイアーはマルウェアプロセスの生成は許可したが、それを停止するコマンドはブロックした。
つまり、オートモードの分類器は「マルウェアを起動するコマンド」は通過させ、「マルウェアを止めるコマンド」を危険と判断してブロックした。Rehberger自身の観察によれば、Claudeは侵害を検知してクリーンアップを試みたものの、そのコマンドがオートモードによって遮断されたという。安全装置が攻撃を助長する形になっており、クラシファイアーの設計が意図に反する結果を招いた事例と言える。
Willisonが同意する「本質的な対策」
Simon Willisonは、Rehbergerの結論に同意する立場を明示している。エージェントが敵対的な環境で動作するリスクがある場合、オートモードのようなソフトウェア的な防御だけでは不十分であり、サンドボックスによる隔離が唯一の現実的な対策だという主張だ。
Rehbergerが挙げる具体的な対策は以下の通りだ。
- 無人で動作するコーディングエージェントはコンテナ、VM、OSサンドボックス上で実行する
- ネットワークの外部通信を制限する
- エージェントの動作を監視する
- ホームディレクトリ、SSHキー、クラウドの認証情報などをエージェントの実行環境に露出させない
Claude Codeのようなコーディングエージェントが実運用に入りつつある中で、エージェントがアクセスできるリソースをどこまで制限するかは、組織が自ら設計すべき問題だ。オートモードはその責任を代替するものではない。
詳細はBreaking Claude Code Opus 5 Auto Modeを参照していただきたい。