---
read_when:
    - Has visto un `checkId` específico en la salida de `openclaw security audit` y quieres saber qué significa
    - Necesitas la clave/ruta de corrección para un hallazgo dado
    - Estás clasificando la gravedad en una ejecución de auditoría de seguridad
summary: Catálogo de referencia de `checkIds` emitidos por `openclaw security audit`
title: Comprobaciones de auditoría de seguridad
x-i18n:
    generated_at: "2026-04-26T11:30:22Z"
    model: gpt-5.4
    provider: openai
    source_hash: 7a5463bd1cec8382eb480cbbe1d8f8cceef0c15efc1f9124990df1e8f70b209a
    source_path: gateway/security/audit-checks.md
    workflow: 15
---

`openclaw security audit` emite hallazgos estructurados identificados por `checkId`. Esta página es el catálogo de referencia para esos ID. Para el modelo de amenazas de alto nivel y la guía de refuerzo de seguridad, consulta [Security](/es/gateway/security).

Valores de `checkId` de alta relevancia que probablemente verás en despliegues reales (no exhaustivo):

| `checkId`                                                     | Gravedad      | Por qué importa                                                                      | Clave/ruta principal de corrección                                                                   | Corrección automática |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------- |
| `fs.state_dir.perms_world_writable`                           | critical      | Otros usuarios/procesos pueden modificar todo el estado de OpenClaw                  | permisos del sistema de archivos en `~/.openclaw`                                                    | sí                    |
| `fs.state_dir.perms_group_writable`                           | warn          | Los usuarios del grupo pueden modificar todo el estado de OpenClaw                   | permisos del sistema de archivos en `~/.openclaw`                                                    | sí                    |
| `fs.state_dir.perms_readable`                                 | warn          | El directorio de estado es legible por otros                                         | permisos del sistema de archivos en `~/.openclaw`                                                    | sí                    |
| `fs.state_dir.symlink`                                        | warn          | El destino del directorio de estado pasa a ser otro límite de confianza              | estructura del sistema de archivos del directorio de estado                                          | no                    |
| `fs.config.perms_writable`                                    | critical      | Otros pueden cambiar autenticación/política de herramientas/configuración            | permisos del sistema de archivos en `~/.openclaw/openclaw.json`                                      | sí                    |
| `fs.config.symlink`                                           | warn          | Los archivos de configuración enlazados con symlink no son compatibles para escritura y añaden otro límite de confianza | reemplázalo por un archivo de configuración normal o apunta `OPENCLAW_CONFIG_PATH` al archivo real | no                    |
| `fs.config.perms_group_readable`                              | warn          | Los usuarios del grupo pueden leer tokens/ajustes de la configuración                | permisos del sistema de archivos del archivo de configuración                                        | sí                    |
| `fs.config.perms_world_readable`                              | critical      | La configuración puede exponer tokens/ajustes                                        | permisos del sistema de archivos del archivo de configuración                                        | sí                    |
| `fs.config_include.perms_writable`                            | critical      | El archivo incluido de configuración puede ser modificado por otros                  | permisos del archivo incluido referenciado desde `openclaw.json`                                     | sí                    |
| `fs.config_include.perms_group_readable`                      | warn          | Los usuarios del grupo pueden leer secretos/ajustes incluidos                        | permisos del archivo incluido referenciado desde `openclaw.json`                                     | sí                    |
| `fs.config_include.perms_world_readable`                      | critical      | Los secretos/ajustes incluidos son legibles globalmente                              | permisos del archivo incluido referenciado desde `openclaw.json`                                     | sí                    |
| `fs.auth_profiles.perms_writable`                             | critical      | Otros pueden inyectar o reemplazar credenciales de modelo almacenadas                | permisos de `agents/<agentId>/agent/auth-profiles.json`                                              | sí                    |
| `fs.auth_profiles.perms_readable`                             | warn          | Otros pueden leer claves de API y tokens OAuth                                       | permisos de `agents/<agentId>/agent/auth-profiles.json`                                              | sí                    |
| `fs.credentials_dir.perms_writable`                           | critical      | Otros pueden modificar el estado de emparejamiento/credenciales de canales           | permisos del sistema de archivos en `~/.openclaw/credentials`                                        | sí                    |
| `fs.credentials_dir.perms_readable`                           | warn          | Otros pueden leer el estado de credenciales de canales                               | permisos del sistema de archivos en `~/.openclaw/credentials`                                        | sí                    |
| `fs.sessions_store.perms_readable`                            | warn          | Otros pueden leer transcripciones/metadatos de sesiones                              | permisos del almacenamiento de sesiones                                                               | sí                    |
| `fs.log_file.perms_readable`                                  | warn          | Otros pueden leer registros redactados pero aún sensibles                            | permisos del archivo de registro del gateway                                                         | sí                    |
| `fs.synced_dir`                                               | warn          | Estado/configuración en iCloud/Dropbox/Drive amplía la exposición de tokens/transcripciones | mueve la configuración/el estado fuera de carpetas sincronizadas                               | no                    |
| `gateway.bind_no_auth`                                        | critical      | Enlace remoto sin secreto compartido                                                 | `gateway.bind`, `gateway.auth.*`                                                                     | no                    |
| `gateway.loopback_no_auth`                                    | critical      | El loopback con proxy inverso puede quedar sin autenticación                         | `gateway.auth.*`, configuración del proxy                                                            | no                    |
| `gateway.trusted_proxies_missing`                             | warn          | Hay encabezados de proxy inverso presentes pero no son de proxies confiables         | `gateway.trustedProxies`                                                                             | no                    |
| `gateway.http.no_auth`                                        | warn/critical | Las API HTTP del Gateway son accesibles con `auth.mode="none"`                       | `gateway.auth.mode`, `gateway.http.endpoints.*`                                                      | no                    |
| `gateway.http.session_key_override_enabled`                   | info          | Los clientes de la API HTTP pueden sobrescribir `sessionKey`                         | `gateway.http.allowSessionKeyOverride`                                                               | no                    |
| `gateway.tools_invoke_http.dangerous_allow`                   | warn/critical | Vuelve a habilitar herramientas peligrosas sobre la API HTTP                         | `gateway.tools.allow`                                                                                | no                    |
| `gateway.nodes.allow_commands_dangerous`                      | warn/critical | Habilita comandos de nodo de alto impacto (cámara/pantalla/contactos/calendario/SMS) | `gateway.nodes.allowCommands`                                                                       | no                    |
| `gateway.nodes.deny_commands_ineffective`                     | warn          | Las entradas de denegación tipo patrón no coinciden con texto de shell ni grupos     | `gateway.nodes.denyCommands`                                                                         | no                    |
| `gateway.tailscale_funnel`                                    | critical      | Exposición a Internet pública                                                        | `gateway.tailscale.mode`                                                                             | no                    |
| `gateway.tailscale_serve`                                     | info          | La exposición a Tailnet está habilitada mediante Serve                               | `gateway.tailscale.mode`                                                                             | no                    |
| `gateway.control_ui.allowed_origins_required`                 | critical      | Control UI fuera de loopback sin lista permitida explícita de orígenes del navegador | `gateway.controlUi.allowedOrigins`                                                                   | no                    |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/critical | `allowedOrigins=["*"]` deshabilita la lista permitida de orígenes del navegador      | `gateway.controlUi.allowedOrigins`                                                                   | no                    |
| `gateway.control_ui.host_header_origin_fallback`              | warn/critical | Habilita fallback de origen por encabezado Host (degrada la protección contra DNS rebinding) | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                   | no                    |
| `gateway.control_ui.insecure_auth`                            | warn          | El interruptor de compatibilidad de autenticación insegura está habilitado           | `gateway.controlUi.allowInsecureAuth`                                                                | no                    |
| `gateway.control_ui.device_auth_disabled`                     | critical      | Deshabilita la comprobación de identidad del dispositivo                             | `gateway.controlUi.dangerouslyDisableDeviceAuth`                                                     | no                    |
| `gateway.real_ip_fallback_enabled`                            | warn/critical | Confiar en el fallback `X-Real-IP` puede permitir suplantación de IP de origen por mala configuración del proxy | `gateway.allowRealIpFallback`, `gateway.trustedProxies`                                  | no                    |
| `gateway.token_too_short`                                     | warn          | Un token compartido corto es más fácil de forzar por fuerza bruta                    | `gateway.auth.token`                                                                                 | no                    |
| `gateway.auth_no_rate_limit`                                  | warn          | La autenticación expuesta sin limitación de tasa incrementa el riesgo de fuerza bruta | `gateway.auth.rateLimit`                                                                            | no                    |
| `gateway.trusted_proxy_auth`                                  | critical      | La identidad del proxy pasa a ser ahora el límite de autenticación                   | `gateway.auth.mode="trusted-proxy"`                                                                  | no                    |
| `gateway.trusted_proxy_no_proxies`                            | critical      | La autenticación de proxy confiable sin IP de proxies confiables es insegura         | `gateway.trustedProxies`                                                                             | no                    |
| `gateway.trusted_proxy_no_user_header`                        | critical      | La autenticación de proxy confiable no puede resolver con seguridad la identidad del usuario | `gateway.auth.trustedProxy.userHeader`                                                          | no                    |
| `gateway.trusted_proxy_no_allowlist`                          | warn          | La autenticación de proxy confiable acepta cualquier usuario autenticado aguas arriba | `gateway.auth.trustedProxy.allowUsers`                                                              | no                    |
| `checkId`                                                     | Gravedad      | Por qué importa                                                                      | Clave/ruta principal de corrección                                                                   | Corrección automática |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------- |
| `gateway.probe_auth_secretref_unavailable`                    | warn          | El sondeo profundo no pudo resolver SecretRefs de autenticación en esta ruta de comando | fuente de autenticación del sondeo profundo / disponibilidad de SecretRef                         | no                    |
| `gateway.probe_failed`                                        | warn/critical | Falló el sondeo del Gateway en vivo                                                  | alcance/autenticación del gateway                                                                    | no                    |
| `discovery.mdns_full_mode`                                    | warn/critical | El modo mDNS completo publica metadatos `cliPath`/`sshPort` en la red local          | `discovery.mdns.mode`, `gateway.bind`                                                                | no                    |
| `config.insecure_or_dangerous_flags`                          | warn          | Hay activadas banderas inseguras/peligrosas de depuración                            | varias claves (consulta el detalle del hallazgo)                                                     | no                    |
| `config.secrets.gateway_password_in_config`                   | warn          | La contraseña del Gateway está almacenada directamente en la configuración            | `gateway.auth.password`                                                                              | no                    |
| `config.secrets.hooks_token_in_config`                        | warn          | El token bearer de hooks está almacenado directamente en la configuración             | `hooks.token`                                                                                        | no                    |
| `hooks.token_reuse_gateway_token`                             | critical      | El token de entrada de hooks también desbloquea la autenticación del Gateway         | `hooks.token`, `gateway.auth.token`                                                                  | no                    |
| `hooks.token_too_short`                                       | warn          | Hace más fácil la fuerza bruta sobre la entrada de hooks                             | `hooks.token`                                                                                        | no                    |
| `hooks.default_session_key_unset`                             | warn          | El agente de hooks se distribuye en sesiones generadas por solicitud                 | `hooks.defaultSessionKey`                                                                            | no                    |
| `hooks.allowed_agent_ids_unrestricted`                        | warn/critical | Los llamadores autenticados de hooks pueden enrutar a cualquier agente configurado   | `hooks.allowedAgentIds`                                                                              | no                    |
| `hooks.request_session_key_enabled`                           | warn/critical | El llamador externo puede elegir `sessionKey`                                        | `hooks.allowRequestSessionKey`                                                                       | no                    |
| `hooks.request_session_key_prefixes_missing`                  | warn/critical | No hay límites para las formas de claves de sesión externas                          | `hooks.allowedSessionKeyPrefixes`                                                                    | no                    |
| `hooks.path_root`                                             | critical      | La ruta de hooks es `/`, lo que hace más fácil colisiones o enrutamiento incorrecto en la entrada | `hooks.path`                                                                               | no                    |
| `hooks.installs_unpinned_npm_specs`                           | warn          | Los registros de instalación de hooks no están fijados a especificaciones npm inmutables | metadatos de instalación de hooks                                                                 | no                    |
| `hooks.installs_missing_integrity`                            | warn          | Los registros de instalación de hooks carecen de metadatos de integridad             | metadatos de instalación de hooks                                                                    | no                    |
| `hooks.installs_version_drift`                                | warn          | Los registros de instalación de hooks derivan de los paquetes instalados             | metadatos de instalación de hooks                                                                    | no                    |
| `logging.redact_off`                                          | warn          | Los valores sensibles se filtran a registros/estado                                  | `logging.redactSensitive`                                                                            | sí                    |
| `browser.control_invalid_config`                              | warn          | La configuración de control del navegador no es válida antes del runtime             | `browser.*`                                                                                          | no                    |
| `browser.control_no_auth`                                     | critical      | El control del navegador está expuesto sin autenticación por token/contraseña        | `gateway.auth.*`                                                                                     | no                    |
| `browser.remote_cdp_http`                                     | warn          | El CDP remoto sobre HTTP sin cifrado carece de cifrado de transporte                 | perfil de navegador `cdpUrl`                                                                         | no                    |
| `browser.remote_cdp_private_host`                             | warn          | El CDP remoto apunta a un host privado/interno                                       | perfil de navegador `cdpUrl`, `browser.ssrfPolicy.*`                                                 | no                    |
| `sandbox.docker_config_mode_off`                              | warn          | La configuración Docker del sandbox está presente pero inactiva                      | `agents.*.sandbox.mode`                                                                              | no                    |
| `sandbox.bind_mount_non_absolute`                             | warn          | Los bind mounts relativos pueden resolverse de forma impredecible                    | `agents.*.sandbox.docker.binds[]`                                                                    | no                    |
| `sandbox.dangerous_bind_mount`                                | critical      | El bind mount del sandbox apunta a rutas bloqueadas del sistema, credenciales o socket de Docker | `agents.*.sandbox.docker.binds[]`                                                           | no                    |
| `sandbox.dangerous_network_mode`                              | critical      | La red Docker del sandbox usa modo `host` o `container:*` de unión de namespace      | `agents.*.sandbox.docker.network`                                                                    | no                    |
| `sandbox.dangerous_seccomp_profile`                           | critical      | El perfil seccomp del sandbox debilita el aislamiento del contenedor                 | `agents.*.sandbox.docker.securityOpt`                                                                | no                    |
| `sandbox.dangerous_apparmor_profile`                          | critical      | El perfil AppArmor del sandbox debilita el aislamiento del contenedor                | `agents.*.sandbox.docker.securityOpt`                                                                | no                    |
| `sandbox.browser_cdp_bridge_unrestricted`                     | warn          | El puente CDP del navegador del sandbox está expuesto sin restricción de rango de origen | `sandbox.browser.cdpSourceRange`                                                                 | no                    |
| `sandbox.browser_container.non_loopback_publish`              | critical      | El contenedor del navegador existente publica CDP en interfaces que no son loopback  | configuración de publicación del contenedor sandbox del navegador                                    | no                    |
| `sandbox.browser_container.hash_label_missing`                | warn          | El contenedor del navegador existente es anterior a las etiquetas actuales de hash de configuración | `openclaw sandbox recreate --browser --all`                                                  | no                    |
| `sandbox.browser_container.hash_epoch_stale`                  | warn          | El contenedor del navegador existente es anterior a la época actual de configuración del navegador | `openclaw sandbox recreate --browser --all`                                                | no                    |
| `tools.exec.host_sandbox_no_sandbox_defaults`                 | warn          | `exec host=sandbox` falla de forma segura cuando el sandbox está desactivado         | `tools.exec.host`, `agents.defaults.sandbox.mode`                                                    | no                    |
| `tools.exec.host_sandbox_no_sandbox_agents`                   | warn          | `exec host=sandbox` por agente falla de forma segura cuando el sandbox está desactivado | `agents.list[].tools.exec.host`, `agents.list[].sandbox.mode`                                   | no                    |
| `tools.exec.security_full_configured`                         | warn/critical | La ejecución en host se está ejecutando con `security="full"`                        | `tools.exec.security`, `agents.list[].tools.exec.security`                                           | no                    |
| `tools.exec.auto_allow_skills_enabled`                        | warn          | Las aprobaciones de exec confían implícitamente en binarios de Skills                | `~/.openclaw/exec-approvals.json`                                                                    | no                    |
| `tools.exec.allowlist_interpreter_without_strict_inline_eval` | warn          | Las listas permitidas de intérpretes permiten evaluación inline sin reautorización forzada | `tools.exec.strictInlineEval`, `agents.list[].tools.exec.strictInlineEval`, lista permitida de aprobaciones de exec | no |
| `tools.exec.safe_bins_interpreter_unprofiled`                 | warn          | Los binarios de intérprete/runtime en `safeBins` sin perfiles explícitos amplían el riesgo de exec | `tools.exec.safeBins`, `tools.exec.safeBinProfiles`, `agents.list[].tools.exec.*`            | no                    |
| `tools.exec.safe_bins_broad_behavior`                         | warn          | Las herramientas de comportamiento amplio en `safeBins` debilitan el modelo de confianza de filtro stdin de bajo riesgo | `tools.exec.safeBins`, `agents.list[].tools.exec.safeBins`                              | no                    |
| `tools.exec.safe_bin_trusted_dirs_risky`                      | warn          | `safeBinTrustedDirs` incluye directorios mutables o arriesgados                      | `tools.exec.safeBinTrustedDirs`, `agents.list[].tools.exec.safeBinTrustedDirs`                      | no                    |
| `skills.workspace.symlink_escape`                             | warn          | `skills/**/SKILL.md` del espacio de trabajo se resuelve fuera de la raíz del espacio de trabajo (deriva de cadena de symlinks) | estado del sistema de archivos de `skills/**` del espacio de trabajo                | no                    |
| `plugins.extensions_no_allowlist`                             | warn          | Los Plugins están instalados sin una lista permitida explícita de Plugins            | `plugins.allowlist`                                                                                  | no                    |
| `plugins.installs_unpinned_npm_specs`                         | warn          | Los registros del índice de Plugins no están fijados a especificaciones npm inmutables | metadatos de instalación de Plugins                                                                | no                    |
| `checkId`                                                     | Gravedad      | Por qué importa                                                                      | Clave/ruta principal de corrección                                                                   | Corrección automática |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------- |
| `plugins.installs_missing_integrity`                          | warn          | Los registros del índice de Plugins carecen de metadatos de integridad               | metadatos de instalación de Plugins                                                                  | no                    |
| `plugins.installs_version_drift`                              | warn          | Los registros del índice de Plugins derivan de los paquetes instalados               | metadatos de instalación de Plugins                                                                  | no                    |
| `plugins.code_safety`                                         | warn/critical | El escaneo del código del Plugin encontró patrones sospechosos o peligrosos          | código del Plugin / origen de instalación                                                            | no                    |
| `plugins.code_safety.entry_path`                              | warn          | La ruta de entrada del Plugin apunta a ubicaciones ocultas o `node_modules`          | `entry` del manifiesto del Plugin                                                                    | no                    |
| `plugins.code_safety.entry_escape`                            | critical      | La entrada del Plugin escapa del directorio del Plugin                               | `entry` del manifiesto del Plugin                                                                    | no                    |
| `plugins.code_safety.scan_failed`                             | warn          | El escaneo del código del Plugin no pudo completarse                                 | ruta del Plugin / entorno del escaneo                                                                | no                    |
| `skills.code_safety`                                          | warn/critical | Los metadatos/código del instalador de Skills contienen patrones sospechosos o peligrosos | origen de instalación de la Skill                                                                 | no                    |
| `skills.code_safety.scan_failed`                              | warn          | El escaneo del código de la Skill no pudo completarse                                | entorno de escaneo de la Skill                                                                       | no                    |
| `security.exposure.open_channels_with_exec`                   | warn/critical | Las salas compartidas/públicas pueden alcanzar agentes con exec habilitado           | `channels.*.dmPolicy`, `channels.*.groupPolicy`, `tools.exec.*`, `agents.list[].tools.exec.*`       | no                    |
| `security.exposure.open_groups_with_elevated`                 | critical      | Los grupos abiertos + herramientas elevadas crean rutas de prompt injection de alto impacto | `channels.*.groupPolicy`, `tools.elevated.*`                                                     | no                    |
| `security.exposure.open_groups_with_runtime_or_fs`            | critical/warn | Los grupos abiertos pueden alcanzar herramientas de comandos/archivos sin protecciones de sandbox/espacio de trabajo | `channels.*.groupPolicy`, `tools.profile/deny`, `tools.fs.workspaceOnly`, `agents.*.sandbox.mode` | no |
| `security.trust_model.multi_user_heuristic`                   | warn          | La configuración parece multiusuario mientras el modelo de confianza del gateway es asistente personal | dividir límites de confianza o aplicar refuerzo para usuarios compartidos (`sandbox.mode`, denegación de herramientas/delimitación del espacio de trabajo) | no |
| `tools.profile_minimal_overridden`                            | warn          | Las sobrescrituras del agente omiten el perfil mínimo global                         | `agents.list[].tools.profile`                                                                        | no                    |
| `plugins.tools_reachable_permissive_policy`                   | warn          | Las herramientas de la extensión son accesibles en contextos permisivos              | `tools.profile` + permitir/denegar herramientas                                                      | no                    |
| `models.legacy`                                               | warn          | Aún están configuradas familias de modelos heredadas                                 | selección de modelo                                                                                  | no                    |
| `models.weak_tier`                                            | warn          | Los modelos configurados están por debajo de los niveles recomendados actualmente    | selección de modelo                                                                                  | no                    |
| `models.small_params`                                         | critical/info | Los modelos pequeños + superficies de herramientas inseguras aumentan el riesgo de inyección | elección del modelo + política de sandbox/herramientas                                           | no                    |
| `summary.attack_surface`                                      | info          | Resumen agregado de la postura de autenticación, canal, herramienta y exposición     | varias claves (consulta el detalle del hallazgo)                                                     | no                    |

## Relacionado

- [Seguridad](/es/gateway/security)
- [Configuración](/es/gateway/configuration)
- [Autenticación de proxy confiable](/es/gateway/trusted-proxy-auth)
