OpenClaw tem três controles relacionados (mas diferentes):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 onde as ferramentas executam (backend do sandbox vs host). - Política de ferramentas (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) decide quais ferramentas estão disponíveis/permitidas. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) é uma saída de emergência somente para exec para executar fora do sandbox quando você está em sandbox (gatewaypor padrão, ounodequando o destino de exec está configurado comonode).
Depuração rápida
Use o inspetor para ver o que o OpenClaw está realmente fazendo:- modo/escopo/acesso ao workspace efetivos do sandbox
- se a sessão está atualmente em sandbox (main vs non-main)
- allow/deny efetivo de ferramentas do sandbox (e se veio de agente/global/padrão)
- gates de Elevated e caminhos de chaves de correção
Sandbox: onde as ferramentas executam
O sandbox é controlado poragents.defaults.sandbox.mode:
"off": tudo executa no host."non-main": somente sessões non-main ficam em sandbox (uma “surpresa” comum para grupos/canais)."all": tudo fica em sandbox.
Montagens bind (checagem rápida de segurança)
docker.bindsperfura o sistema de arquivos do sandbox: o que você montar fica visível dentro do contêiner com o modo que você definir (:roou:rw).- O padrão é leitura e gravação se você omitir o modo; prefira
:ropara código-fonte/segredos. scope: "shared"ignora binds por agente (somente binds globais se aplicam).- O OpenClaw valida origens de bind duas vezes: primeiro no caminho de origem normalizado, depois novamente após resolver pelo ancestral existente mais profundo. Escapes por pais com symlink não contornam checagens de caminhos bloqueados ou raízes permitidas.
- Caminhos de folha inexistentes ainda são checados com segurança. Se
/workspace/alias-out/new-fileresolve por um pai com symlink para um caminho bloqueado ou para fora das raízes permitidas configuradas, o bind é rejeitado. - Montar
/var/run/docker.sockefetivamente entrega controle do host ao sandbox; faça isso somente de forma intencional. - O acesso ao workspace (
workspaceAccess: "ro"/"rw") é independente dos modos de bind.
Política de ferramentas: quais ferramentas existem/podem ser chamadas
Duas camadas importam:- Perfil de ferramentas:
tools.profileeagents.list[].tools.profile(allowlist base) - Perfil de ferramentas do provedor:
tools.byProvider[provider].profileeagents.list[].tools.byProvider[provider].profile - Política de ferramentas global/por agente:
tools.allow/tools.denyeagents.list[].tools.allow/agents.list[].tools.deny - Política de ferramentas do provedor:
tools.byProvider[provider].allow/denyeagents.list[].tools.byProvider[provider].allow/deny - Política de ferramentas do sandbox (aplica-se somente quando em sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyeagents.list[].tools.sandbox.tools.*
denysempre vence.- Se
allownão estiver vazio, todo o resto é tratado como bloqueado. - A política de ferramentas é a barreira rígida:
/execnão consegue sobrescrever uma ferramentaexecnegada. - A política de ferramentas filtra a disponibilidade de ferramentas por nome; ela não inspeciona efeitos colaterais dentro de
exec. Seexecfor permitido, negarwrite,editouapply_patchnão torna comandos shell somente leitura. /execapenas altera padrões da sessão para remetentes autorizados; ele não concede acesso a ferramentas. Chaves de ferramentas do provedor aceitamprovider(por exemplo,google-antigravity) ouprovider/model(por exemplo,openai/gpt-5.4).
Grupos de ferramentas (atalhos)
Políticas de ferramentas (globais, de agente, de sandbox) aceitam entradasgroup:* que se expandem para várias ferramentas:
group:runtime:exec,process,code_execution(bashé aceito como um alias paraexec)group:fs:read,write,edit,apply_patchPara agentes somente leitura, neguegroup:runtimealém das ferramentas mutáveis do sistema de arquivos, a menos que a política de sistema de arquivos do sandbox ou um limite de host separado imponha a restrição de somente leitura.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: todas as ferramentas integradas do OpenClaw (exclui plugins de provedor)
Elevated: “executar no host” somente para exec
Elevated não concede ferramentas extras; ele afeta apenasexec.
- Se você estiver em sandbox,
/elevated on(ouexeccomelevated: true) executa fora do sandbox (aprovações ainda podem se aplicar). - Use
/elevated fullpara pular aprovações de exec na sessão. - Se você já estiver executando diretamente, Elevated é efetivamente um no-op (ainda sujeito a gate).
- Elevated não tem escopo de Skills e não sobrescreve allow/deny de ferramentas.
- Elevated não concede sobrescritas arbitrárias entre hosts a partir de
host=auto; ele segue as regras normais de destino de exec e só preservanodequando o destino configurado/da sessão já énode. /execé separado de Elevated. Ele apenas ajusta padrões de exec por sessão para remetentes autorizados.
- Habilitação:
tools.elevated.enabled(e opcionalmenteagents.list[].tools.elevated.enabled) - Allowlists de remetentes:
tools.elevated.allowFrom.<provider>(e opcionalmenteagents.list[].tools.elevated.allowFrom.<provider>)
Correções comuns para “prisão de sandbox"
"Ferramenta X bloqueada pela política de ferramentas do sandbox”
Chaves de correção (escolha uma):- Desabilitar sandbox:
agents.defaults.sandbox.mode=off(ou por agenteagents.list[].sandbox.mode=off) - Permitir a ferramenta dentro do sandbox:
- remova-a de
tools.sandbox.tools.deny(ou por agenteagents.list[].tools.sandbox.tools.deny) - ou adicione-a a
tools.sandbox.tools.allow(ou allow por agente)
- remova-a de
“Achei que isso era main; por que está em sandbox?”
No modo"non-main", chaves de grupo/canal não são main. Use a chave da sessão main (mostrada por sandbox explain) ou altere o modo para "off".
Relacionados
- Sandboxing — referência completa de sandbox (modos, escopos, backends, imagens)
- Sandbox e Ferramentas Multiagente — sobrescritas e precedência por agente
- Modo Elevated