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:- 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 avagents.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.
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.*
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ödjergroup:*‑poster som expanderar till flera verktyg:
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 endastexec.
- 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.
- 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>)
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)
- ta bort det från
”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".