Gateway
Sandbox versus toolbeleid versus verhoogd
OpenClaw heeft drie gerelateerde (maar verschillende) controles:
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) bepaalt waar tools worden uitgevoerd (sandbox-backend versus host). - Toolbeleid (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) bepaalt welke tools beschikbaar/toegestaan zijn. - Verhoogd (
tools.elevated.*,agents.list[].tools.elevated.*) is een alleen-voor-exec ontsnappingsroute om buiten de sandbox uit te voeren wanneer je in een sandbox zit (standaardgateway, ofnodewanneer het exec-doel is geconfigureerd alsnode).
Snel debuggen
Gebruik de inspector om te zien wat OpenClaw daadwerkelijk doet:
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
Deze toont:
- effectieve sandboxmodus/-scope/werkruimtetoegang
- of de sessie momenteel in een sandbox zit (main versus niet-main)
- effectieve toestaan/weigeren-regels voor sandboxtools (en of die van agent/globaal/standaard komen)
- verhoogde gates en sleutelpaths voor oplossingen
Sandbox: waar tools worden uitgevoerd
Sandboxing wordt beheerd door agents.defaults.sandbox.mode:
"off": alles wordt uitgevoerd op de host."non-main": alleen niet-main-sessies zitten in een sandbox (veelvoorkomende "verrassing" voor groepen/kanalen)."all": alles zit in een sandbox.
Zie Sandboxing voor de volledige matrix (scope, werkruimte-mounts, images).
Bind mounts (snelle beveiligingscontrole)
docker.bindsdoorboort het sandboxbestandssysteem: alles wat je mount, is zichtbaar binnen de container met de modus die je instelt (:roof:rw).- Standaard is lezen-schrijven als je de modus weglaat; geef de voorkeur aan
:rovoor bronbestanden/geheimen. scope: "shared"negeert binds per agent (alleen globale binds zijn van toepassing).- OpenClaw valideert bind-bronnen twee keer: eerst op het genormaliseerde bronpad, daarna opnieuw na resolving via de diepste bestaande voorouder. Escapes via symlink-ouders omzeilen controles op geblokkeerde paden of toegestane roots niet.
- Niet-bestaande leaf-paden worden nog steeds veilig gecontroleerd. Als
/workspace/alias-out/new-filevia een gesymlinkte ouder resolved naar een geblokkeerd pad of buiten de geconfigureerde toegestane roots, wordt de bind geweigerd. - Het binden van
/var/run/docker.sockgeeft de sandbox feitelijk controle over de host; doe dit alleen bewust. - Werkruimtetoegang (
workspaceAccess: "ro"/"rw") staat los van bind-modi.
Toolbeleid: welke tools bestaan/aanroepbaar zijn
Twee lagen zijn belangrijk:
- Toolprofiel:
tools.profileenagents.list[].tools.profile(basis-allowlist) - Provider-toolprofiel:
tools.byProvider[provider].profileenagents.list[].tools.byProvider[provider].profile - Globaal/per-agent-toolbeleid:
tools.allow/tools.denyenagents.list[].tools.allow/agents.list[].tools.deny - Provider-toolbeleid:
tools.byProvider[provider].allow/denyenagents.list[].tools.byProvider[provider].allow/deny - Sandbox-toolbeleid (alleen van toepassing wanneer sandboxed):
tools.sandbox.tools.allow/tools.sandbox.tools.denyenagents.list[].tools.sandbox.tools.*
Vuistregels:
denywint altijd.- Als
allowniet leeg is, wordt al het andere als geblokkeerd behandeld. - Toolbeleid is de harde stop:
/execkan een geweigerdeexec-tool niet overriden. /execwijzigt alleen sessiestandaarden voor geautoriseerde afzenders; het verleent geen tooltoegang. Provider-toolkeys accepterenprovider(bijv.google-antigravity) ofprovider/model(bijv.openai/gpt-5.4).
Toolgroepen (shorthands)
Toolbeleid (globaal, agent, sandbox) ondersteunt group:*-items die uitvouwen naar meerdere tools:
{
tools: {
sandbox: {
tools: {
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
},
},
},
}
Beschikbare groepen:
group:runtime:exec,process,code_execution(bashwordt geaccepteerd als alias voorexec)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:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: alle ingebouwde OpenClaw-tools (exclusief provider-plugins)
Verhoogd: alleen voor exec "op host uitvoeren"
Verhoogd verleent geen extra tools; het beïnvloedt alleen exec.
- Als je in een sandbox zit, voert
/elevated on(ofexecmetelevated: true) buiten de sandbox uit (goedkeuringen kunnen nog steeds gelden). - Gebruik
/elevated fullom exec-goedkeuringen voor de sessie over te slaan. - Als je al direct uitvoert, is verhoogd effectief een no-op (nog steeds gated).
- Verhoogd is niet skill-scoped en overridet niet toestaan/weigeren-regels voor tools.
- Verhoogd verleent geen willekeurige cross-host-overrides vanuit
host=auto; het volgt de normale regels voor exec-doelen en behoudtnodealleen wanneer het geconfigureerde/sessie-doel alnodeis. /execstaat los van verhoogd. Het past alleen exec-standaarden per sessie aan voor geautoriseerde afzenders.
Gates:
- Inschakeling:
tools.elevated.enabled(en optioneelagents.list[].tools.elevated.enabled) - Afzender-allowlists:
tools.elevated.allowFrom.<provider>(en optioneelagents.list[].tools.elevated.allowFrom.<provider>)
Zie Verhoogde modus.
Veelvoorkomende oplossingen voor "sandbox jail"
"Tool X geblokkeerd door sandbox-toolbeleid"
Sleutels voor oplossing (kies er een):
- Sandbox uitschakelen:
agents.defaults.sandbox.mode=off(of per agentagents.list[].sandbox.mode=off) - De tool toestaan binnen de sandbox:
- verwijder deze uit
tools.sandbox.tools.deny(of per agentagents.list[].tools.sandbox.tools.deny) - of voeg deze toe aan
tools.sandbox.tools.allow(of allow per agent)
- verwijder deze uit
"Ik dacht dat dit main was, waarom zit het in een sandbox?"
In "non-main"-modus zijn groeps-/kanaalkeys niet main. Gebruik de main-sessiekey (getoond door sandbox explain) of schakel de modus naar "off".
Gerelateerd
- Sandboxing -- volledige sandboxreferentie (modi, scopes, backends, images)
- Multi-Agent Sandbox en tools -- overrides en prioriteit per agent
- Verhoogde modus