openclaw security
Herramientas de seguridad (auditoría + correcciones opcionales).
Relacionado:
- Guía de seguridad: Security
Auditoría
openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json
La auditoría advierte cuando múltiples remitentes de DM comparten la sesión principal y recomienda el modo DM seguro: session.dmScope="per-channel-peer" (o per-account-channel-peer para canales con múltiples cuentas) para bandejas de entrada compartidas.
Esto es para el endurecimiento de bandejas de entrada cooperativas/compartidas. Un solo Gateway compartido por operadores mutuamente desconfiados/adversarios no es una configuración recomendada; separa los límites de confianza con gateways separados (o usuarios/hosts de SO separados).
También emite security.trust_model.multi_user_heuristic cuando la configuración sugiere un probable ingreso de múltiples usuarios (por ejemplo política de DM/grupo abierta, destinos de grupo configurados o reglas de remitente con comodín), y recuerda que OpenClaw es un modelo de confianza de asistente personal por defecto.
Para configuraciones intencionales de múltiples usuarios, la orientación de la auditoría es aislar todas las sesiones en sandbox, mantener el acceso al sistema de archivos limitado al workspace y mantener las identidades o credenciales personales/privadas fuera de ese runtime.
También advierte cuando se usan modelos pequeños (<=300B) sin sandbox y con herramientas web/navegador habilitadas.
Para el ingreso de webhooks, advierte cuando hooks.defaultSessionKey no está definido, cuando las sobrecargas de sessionKey de solicitud están habilitadas y cuando las sobrecargas están habilitadas sin hooks.allowedSessionKeyPrefixes.
También advierte cuando hay ajustes de Docker del sandbox configurados mientras el modo sandbox está desactivado, cuando gateway.nodes.denyCommands usa entradas inefectivas tipo patrón/desconocidas (solo coincidencia exacta de nombre de comando de nodo, no filtrado de texto de shell), cuando gateway.nodes.allowCommands habilita explícitamente comandos de nodo peligrosos, cuando tools.profile="minimal" global es sobrecargado por perfiles de herramientas de agente, cuando los grupos abiertos exponen herramientas de runtime/sistema de archivos sin protecciones de sandbox/workspace, y cuando las herramientas de plugins de extensión instalados pueden ser accesibles bajo una política de herramientas permisiva.
También marca gateway.allowRealIpFallback=true (riesgo de suplantación de encabezados si los proxies están mal configurados) y discovery.mdns.mode="full" (filtración de metadatos a través de registros TXT de mDNS).
También advierte cuando el sandbox del navegador usa la red Docker bridge sin sandbox.browser.cdpSourceRange.
También marca modos de red Docker del sandbox peligrosos (incluyendo host y uniones de namespace container:*).
También advierte cuando los contenedores Docker del sandbox de navegador existentes tienen etiquetas hash faltantes/obsoletas (por ejemplo contenedores pre-migración sin openclaw.browserConfigEpoch) y recomienda openclaw sandbox recreate --browser --all.
También advierte cuando los registros de instalación de plugins/hooks basados en npm no están fijados, les faltan metadatos de integridad o difieren de las versiones de paquetes actualmente instalados.
Advierte cuando las listas de permitidos de canal dependen de nombres/emails/etiquetas mutables en lugar de IDs estables (Discord, Slack, Google Chat, MS Teams, Mattermost, alcances de IRC donde corresponda).
Advierte cuando gateway.auth.mode="none" deja las APIs HTTP del Gateway accesibles sin un secreto compartido (/tools/invoke más cualquier endpoint /v1/* habilitado).
Los ajustes con prefijo dangerous/dangerously son sobrecargas explícitas de emergencia del operador; habilitar una no es, por sí mismo, un reporte de vulnerabilidad de seguridad.
Para el inventario completo de parámetros peligrosos, consulta la sección “Insecure or dangerous flags summary” en Security.
Salida JSON
Usa --json para verificaciones de CI/políticas:
openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'
Si se combinan --fix y --json, la salida incluye tanto las acciones de corrección como el informe final:
openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'
Qué cambia --fix
--fix aplica remediaciones seguras y deterministas:
- cambia
groupPolicy="open"comunes agroupPolicy="allowlist"(incluyendo variantes de cuenta en canales soportados) - cambia
logging.redactSensitivede"off"a"tools" - ajusta los permisos de archivos de estado/configuración y archivos sensibles comunes (
credentials/*.json,auth-profiles.json,sessions.json, archivos de sesión*.jsonl)
--fix no:
- rota tokens/contraseñas/claves API
- desactiva herramientas (
gateway,cron,exec, etc.) - cambia opciones de bind/autenticación/exposición de red del gateway
- elimina o reescribe plugins/skills