Sandbox vs Værktøjspolitik vs Forhøjede rettigheder¶
OpenClaw har tre relaterede (men forskellige) kontroller:
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) afgør hvor værktøjer kører (Docker vs vært). - Værktøjspolitik (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) afgør hvilke værktøjer der er tilgængelige/tilladt. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) er en kun-exec nødudgang til at køre på værten, når du er sandboxed.
Hurtig fejlsøgning¶
Brug inspektøren til at se, hvad OpenClaw faktisk gør:
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
Den udskriver:
- effektiv sandbox-tilstand/omfang/workspace-adgang
- om sessionen aktuelt er sandboxed (main vs non-main)
- effektiv sandbox-værktøjs tillad/afvis (og om den kommer fra agent/global/standard)
- elevated-gates og fix-it-nøglestier
Sandbox: hvor værktøjer kører¶
Sandboxing styres af agents.defaults.sandbox.mode:
"off": alt kører på værten."non-main": kun non-main-sessioner er sandboxed (almindelig “overraskelse” for grupper/kanaler)."all": alt er sandboxed.
Se Sandboxing for den fulde matrix (omfang, workspace-mounts, images).
Bind mounts (hurtig sikkerhedstjek)¶
docker.bindsgennembryder sandbox-filsystemet: det, du monterer, er synligt inde i containeren med den tilstand, du angiver (:roeller:rw).- Standard er læs-skriv, hvis du udelader tilstanden; foretræk
:rofor kilde/hemmeligheder. scope: "shared"ignorerer per-agent-binds (kun globale binds gælder).- At binde
/var/run/docker.sockoverdrager reelt værtskontrol til sandboxen; gør dette kun bevidst. - Workspace-adgang (
workspaceAccess: "ro"/"rw") er uafhængig af bind-tilstande.
Tool policy: hvilke værktøjer findes/kan kaldes¶
To lag er vigtige:
- Værktøjsprofil:
tools.profileogagents.list[].tools.profile(basis-tilladelsesliste) - Udbyder-værktøjsprofil:
tools.byProvider[provider].profileogagents.list[].tools.byProvider[provider].profile - Global/per-agent værktøjspolitik:
tools.allow/tools.denyogagents.list[].tools.allow/agents.list[].tools.deny - Udbyder-værktøjspolitik:
tools.byProvider[provider].allow/denyogagents.list[].tools.byProvider[provider].allow/deny - Sandbox-værktøjspolitik (gælder kun når sandboxed):
tools.sandbox.tools.allow/tools.sandbox.tools.denyogagents.list[].tools.sandbox.tools.*
Tommelfingerregler:
denyvinder altid.- Hvis
allower ikke-tom, behandles alt andet som blokeret. - Værktøjspolitik er den hårde stopklods:
/execkan ikke tilsidesætte et afvistexec-værktøj. /execkun ændringer session standarder for autoriserede afsendere; det giver ikke værktøj adgang. Udbyderværktøjstaster accepterer entenprovider(f.eks.google-antigravity) ellerprovider/model(f.eks.openai/gpt-5.2).
Værktøjsgrupper (genveje)¶
Værktøjspolitikker (global, agent, sandbox) understøtter group:*-poster, der udvider til flere værktøjer:
{
tools: {
sandbox: {
tools: {
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
},
},
},
}
Tilgængelige 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: alle indbyggede OpenClaw-værktøjer (udelukker udbyder-plugins)
Elevated: kun-exec “kør på værten”¶
Elevated giver ikke ekstra værktøjer; det påvirker kun exec.
- Hvis du er sandboxed, kører
/elevated on(ellerexecmedelevated: true) på værten (godkendelser kan stadig gælde). - Brug
/elevated fullfor at springe exec-godkendelser over for sessionen. - Hvis du allerede kører direkte, er elevated reelt en no-op (stadig gated).
- Elevated er ikke skill-afgrænset og tilsidesætter ikke værktøjs tillad/afvis.
/execer adskilt fra forhøjet. Det justerer kun per-session exec standarder for autoriserede afsendere.
Gates:
- Enablement:
tools.elevated.enabled(og valgfritagents.list[].tools.elevated.enabled) - Afsenderen tillader:
tools.elevated.allowFrom.<provider>(og valgfritagents.list[].tools.elevated.allowFrom.<provider>)
Se Elevated Mode.
Almindelige “sandbox jail”-løsninger¶
“Værktøj X blokeret af sandbox-værktøjspolitik”¶
Fix-it-nøgler (vælg én):
- Deaktivér sandbox:
agents.defaults.sandbox.mode=off(eller per-agentagents.list[].sandbox.mode=off) - Tillad værktøjet inde i sandbox:
- fjern det fra
tools.sandbox.tools.deny(eller per-agentagents.list[].tools.sandbox.tools.deny) - eller tilføj det til
tools.sandbox.tools.allow(eller per-agent tillad)
“Jeg troede, dette var main, hvorfor er det sandboxed?”¶
I "ikke-main" tilstand, gruppe / kanal nøgler er not main. Brug hovedsessionsnøglen (vist ved sandbox explain) eller skift tilstand til "off".