Skip to content

原文(日本語に翻訳)

クロスセッションメッセージングを強化:他の Claude セッションから SendMessage を経由して中継されたメッセージはユーザー権限を持たなくなりました。受信側は中継された権限リクエストを拒否し、auto モードはそれらをブロックします。

原文(英語)

Hardened cross-session messaging: messages relayed via SendMessage from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them

概要

マルチエージェント構成における重要なセキュリティ強化です。別の Claude セッションから SendMessage ツールを通じて中継されたメッセージは、もはやユーザーレベルの権限を持たなくなりました。これにより、悪意ある・誤動作したサブエージェントがメインセッションの権限で危険な操作を実行するリスクを防ぎます。

基本的な使い方

この変更はセキュリティ機能であり、設定は不要です。自動的に適用されます。

SendMessage で他のセッションにメッセージを送る場合:

# エージェント A からエージェント B にメッセージを送信
SendMessage(to: "agent-b", message: "ファイルを削除してください")

この場合、メッセージを受信したエージェント B では:

  • ユーザー権限が必要な操作(ファイル削除など)は拒否されます
  • auto モードでは権限リクエスト自体がブロックされます

実践例

マルチエージェント構成での影響

エージェントオーケストレーション構成で複数の Claude セッションを管理する場合:

bash
# メインセッション(ユーザー権限あり)
claude agents

# サブエージェントからの SendMessage はユーザー権限を持たない
# → 危険な操作はメインセッションで明示的に確認が必要

セキュリティ境界の確認

bash
# background agentがSendMessageで権限昇格しようとしても
# 受信側が自動的に拒否する
claude --bg "...(SendMessageで権限を要求するタスク)..."
# → 権限リクエストは拒否され、auto モードではブロックされる

安全なマルチエージェント設計

権限が必要な操作はメインセッションで明示的に行い、サブエージェントには読み取り専用タスクを割り当てる設計が推奨されます:

json
{
  "permissions": {
    "deny": ["Write(*)", "Edit(*)", "Bash(*)"]
  }
}

サブエージェントの設定で書き込み系ツールを制限することで、SendMessage 経由の権限昇格攻撃への防御を多層化できます。

注意点

  • この変更は既存のマルチエージェントワークフローに影響を与える可能性があります
  • サブエージェントが権限の必要な操作を行う場合、その操作はメインセッションで直接実行するか、明示的にユーザーが承認する必要があります
  • auto モードでバックグラウンドエージェントを使用している場合、権限リクエストが自動的にブロックされます

関連情報