Sandbox と Tool Policy と Elevated の違い
OpenClaw には、関連はあるものの異なる 3 つの制御があります。- Sandbox(
agents.defaults.sandbox.*/agents.list[].sandbox.*)は、ツールをどこで実行するか(Docker かホストか)を決定します。 - Tool policy(
tools.*、tools.sandbox.tools.*、agents.list[].tools.*)は、どのツールを利用可能/許可するかを決定します。 - Elevated(
tools.elevated.*、agents.list[].tools.elevated.*)は、サンドボックス化されているときに、サンドボックス外で実行するための exec 専用のエスケープハッチ です(デフォルトではgateway、または exec ターゲットがnodeに設定されている場合はnode)。
クイックデバッグ
インスペクターを使って、OpenClaw が 実際に何をしているか を確認してください。- 有効なサンドボックスモード/スコープ/ワークスペースアクセス
- セッションが現在サンドボックス化されているかどうか(main か non-main か)
- 有効なサンドボックスツール許可/拒否(およびそれが agent/global/default のどこから来たか)
- Elevated のゲートと修正用キーのパス
Sandbox: ツールをどこで実行するか
サンドボックス化はagents.defaults.sandbox.mode で制御されます。
"off": すべてホスト上で実行されます。"non-main": non-main セッションのみサンドボックス化されます(グループ/チャンネルでよくある「意外な挙動」)。"all": すべてサンドボックス化されます。
バインドマウント(セキュリティのクイックチェック)
docker.bindsはサンドボックスファイルシステムを_貫通_します。マウントしたものは、設定したモード(:roまたは:rw)でコンテナ内から見えるようになります。- モードを省略するとデフォルトは read-write です。ソース/シークレットには
:roを推奨します。 scope: "shared"はエージェントごとのバインドを無視します(グローバルバインドのみが適用されます)。- OpenClaw はバインド元を 2 回検証します。まず正規化されたソースパスで、次に最も深い既存祖先を通して解決した後でもう一度検証します。シンボリックリンク親を使ったエスケープでは、blocked-path や allowed-root のチェックは回避できません。
- 存在しない末端パスも安全に検査されます。
/workspace/alias-out/new-fileがシンボリックリンクされた親を通して blocked path や設定済み allowed roots の外に解決される場合、そのバインドは拒否されます。 /var/run/docker.sockをバインドすると、実質的にサンドボックスへホスト制御を渡すことになります。意図的な場合にのみ行ってください。- ワークスペースアクセス(
workspaceAccess: "ro"/"rw")はバインドモードとは独立しています。
Tool policy: どのツールが存在し、呼び出せるか
重要なのは 2 つのレイヤーです。- Tool profile:
tools.profileとagents.list[].tools.profile(基本許可リスト) - Provider tool profile:
tools.byProvider[provider].profileとagents.list[].tools.byProvider[provider].profile - Global/per-agent tool policy:
tools.allow/tools.denyとagents.list[].tools.allow/agents.list[].tools.deny - Provider tool policy:
tools.byProvider[provider].allow/denyとagents.list[].tools.byProvider[provider].allow/deny - Sandbox tool policy(サンドボックス化されているときにのみ適用):
tools.sandbox.tools.allow/tools.sandbox.tools.denyとagents.list[].tools.sandbox.tools.*
denyが常に優先されます。allowが空でない場合、それ以外はすべてブロックとして扱われます。- Tool policy は最終的な停止点です。拒否された
execツールを/execで上書きすることはできません。 /execは認可された送信者に対してセッションデフォルトを変更するだけで、ツールアクセスを付与しません。 Provider tool キーには、provider(例:google-antigravity)またはprovider/model(例:openai/gpt-5.4)のどちらも使用できます。
Tool groups(ショートハンド)
Tool policy(global、agent、sandbox)は、複数のツールに展開されるgroup:* エントリをサポートします。
group:runtime:exec,process,code_execution(bashはexecのエイリアスとして受け入れられます)group:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,sessions_yield,subagents,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,x_search,web_fetchgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_listgroup:media:image,image_generate,video_generate,ttsgroup:openclaw: すべての組み込み OpenClaw ツール(provider plugin は除く)
Elevated: exec 専用の「ホストで実行」
Elevated は追加のツールを付与しません。影響するのはexec のみです。
- サンドボックス化されている場合、
/elevated on(またはelevated: trueを付けたexec)はサンドボックス外で実行されます(承認が引き続き必要な場合があります)。 - セッションの exec 承認をスキップするには
/elevated fullを使用します。 - すでに直接実行されている場合、elevated は実質的に no-op です(それでもゲートは適用されます)。
- Elevated は skill スコープではなく、ツールの allow/deny も上書きしません。
- Elevated は
host=autoから任意のクロスホスト上書きを付与しません。通常の exec ターゲットルールに従い、設定済み/セッションターゲットがすでにnodeの場合にのみnodeを維持します。 /execは elevated とは別です。認可された送信者に対して、セッションごとの exec デフォルトを調整するだけです。
- 有効化:
tools.elevated.enabled(および必要に応じてagents.list[].tools.elevated.enabled) - 送信者許可リスト:
tools.elevated.allowFrom.<provider>(および必要に応じてagents.list[].tools.elevated.allowFrom.<provider>)
よくある「sandbox jail」の修正
「Tool X blocked by sandbox tool policy」
修正用キー(いずれかを選択):- サンドボックスを無効化する:
agents.defaults.sandbox.mode=off(またはエージェント単位でagents.list[].sandbox.mode=off) - サンドボックス内でそのツールを許可する:
tools.sandbox.tools.deny(またはエージェント単位のagents.list[].tools.sandbox.tools.deny)から削除する- または
tools.sandbox.tools.allow(またはエージェント単位の allow)に追加する
「main だと思っていたのに、なぜサンドボックス化されているのですか?」
"non-main" モードでは、グループ/チャンネルキーは main ではありません。main セッションキー(sandbox explain に表示されます)を使用するか、モードを "off" に切り替えてください。
関連項目
- Sandboxing — サンドボックスの完全なリファレンス(モード、スコープ、バックエンド、イメージ)
- Multi-Agent Sandbox & Tools — エージェント単位の上書きと優先順位
- Elevated Mode