OpenClaw には、関連するものの異なる 3 つの制御があります。Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- サンドボックス (
agents.defaults.sandbox.*/agents.list[].sandbox.*) は、ツールをどこで実行するか (サンドボックスバックエンドかホストか) を決めます。 - ツールポリシー (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) は、どのツールを利用可能/許可するかを決めます。 - 昇格 (
tools.elevated.*,agents.list[].tools.elevated.*) は、サンドボックス化されているときに (gatewayがデフォルト、または exec ターゲットがnodeに設定されている場合はnode) サンドボックス外で実行するための exec 専用の脱出口です。
クイックデバッグ
インスペクターを使って、OpenClaw が_実際に_何をしているかを確認します。- 有効なサンドボックスモード/スコープ/ワークスペースアクセス
- セッションが現在サンドボックス化されているかどうか (main と non-main)
- 有効なサンドボックスツールの許可/拒否 (および agent/global/default のどこから来たか)
- 昇格ゲートと修正用キーのパス
サンドボックス: ツールを実行する場所
サンドボックス化はagents.defaults.sandbox.mode で制御されます。
"off": すべてがホスト上で実行されます。"non-main": non-main セッションだけがサンドボックス化されます (グループ/チャネルでよくある「意外な挙動」)。"all": すべてがサンドボックス化されます。
バインドマウント (セキュリティの簡易確認)
docker.bindsはサンドボックスのファイルシステムを_貫通_します。マウントしたものは、設定したモード (:roまたは:rw) でコンテナ内から見えます。- モードを省略した場合のデフォルトは読み書き可能です。ソース/シークレットには
:roを優先してください。 scope: "shared"は agent ごとのバインドを無視します (グローバルバインドのみが適用されます)。- OpenClaw はバインド元を 2 回検証します。まず正規化されたソースパスで検証し、その後、最も深い既存の祖先を通して解決した後に再度検証します。symlink 親による脱出では、ブロック済みパスや許可ルートのチェックを回避できません。
- 存在しないリーフパスも安全にチェックされます。
/workspace/alias-out/new-fileが symlink された親を通してブロック済みパスまたは設定済み許可ルート外に解決される場合、そのバインドは拒否されます。 /var/run/docker.sockをバインドすると、実質的にホスト制御をサンドボックスに渡すことになります。意図している場合にのみ行ってください。- ワークスペースアクセス (
workspaceAccess: "ro"/"rw") はバインドモードとは独立しています。
ツールポリシー: どのツールが存在し呼び出せるか
重要なレイヤーは 2 つあります。- ツールプロファイル:
tools.profileとagents.list[].tools.profile(ベースの許可リスト) - プロバイダーツールプロファイル:
tools.byProvider[provider].profileとagents.list[].tools.byProvider[provider].profile - グローバル/agent ごとのツールポリシー:
tools.allow/tools.denyとagents.list[].tools.allow/agents.list[].tools.deny - プロバイダーツールポリシー:
tools.byProvider[provider].allow/denyとagents.list[].tools.byProvider[provider].allow/deny - サンドボックスツールポリシー (サンドボックス化されている場合にのみ適用):
tools.sandbox.tools.allow/tools.sandbox.tools.denyとagents.list[].tools.sandbox.tools.*
denyが常に優先されます。allowが空でない場合、それ以外はすべてブロック扱いになります。- ツールポリシーはハードストップです。
/execでは拒否されたexecツールを上書きできません。 - ツールポリシーは名前でツールの可用性をフィルタリングします。
exec内部の副作用は検査しません。execが許可されている場合、write、edit、apply_patchを拒否してもシェルコマンドが読み取り専用になるわけではありません。 /execは承認された送信者のセッションデフォルトだけを変更します。ツールアクセスは付与しません。 プロバイダーツールキーはprovider(例:google-antigravity) またはprovider/model(例:openai/gpt-5.4) のどちらも受け付けます。
ツールグループ (省略記法)
ツールポリシー (グローバル、agent、サンドボックス) は、複数のツールに展開されるgroup:* エントリをサポートします。
group:runtime:exec,process,code_execution(bashはexecのエイリアスとして受け付けられます)group:fs:read,write,edit,apply_patch読み取り専用 agent では、サンドボックスのファイルシステムポリシーまたは別のホスト境界が読み取り専用制約を強制していない限り、変更系ファイルシステムツールに加えてgroup:runtimeも拒否してください。group: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:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: すべての組み込み OpenClaw ツール (プロバイダー Plugin は除外)
昇格: exec 専用の「ホスト上で実行」
昇格は追加のツールを付与しません。exec にのみ影響します。
- サンドボックス化されている場合、
/elevated on(またはelevated: trueを指定したexec) はサンドボックス外で実行されます (承認は引き続き適用される場合があります)。 - セッションの exec 承認をスキップするには
/elevated fullを使います。 - すでに直接実行している場合、昇格は実質的に no-op です (それでもゲートは適用されます)。
- 昇格は Skills スコープではなく、ツールの許可/拒否を上書きしません。
- 昇格は
host=autoから任意のクロスホスト上書きを付与しません。通常の exec ターゲットルールに従い、設定済み/セッションターゲットがすでにnodeの場合にのみnodeを保持します。 /execは昇格とは別です。承認された送信者のセッションごとの exec デフォルトのみを調整します。
- 有効化:
tools.elevated.enabled(必要に応じてagents.list[].tools.elevated.enabled) - 送信者の許可リスト:
tools.elevated.allowFrom.<provider>(必要に応じてagents.list[].tools.elevated.allowFrom.<provider>)
よくある「サンドボックス隔離」修正
「ツール X がサンドボックスツールポリシーでブロックされた」
修正用キー (いずれかを選択):- サンドボックスを無効化:
agents.defaults.sandbox.mode=off(または agent ごとのagents.list[].sandbox.mode=off) - サンドボックス内でツールを許可:
tools.sandbox.tools.denyから削除する (または agent ごとのagents.list[].tools.sandbox.tools.deny)- または
tools.sandbox.tools.allowに追加する (または agent ごとの allow)
「これは main だと思っていたのに、なぜサンドボックス化されているのか」
"non-main" モードでは、グループ/チャネルキーは main ではありません。main セッションキー (sandbox explain に表示) を使うか、モードを "off" に切り替えてください。
関連
- サンドボックス化 — 完全なサンドボックスリファレンス (モード、スコープ、バックエンド、イメージ)
- マルチ agent のサンドボックスとツール — agent ごとの上書きと優先順位
- 昇格モード