Sandbox vs política de herramientas vs elevado
OpenClaw tiene tres controles relacionados (pero diferentes):- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) decide dónde se ejecutan las herramientas (Docker vs host). - Política de herramientas (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) decide qué herramientas están disponibles/permitidas. - Elevado (
tools.elevated.*,agents.list[].tools.elevated.*) es una vía de escape solo para exec para ejecutar fuera del sandbox cuando estás en sandbox (gatewayde forma predeterminada, onodecuando el destino de exec está configurado comonode).
Depuración rápida
Usa el inspector para ver lo que OpenClaw está haciendo realmente:- modo/alcance/acceso al workspace efectivos del sandbox
- si la sesión está actualmente en sandbox (main vs no main)
- permitir/denegar efectivo de herramientas del sandbox (y si provino de agente/global/predeterminado)
- controles elevados y rutas de claves para corregirlo
Sandbox: dónde se ejecutan las herramientas
El sandbox se controla medianteagents.defaults.sandbox.mode:
"off": todo se ejecuta en el host."non-main": solo las sesiones no principales usan sandbox (una “sorpresa” habitual para grupos/canales)."all": todo usa sandbox.
Montajes bind (comprobación rápida de seguridad)
docker.bindsatraviesa el sistema de archivos del sandbox: todo lo que montes será visible dentro del contenedor con el modo que establezcas (:roo:rw).- El valor predeterminado es lectura-escritura si omites el modo; prefiere
:ropara código fuente/secretos. scope: "shared"ignora los binds por agente (solo se aplican los binds globales).- OpenClaw valida los orígenes de bind dos veces: primero en la ruta de origen normalizada y luego de nuevo después de resolver a través del ancestro existente más profundo. Los escapes por padres con symlink no omiten las comprobaciones de ruta bloqueada o raíz permitida.
- Las rutas hoja inexistentes siguen comprobándose de forma segura. Si
/workspace/alias-out/new-filese resuelve a través de un padre con symlink hacia una ruta bloqueada o fuera de las raíces permitidas configuradas, el bind se rechaza. - Vincular
/var/run/docker.sockentrega de hecho el control del host al sandbox; hazlo solo de forma intencional. - El acceso al workspace (
workspaceAccess: "ro"/"rw") es independiente de los modos de bind.
Política de herramientas: qué herramientas existen/se pueden invocar
Importan dos capas:- Perfil de herramientas:
tools.profileyagents.list[].tools.profile(lista base de permitidas) - Perfil de herramientas del proveedor:
tools.byProvider[provider].profileyagents.list[].tools.byProvider[provider].profile - Política global/de herramientas por agente:
tools.allow/tools.denyyagents.list[].tools.allow/agents.list[].tools.deny - Política de herramientas del proveedor:
tools.byProvider[provider].allow/denyyagents.list[].tools.byProvider[provider].allow/deny - Política de herramientas del sandbox (solo se aplica cuando hay sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyyagents.list[].tools.sandbox.tools.*
denysiempre gana.- Si
allowno está vacío, todo lo demás se trata como bloqueado. - La política de herramientas es el bloqueo definitivo:
/execno puede sobrescribir una herramientaexecdenegada. /execsolo cambia los valores predeterminados de la sesión para remitentes autorizados; no concede acceso a herramientas. Las claves de herramientas del proveedor aceptanprovider(por ejemplo,google-antigravity) oprovider/model(por ejemplo,openai/gpt-5.4).
Grupos de herramientas (atajos)
Las políticas de herramientas (global, agente, sandbox) admiten entradasgroup:* que se expanden a varias herramientas:
group:runtime:exec,process,code_execution(bashse acepta como alias deexec)group:fs:read,write,edit,apply_patchgroup: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:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_listgroup:media:image,image_generate,video_generate,ttsgroup:openclaw: todas las herramientas integradas de OpenClaw (excluye plugins de proveedores)
Elevado: “ejecutar en el host” solo para exec
Elevado no concede herramientas adicionales; solo afecta aexec.
- Si estás en sandbox,
/elevated on(oexecconelevated: true) se ejecuta fuera del sandbox (pueden seguir aplicándose aprobaciones). - Usa
/elevated fullpara omitir las aprobaciones de exec para la sesión. - Si ya te estás ejecutando de forma directa, elevado es en la práctica una operación sin efecto (aunque sigue estando controlado).
- Elevado no está limitado a Skills y no sobrescribe permitir/denegar herramientas.
- Elevado no concede sobrescrituras arbitrarias entre hosts desde
host=auto; sigue las reglas normales de destino de exec y solo conservanodecuando el destino configurado/de sesión ya esnode. /execes independiente de elevado. Solo ajusta los valores predeterminados de exec por sesión para remitentes autorizados.
- Habilitación:
tools.elevated.enabled(y opcionalmenteagents.list[].tools.elevated.enabled) - Listas permitidas de remitentes:
tools.elevated.allowFrom.<provider>(y opcionalmenteagents.list[].tools.elevated.allowFrom.<provider>)
Correcciones comunes del “encierro del sandbox”
“Herramienta X bloqueada por la política de herramientas del sandbox”
Claves para corregirlo (elige una):- Deshabilitar sandbox:
agents.defaults.sandbox.mode=off(o por agenteagents.list[].sandbox.mode=off) - Permitir la herramienta dentro del sandbox:
- quitarla de
tools.sandbox.tools.deny(o por agenteagents.list[].tools.sandbox.tools.deny) - o agregarla a
tools.sandbox.tools.allow(o a la lista permitida por agente)
- quitarla de
“Pensé que esto era main, ¿por qué está en sandbox?”
En el modo"non-main", las claves de grupo/canal no son main. Usa la clave de sesión principal (mostrada por sandbox explain) o cambia el modo a "off".
Consulta también
- Sandboxing — referencia completa del sandbox (modos, alcances, backends, imágenes)
- Multi-Agent Sandbox & Tools — sobrescrituras por agente y precedencia
- Elevated Mode