OpenClaw ha tre controlli correlati (ma diversi):Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) decide dove vengono eseguiti gli strumenti (backend sandbox o host). - Criterio degli strumenti (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) decide quali strumenti sono disponibili/consentiti. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) è una via di fuga solo per exec per eseguire fuori dalla sandbox quando sei in sandbox (gatewayper impostazione predefinita, oppurenodequando la destinazione exec è configurata sunode).
Debug rapido
Usa l’ispettore per vedere cosa OpenClaw sta facendo effettivamente:- modalità/scope/accesso al workspace effettivi della sandbox
- se la sessione è attualmente in sandbox (main rispetto a non-main)
- allow/deny effettivi degli strumenti sandbox (e se provengono da agent/global/default)
- gate elevated e percorsi delle chiavi di correzione
Sandbox: dove vengono eseguiti gli strumenti
La sandbox è controllata daagents.defaults.sandbox.mode:
"off": tutto viene eseguito sull’host."non-main": solo le sessioni non-main sono in sandbox (una “sorpresa” comune per gruppi/canali)."all": tutto è in sandbox.
Bind mount (verifica rapida di sicurezza)
docker.bindsperfora il filesystem della sandbox: tutto ciò che monti è visibile dentro il container con la modalità impostata (:roo:rw).- Il valore predefinito è lettura-scrittura se ometti la modalità; preferisci
:roper sorgenti/segreti. scope: "shared"ignora i bind per agente (si applicano solo i bind globali).- OpenClaw valida due volte le origini dei bind: prima sul percorso sorgente normalizzato, poi di nuovo dopo la risoluzione tramite l’antenato esistente più profondo. Le fughe tramite genitori symlink non aggirano i controlli su percorsi bloccati o radici consentite.
- I percorsi foglia inesistenti vengono comunque controllati in modo sicuro. Se
/workspace/alias-out/new-filesi risolve tramite un genitore symlink verso un percorso bloccato o fuori dalle radici consentite configurate, il bind viene rifiutato. - Eseguire il bind di
/var/run/docker.sockconcede di fatto alla sandbox il controllo dell’host; fallo solo intenzionalmente. - L’accesso al workspace (
workspaceAccess: "ro"/"rw") è indipendente dalle modalità dei bind.
Criterio degli strumenti: quali strumenti esistono/sono richiamabili
Contano due livelli:- Profilo strumenti:
tools.profileeagents.list[].tools.profile(allowlist di base) - Profilo strumenti del provider:
tools.byProvider[provider].profileeagents.list[].tools.byProvider[provider].profile - Criterio strumenti globale/per agente:
tools.allow/tools.denyeagents.list[].tools.allow/agents.list[].tools.deny - Criterio strumenti del provider:
tools.byProvider[provider].allow/denyeagents.list[].tools.byProvider[provider].allow/deny - Criterio strumenti della sandbox (si applica solo quando in sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyeagents.list[].tools.sandbox.tools.*
denyvince sempre.- Se
allownon è vuoto, tutto il resto viene trattato come bloccato. - Il criterio degli strumenti è il blocco definitivo:
/execnon può sovrascrivere uno strumentoexecnegato. - Il criterio degli strumenti filtra la disponibilità degli strumenti per nome; non ispeziona gli effetti collaterali dentro
exec. Seexecè consentito, negarewrite,editoapply_patchnon rende i comandi shell di sola lettura. /execcambia solo i valori predefiniti della sessione per mittenti autorizzati; non concede accesso agli strumenti. Le chiavi strumenti del provider accettanoprovider(per esempiogoogle-antigravity) oppureprovider/model(per esempioopenai/gpt-5.4).
Gruppi di strumenti (scorciatoie)
I criteri degli strumenti (globali, agente, sandbox) supportano vocigroup:* che si espandono in più strumenti:
group:runtime:exec,process,code_execution(bashè accettato come alias diexec)group:fs:read,write,edit,apply_patchPer agenti di sola lettura, negagroup:runtimeoltre agli strumenti filesystem mutanti, a meno che il criterio filesystem della sandbox o un confine host separato non applichi il vincolo di sola lettura.group: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: tutti gli strumenti integrati di OpenClaw (esclude i Plugin provider)
Elevated: “esegui sull’host” solo per exec
Elevated non concede strumenti aggiuntivi; influisce solo suexec.
- Se sei in sandbox,
/elevated on(oexecconelevated: true) esegue fuori dalla sandbox (le approvazioni possono comunque applicarsi). - Usa
/elevated fullper saltare le approvazioni exec per la sessione. - Se stai già eseguendo in modalità diretta, elevated è di fatto un no-op (resta comunque soggetto a gate).
- Elevated non è limitato allo scope di una skill e non sovrascrive allow/deny degli strumenti.
- Elevated non concede override arbitrari tra host da
host=auto; segue le normali regole della destinazione exec e conservanodesolo quando la destinazione configurata/di sessione è giànode. /execè separato da elevated. Regola solo i valori predefiniti exec per sessione per mittenti autorizzati.
- Abilitazione:
tools.elevated.enabled(e facoltativamenteagents.list[].tools.elevated.enabled) - Allowlist dei mittenti:
tools.elevated.allowFrom.<provider>(e facoltativamenteagents.list[].tools.elevated.allowFrom.<provider>)
Correzioni comuni per la “prigione sandbox"
"Strumento X bloccato dal criterio strumenti della sandbox”
Chiavi di correzione (scegline una):- Disabilita la sandbox:
agents.defaults.sandbox.mode=off(o per agenteagents.list[].sandbox.mode=off) - Consenti lo strumento dentro la sandbox:
- rimuovilo da
tools.sandbox.tools.deny(o per agenteagents.list[].tools.sandbox.tools.deny) - oppure aggiungilo a
tools.sandbox.tools.allow(o all’allow per agente)
- rimuovilo da
“Pensavo fosse main, perché è in sandbox?”
In modalità"non-main", le chiavi di gruppo/canale non sono main. Usa la chiave della sessione main (mostrata da sandbox explain) oppure passa la modalità a "off".
Correlati
- Sandboxing — riferimento completo della sandbox (modalità, scope, backend, immagini)
- Sandbox e strumenti multi-agent — override e precedenza per agente
- Modalità Elevated