自律エージェントを「読んだ内容」で操らせない――Claude Code v2.1.210 が塞いだ、外部コンテンツ経由の指示混入
Claude Code v2.1.210 が、サブエージェントが読んだ外部コンテンツ経由の間接的プロンプトインジェクションを含む3つの隙を修正。自律エージェントを無人で回す現場に効く、地味だが重要な安全弁の更新を読み解きます。
「読んだ内容」で操られる隙をふさぐ
Anthropic は7月14日付で、コーディングエージェント Claude Code の v2.1.210 を公開しました。数十項目の修正を束ねた地味な保守リリースですが、その中に、自律的に動くエージェントの安全性に関わる見逃せない一手が入っています。核となるのは「Agent ツールを、サブエージェントが読み取ったコンテンツ経由の間接的プロンプトインジェクションに対して強化した(Hardened the Agent tool against indirect prompt injection via content a subagent read)」という一行です。
間接的プロンプトインジェクションとは、AI が処理するファイル・検索結果・課題コメントといった外部データの中に、AI への指示文を紛れ込ませる攻撃手法です。利用者が書いたわけではない「読んだだけの文章」が、そのままエージェントへの命令として作用してしまう点が厄介で、Anthropic 自身も公式ドキュメントで主要なリスクとして挙げています。
今回ふさがれた3つの隙
v2.1.210 では、外部の入力が自律エージェントを意図せず動かしうる経路が、まとめて閉じられました。
サブエージェントが読んだ内容による指示混入
親から仕事を任されたサブエージェントが、作業中に読み込んだファイルや検索結果に埋め込まれた指示へ引きずられないよう、Agent ツール側の防御を強化しました。分業でエージェントを走らせる構成が広がるほど、末端が読むデータの信頼性が全体の安全性を左右します。
隔離ワークスペースからの「はみ出し」
isolation: 'worktree' を指定したサブエージェントが、本来は自分専用の隔離された作業ツリー内で完結すべきところ、メインのリポジトリに対して git の変更コマンドを実行できてしまう不具合を修正しました。隔離しているつもりで隔離できていなければ、暴走時の被害範囲(ブラストラディウス)は隔離前と変わりません。
人間以外の入力で自動発火する高負荷モード
計算資源を多く使う ultracode の起動キーワードが、Webhook のペイロードや転送されてきた PR コメントなど、人間が直接打ち込んだのではない入力でも発火してしまう挙動を修正しました。無人運用では、外部から流れ込むテキストが勝手にモードを切り替える余地を残さないことが重要です。
無人運用ほど効いてくる更新
これらはいずれも、Claude Code が「人が横で見ている道具」から「サブエージェントを従えてバックグラウンドで自走する仕組み」へと重心を移していることの裏返しです。自律性を高めるほど、エージェントが触れる外部データや自動で流れ込む入力は増え、そこが新しい攻撃面になります。今回の修正は派手な新機能ではありませんが、CI やチャット連携でエージェントを無人で回している現場にとっては、地に足のついた安全弁の追加といえます。
一方で、こうした一つひとつのパッチは、裏を返せば自律エージェントの安全性がまだ発展途上であることの表れでもあります。外部コンテンツを読ませて動かすエージェントには間接的プロンプトインジェクションのリスクが残るとの指摘は続いており、ツール側の更新に任せきりにせず、権限を必要最小限に絞る、信頼できない入力を扱うセッションでは自動実行を制限するといった運用側の備えも併せて求められます。
導入の観点では、まず Claude Code を最新版へ更新したうえで、サブエージェント・ワークスペース隔離・ultracode を使っている場合に今回の修正の恩恵を受けられるかを確認するのが第一歩です。あわせて無人運用の設定を棚卸しし、外部から入る入力がどのモードや権限に触れられるのかを見直しておくと、次に同種の隙が生まれたときにも気づきやすくなります。
参照: Claude Code changelog(v2.1.210) / Releasebot: Claude Code Updates / Claude Platform Docs: Mitigate jailbreaks and prompt injections