0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code v2.1.210で強化された間接プロンプトインジェクション対策とworktree分離の修正

0
Posted at

はじめに

2026年7月、Claude Code の v2.1.210 がリリースされました。今回の更新は新機能の追加よりも、マルチエージェント運用時のセキュリティ強化安定性向上に重点が置かれています。

具体的には以下の3点が重要度「high」として挙げられています。

  • Agent ツールにおける間接プロンプトインジェクション対策の強化
  • isolation: 'worktree' 指定のサブエージェントがメインリポジトリを変更できてしまう不具合の修正
  • ultracode キーワードが Webhook 等の人間以外の入力で誤発火する問題の修正

さらに、権限ルール Write(path) / NotebookEdit(path) / Glob(path)起動時警告が追加され、既存の settings.json を見直す必要があるユーザーもいます。エージェント型ワークフロー(サブエージェント・Workflow・worktree 分離)を活用している開発者は特に確認しておくべきリリースです。

変更の全体像

今回のセキュリティ関連修正は、いずれも「Claude Code がエージェントとして自律的にコードやコンテンツを扱う」場面に集中しています。全体像を図にすると以下のようになります。

赤色で示した3つが severity: high のセキュリティ修正、黄色が対応が必要な非推奨警告です。

変更内容

1. Agent ツールの間接プロンプトインジェクション対策強化

サブエージェントがファイルや Web ページなどの外部コンテンツを読み込む際、そのコンテンツに埋め込まれた「指示」によってエージェントの挙動が乗っ取られる攻撃を間接プロンプトインジェクションと呼びます。今回、Agent ツールにこの攻撃への耐性が追加されました。

📌 影響を受ける人
Agent ツールでファイル解析・Web スクレイピング・PR コメント処理など、外部由来のテキストを扱うワークフローを組んでいる人。

2. worktree 分離サブエージェントの修正

isolation: 'worktree' は、並列に動くサブエージェントが互いのファイル変更で衝突しないようにする仕組みです。しかし修正前は分離が不完全で、本来触れてはいけないメインのリポジトリチェックアウトに対して git 変更コマンドを実行できてしまうバグがありました。並列エージェントでコード変更を行うワークフローでは、意図しないメインブランチの汚染につながりかねない重要な修正です。

あわせて、kill されたバックグラウンドセッションが git worktree のロックを永続的に残してしまう問題も修正され、所有プロセスが消えたロックは定期スイープで自動解放されるようになりました。

3. ultracode キーワードの誤発火修正

ultracode は大量のエージェント起動(=大量トークン消費)を許可するユーザー本人による明示的なオプトインキーワードです。修正前は Webhook ペイロードや中継された PR コメントなど、人間が入力したのではないテキストultracode という文字列が含まれているだけで有効化されてしまう場合がありました。プロンプトインジェクションによる意図しない大規模オーケストレーションやコスト増を防ぐ修正です。

4. 権限ルールの非推奨警告(対応が必要)

settings.json の permission ルールで Write(path) / NotebookEdit(path) / Glob(path) を使っている場合、起動時に警告が表示されるようになりました。

旧ルール 推奨される新ルール 用途
Write(path) Edit(path) 書き込み系
NotebookEdit(path) Edit(path) Notebook 編集
Glob(path) Read(path) 読み取り系

⚠️ Breaking Change
廃止が確定したわけではありませんが、起動時警告が出るようになっています。将来的な非推奨化に備え、早めの移行を推奨します。

5. その他の安定性修正(抜粋)

severity: high の周辺として、セッション・MCP・エージェント運用に関わる多数のバグ修正も含まれています。

  • claude attach がセッション遷移中に失敗する問題
  • MCP サーバーのセッション中再同期時に、プラグイン提供の MCP サーバーが破棄される問題
  • フックコールバックのタイムアウトが「ユーザー拒否」と誤報告され、無人セッションが停止する問題
  • claude agents --effort ultracode の値がディスパッチ先に届かず黙って破棄される問題

いずれも直接コードを書き換える必要はありませんが、MCP やフックを多用する CI・自動化パイプラインでは体感できる改善です。

影響と対応

対象 対応要否 アクション
Agent ツール / サブエージェントを利用しているユーザー全般 不要 アップデートするだけで自動的に保護が強化される
isolation: 'worktree' を使った並列エージェントワークフロー 不要 アップデート後、意図しないメインリポジトリ変更のリスクが解消
Webhook 等の外部トリガーで Claude Code を呼び出している環境 不要 ultracode の誤発火リスクが解消
settings.jsonWrite(path)/NotebookEdit(path)/Glob(path) を使用中 要対応 Edit(path)/Read(path) へ書き換え推奨

💡 Tips
claude doctor や起動時ログに警告が出ていないか、アップデート後に一度確認しておくと安心です。

コード例

.claude/settings.json の権限ルールを移行する例です。

Before

{
  "permissions": {
    "allow": [
      "Write(src/**)",
      "NotebookEdit(notebooks/**)",
      "Glob(docs/**)"
    ]
  }
}

After

{
  "permissions": {
    "allow": [
      "Edit(src/**)",
      "Edit(notebooks/**)",
      "Read(docs/**)"
    ]
  }
}

Write/Glob はそれぞれ「新規作成含む書き込み全般」「パターン検索」を指していましたが、今後は編集操作を Edit、読み取り操作を Read に統一する方向性のようです。既存ルールが広めのパス指定になっている場合は、意図しない権限が付与されていないかもあわせて見直すとよいでしょう。

まとめ

  • Claude Code v2.1.210 はエージェント型ワークフローのセキュリティ強化が中心のリリース
  • Agent ツールの間接プロンプトインジェクション対策worktree 分離の穴の修正ultracode 誤発火の修正という3つの high severity 修正が含まれる
  • Write(path)/NotebookEdit(path)/Glob(path) を permission ルールで使っている場合は**Edit(path)/Read(path) への移行を推奨**
  • MCP・フック・セッション安定性まわりの細かい修正も多数含まれており、CI や自動化パイプラインでの体感改善が期待できる

サブエージェントや Workflow、外部トリガー連携を使っている開発者ほど恩恵の大きいアップデートです。まだアップデートしていない場合は、この機会に最新版へ更新することをおすすめします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?