Sandbox vs verktygspolicy vs förhöjd¶
OpenClaw har tre relaterade (men olika) kontroller:
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) avgör var verktyg körs (Docker vs värd). - Verktygspolicy (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) avgör vilka verktyg som är tillgängliga/tillåtna. - Förhöjd (
tools.elevated.*,agents.list[].tools.elevated.*) är en endast‑exec nödutgång för att köra på värden när du är sandboxad.
Snabb felsökning¶
Använd inspektören för att se vad OpenClaw faktiskt gör:
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
Den skriver ut:
- effektivt sandbox‑läge/omfång/åtkomst till arbetsyta
- om sessionen för närvarande är sandboxad (main vs non‑main)
- effektiv tillåt/nek‑policy för sandbox‑verktyg (och om den kommer från agent/global/standard)
- grindar för förhöjd och nyckelvägar för åtgärd
Sandbox: var verktyg körs¶
Sandboxing styrs av agents.defaults.sandbox.mode:
"off": allt körs på värden."non-main": endast non‑main‑sessioner är sandboxade (vanlig ”överraskning” för grupper/kanaler)."all": allt är sandboxat.
Se Sandboxing för hela matrisen (omfång, arbetsytemonteringar, images).
Bind mounts (snabb säkerhetskontroll)¶
docker.bindspunkterar sandboxens filsystem: det du monterar blir synligt i containern med det läge du anger (:roeller:rw).- Standard är läs‑skriv om du utelämnar läget; föredra
:roför källkod/hemligheter. scope: "shared"ignorerar binds per agent (endast globala binds gäller).- Att binda
/var/run/docker.sockger i praktiken värdkontroll till sandboxen; gör detta endast med avsikt. - Åtkomst till arbetsyta (
workspaceAccess: "ro"/"rw") är oberoende av bind‑lägen.
Verktygspolicy: vilka verktyg finns/kan anropas¶
Två lager är viktiga:
- Verktygsprofil:
tools.profileochagents.list[].tools.profile(grundläggande tillåtelselista) - Leverantörens verktygsprofil:
tools.byProvider[provider].profileochagents.list[].tools.byProvider[provider].profile - Global/per‑agent verktygspolicy:
tools.allow/tools.denyochagents.list[].tools.allow/agents.list[].tools.deny - Leverantörens verktygspolicy:
tools.byProvider[provider].allow/denyochagents.list[].tools.byProvider[provider].allow/deny - Sandbox‑verktygspolicy (gäller endast när sandboxad):
tools.sandbox.tools.allow/tools.sandbox.tools.denyochagents.list[].tools.sandbox.tools.*
Tumregler:
denyvinner alltid.- Om
allowinte är tom behandlas allt annat som blockerat. - Verktygspolicyn är den hårda stoppunkten:
/execkan inte åsidosätta ett nekatexec‑verktyg. /execändrar bara sessionsstandard för auktoriserade avsändare; det ger inte verktygsåtkomst. Verktygsnycklar för leverantörer accepterar antingenprovider(t.ex.google-antigravity) ellerprovider/model(t.ex.openai/gpt-5.2).
Verktygsgrupper (förkortningar)¶
Verktygspolicys (global, agent, sandbox) stödjer group:*‑poster som expanderar till flera verktyg:
{
tools: {
sandbox: {
tools: {
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
},
},
},
}
Tillgängliga grupper:
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: alla inbyggda OpenClaw‑verktyg (exkluderar leverantörsplugins)
Förhöjd: exec‑endast ”kör på värden”¶
Förhöjd ger inte extra verktyg; den påverkar endast exec.
- Om du är sandboxad körs
/elevated on(ellerexecmedelevated: true) på värden (godkännanden kan fortfarande krävas). - Använd
/elevated fullför att hoppa över exec‑godkännanden för sessionen. - Om du redan kör direkt är förhöjd i praktiken en no‑op (fortfarande grindstyrd).
- Förhöjd är inte skill‑omfattad och åsidosätter inte tillåt/nek för verktyg.
/execär separat från förhöjd. Det justerar bara per-session exec standardvärden för auktoriserade avsändare.
Grindar:
- Aktivering:
tools.elevated.enabled(och valfrittagents.list[].tools.elevated.enabled) - Avsändare tillåter:
tools.elevated.allowFrom.<provider>(och valfrittagents.list[].tools.elevated.allowFrom.<provider>)
Se Elevated Mode.
Vanliga ”sandbox jail”‑åtgärder¶
”Verktyg X blockeras av sandbox‑verktygspolicyn”¶
Åtgärdsnycklar (välj en):
- Inaktivera sandbox:
agents.defaults.sandbox.mode=off(eller per agentagents.list[].sandbox.mode=off) - Tillåt verktyget i sandbox:
- ta bort det från
tools.sandbox.tools.deny(eller per agentagents.list[].tools.sandbox.tools.deny) - eller lägg till det i
tools.sandbox.tools.allow(eller per‑agent‑tillåt)
”Jag trodde detta var main, varför är det sandboxat?”¶
I "non-main" läge, grupp/kanal nycklar är inte huvud. Använd huvudsessionsnyckeln (visas av sandbox förklaring) eller växla läge till "off".