Sandbox kumpara sa Patakaran ng Tool kumpara sa Elevated¶
May tatlong magkaugnay (pero magkaiba) na kontrol ang OpenClaw:
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) ang nagdedesisyon kung saan tatakbo ang mga tool (Docker vs host). - Tool policy (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) ang nagdedesisyon kung aling mga tool ang available/pinapahintulutan. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) ay isang exec-only escape hatch para tumakbo sa host kapag naka-sandbox ka.
Mabilisang pag-debug¶
Gamitin ang inspector para makita kung ano ang talagang ginagawa ng OpenClaw:
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
Ipinapakita nito ang:
- epektibong sandbox mode/scope/workspace access
- kung ang session ay kasalukuyang naka-sandbox (main vs non-main)
- epektibong sandbox tool allow/deny (at kung galing ito sa agent/global/default)
- mga elevated gate at fix-it key path
Sandbox: kung saan tumatakbo ang mga tool¶
Kinokontrol ang sandboxing ng agents.defaults.sandbox.mode:
"off": lahat ay tumatakbo sa host."non-main": tanging mga non-main session ang naka-sandbox (karaniwang “surprise” para sa mga group/channel)."all": lahat ay naka-sandbox.
Tingnan ang Sandboxing para sa buong matrix (scope, workspace mounts, images).
Bind mounts (mabilisang pagsusuri sa seguridad)¶
docker.bindsay tumutusok sa sandbox filesystem: anuman ang i-mount mo ay makikita sa loob ng container ayon sa mode na itinakda mo (:roo:rw).- Ang default ay read-write kapag inalis mo ang mode; mas mainam ang
:ropara sa source/secrets. scope: "shared"ay binabalewala ang per-agent bind (global binds lang ang naa-apply).- Ang pag-bind ng
/var/run/docker.sockay epektibong nagbibigay ng kontrol sa host sa sandbox; gawin lang ito kung sinasadya. - Ang workspace access (
workspaceAccess: "ro"/"rw") ay hiwalay sa bind modes.
Tool policy: kung aling mga tool ang umiiral/maaaring tawagin¶
Dalawang layer ang mahalaga:
- Tool profile:
tools.profileatagents.list[].tools.profile(base allowlist) - Provider tool profile:
tools.byProvider[provider].profileatagents.list[].tools.byProvider[provider].profile - Global/per-agent tool policy:
tools.allow/tools.denyatagents.list[].tools.allow/agents.list[].tools.deny - Provider tool policy:
tools.byProvider[provider].allow/denyatagents.list[].tools.byProvider[provider].allow/deny - Sandbox tool policy (naa-apply lang kapag naka-sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyatagents.list[].tools.sandbox.tools.*
Mga panuntunang pangkalahatan:
denyang laging nananaig.- Kapag ang
alloway hindi empty, ang lahat ng iba pa ay itinuturing na naka-block. - Ang tool policy ang hard stop: hindi maaaring i-override ng
/execang tinanggihangexecna tool. - Ang
/execay binabago lamang ang mga default ng session para sa mga awtorisadong nagpadala; hindi ito nagbibigay ng access sa tool. Ang mga provider tool key ay tumatanggap ng alinman saprovider(hal.google-antigravity) oprovider/model(hal.openai/gpt-5.2).
Tool groups (mga shorthand)¶
Sinusuportahan ng mga tool policy (global, agent, sandbox) ang mga group:* na entry na lumalawak sa maraming tool:
{
tools: {
sandbox: {
tools: {
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
},
},
},
}
Mga available na grupo:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: lahat ng built-in na OpenClaw tool (hindi kasama ang provider plugins)
Elevated: exec-only “run on host”¶
Hindi nagbibigay ang Elevated ng dagdag na mga tool; naaapektuhan lang nito ang exec.
- Kapag naka-sandbox ka, ang
/elevated on(oexecna mayelevated: true) ay tatakbo sa host (maaari pa ring kailanganin ang mga approval). - Gamitin ang
/elevated fullpara laktawan ang exec approvals para sa session. - Kung direkta ka nang tumatakbo, ang elevated ay epektibong no-op (naka-gate pa rin).
- Ang Elevated ay hindi skill-scoped at hindi nag-o-override ng tool allow/deny.
/execis separate from elevated. It only adjusts per-session exec defaults for authorized senders.
Mga gate:
- Enablement:
tools.elevated.enabled(at opsyonal naagents.list[].tools.elevated.enabled) - Sender allowlists:
tools.elevated.allowFrom.<provider>(and optionallyagents.list[].tools.elevated.allowFrom.<provider>)
Tingnan ang Elevated Mode.
Mga karaniwang “sandbox jail” na ayos¶
“Tool X blocked by sandbox tool policy”¶
Mga fix-it key (pumili ng isa):
- I-disable ang sandbox:
agents.defaults.sandbox.mode=off(o per-agentagents.list[].sandbox.mode=off) - Payagan ang tool sa loob ng sandbox:
- alisin ito mula sa
tools.sandbox.tools.deny(o per-agentagents.list[].tools.sandbox.tools.deny) - o idagdag ito sa
tools.sandbox.tools.allow(o per-agent allow)
“Akala ko main ito, bakit naka-sandbox?”¶
In "non-main" mode, group/channel keys are not main. Use the main session key (shown by sandbox explain) or switch mode to "off".