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

# Comprobaciones de auditoría de seguridad

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

Valores `checkId` de alta señal que probablemente verás en implementaciones 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 puede ser leído por otros                                                      | permisos del sistema de archivos en `~/.openclaw`                                                                    | sí      |
| `fs.state_dir.symlink`                                        | warn          | El destino del directorio de estado se convierte en otro límite de confianza                                      | diseño del sistema de archivos del directorio de estado                                                                          | no       |
| `fs.config.perms_writable`                                    | critical      | Otros pueden cambiar la política de autenticación/herramientas/configuración                                            | permisos del sistema de archivos en `~/.openclaw/openclaw.json`                                                      | sí      |
| `fs.config.symlink`                                           | warn          | Los archivos de configuración enlazados simbólicamente no son compatibles con escrituras y añaden otro límite de confianza     | reemplazar por un archivo de configuración normal o apuntar `OPENCLAW_CONFIG_PATH` al archivo real                  | no       |
| `fs.config.perms_group_readable`                              | warn          | Los usuarios del grupo pueden leer tokens/configuración de la configuración                                          | permisos del sistema de archivos en el archivo de configuración                                                                      | sí      |
| `fs.config.perms_world_readable`                              | critical      | La configuración puede exponer tokens/configuración                                                    | permisos del sistema de archivos en el 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/configuración incluidos                                       | permisos del archivo incluido referenciado desde `openclaw.json`                                                   | sí      |
| `fs.config_include.perms_world_readable`                      | critical      | Los secretos/configuración incluidos pueden ser leídos por cualquiera                                         | 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 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 vinculación/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          | El estado/la configuración en iCloud/Dropbox/Drive amplía la exposición de tokens/transcripciones              | mover 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          | Las cabeceras de proxy inverso están presentes, pero no son de confianza                                    | `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          | Las personas que llaman a la API HTTP pueden reemplazar `sessionKey`                                           | `gateway.http.allowSessionKeyOverride`                                                               | no       |
| `gateway.tools_invoke_http.dangerous_allow`                   | warn/critical | Vuelve a habilitar herramientas peligrosas a través de la API HTTP                                             | `gateway.tools.allow`                                                                                | no       |
| `gateway.nodes.allow_commands_dangerous`                      | warn/critical | Habilita comandos Node de alto impacto (cámara/pantalla/contactos/calendario/SMS)              | `gateway.nodes.allowCommands`                                                                        | no       |
| `gateway.nodes.deny_commands_ineffective`                     | warn          | Las entradas de denegación de tipo patrón no coinciden con texto de shell o 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 de Tailnet está habilitada mediante Serve                                                | `gateway.tailscale.mode`                                                                             | no       |
| `gateway.control_ui.allowed_origins_required`                 | critical      | Control UI fuera de loopback sin lista de permitidos explícita de orígenes del navegador                    | `gateway.controlUi.allowedOrigins`                                                                   | no       |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/critical | `allowedOrigins=["*"]` deshabilita la lista de permitidos de orígenes del navegador                          | `gateway.controlUi.allowedOrigins`                                                                   | no       |
| `gateway.control_ui.host_header_origin_fallback`              | warn/critical | Habilita la reserva del origen de cabecera Host (degradación del refuerzo contra DNS rebinding)              | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                         | no       |
| `gateway.control_ui.insecure_auth`                            | warn          | La opción de compatibilidad de autenticación insegura está habilitada                                           | `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 la reserva de `X-Real-IP` puede permitir falsificació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 velocidad aumenta el riesgo de fuerza bruta                        | `gateway.auth.rateLimit`                                                                             | no       |
| `gateway.trusted_proxy_auth`                                  | critical      | La identidad del proxy pasa a ser el límite de autenticación                                         | `gateway.auth.mode="trusted-proxy"`                                                                  | no       |
| `gateway.trusted_proxy_no_proxies`                            | critical      | La autenticación de proxy de confianza sin IPs de proxy de confianza no es segura                               | `gateway.trustedProxies`                                                                             | no       |
| `gateway.trusted_proxy_no_user_header`                        | critical      | La autenticación de proxy de confianza no puede resolver de forma segura la identidad del usuario                               | `gateway.auth.trustedProxy.userHeader`                                                               | no       |
| `gateway.trusted_proxy_no_allowlist`                          | warn          | La autenticación de proxy de confianza acepta cualquier usuario autenticado aguas arriba                           | `gateway.auth.trustedProxy.allowUsers`                                                               | no       |
| `gateway.probe_auth_secretref_unavailable`                    | warn          | La sonda profunda no pudo resolver SecretRefs de autenticación en esta ruta de comando                    | fuente de autenticación de la sonda profunda / disponibilidad de SecretRef                                                      | no       |
| `gateway.probe_failed`                                        | warn/critical | Falló la sonda activa del Gateway                                                            | accesibilidad/autenticación del Gateway                                                                            | no       |
| `discovery.mdns_full_mode`                                    | warn/critical | El modo completo de mDNS anuncia metadatos `cliPath`/`sshPort` en la red local              | `discovery.mdns.mode`, `gateway.bind`                                                                | no       |
| `config.insecure_or_dangerous_flags`                          | warn          | Hay flags de depuración inseguros/peligrosos habilitados                                           | varias claves (ver 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          | Mayor facilidad para fuerza bruta en la entrada de hooks                                                   | `hooks.token`                                                                                        | no       |
| `hooks.default_session_key_unset`                             | warn          | Las ejecuciones del agente de hooks se distribuyen en sesiones generadas por solicitud                          | `hooks.defaultSessionKey`                                                                            | no       |
| `hooks.allowed_agent_ids_unrestricted`                        | warn/critical | Las personas que llaman autenticadas a hooks pueden enrutar a cualquier agente configurado                         | `hooks.allowedAgentIds`                                                                              | no       |
| `hooks.request_session_key_enabled`                           | warn/critical | La persona que llama externa puede elegir `sessionKey`                                                | `hooks.allowRequestSessionKey`                                                                       | no       |
| `hooks.request_session_key_prefixes_missing`                  | warn/critical | No hay límite en la forma de las claves de sesión externas                                              | `hooks.allowedSessionKeyPrefixes`                                                                    | no       |
| `hooks.path_root`                                             | critical      | La ruta de hooks es `/`, lo que hace que la entrada sea más fácil de colisionar o enrutar incorrectamente                       | `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 divergen 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 tiempo de ejecución                                     | `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 formato carece de cifrado de transporte                                | perfil del navegador `cdpUrl`                                                                             | no       |
| `browser.remote_cdp_private_host`                             | warn          | El CDP remoto apunta a un host privado/interno                                           | perfil del 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 montajes bind relativos pueden resolverse de forma impredecible                                       | `agents.*.sandbox.docker.binds[]`                                                                    | no       |
| `sandbox.dangerous_bind_mount`                                | critical      | El destino del montaje bind 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 `host` o el modo de unión de espacio de nombres `container:*`              | `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 de 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 en cerrado 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 en cerrado 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 ejecución confían implícitamente en bins de Skills                                           | `~/.openclaw/exec-approvals.json`                                                                    | no       |
| `tools.exec.allowlist_interpreter_without_strict_inline_eval` | warn          | Las listas de permitidos de intérpretes permiten evaluación en línea sin forzar una nueva aprobación                  | `tools.exec.strictInlineEval`, `agents.list[].tools.exec.strictInlineEval`, lista de permitidos de aprobaciones de ejecución | no       |
| `tools.exec.safe_bins_interpreter_unprofiled`                 | warn          | Los bins de intérprete/entorno de ejecución en `safeBins` sin perfiles explícitos amplían el riesgo de ejecución   | `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 bajo riesgo con filtro stdin      | `tools.exec.safeBins`, `agents.list[].tools.exec.safeBins`                                           | no       |
| `tools.exec.safe_bin_trusted_dirs_risky`                      | warn          | `safeBinTrustedDirs` incluye directorios mutables o de riesgo                           | `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 (desviación 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 de permitidos explícita de plugins                           | `plugins.allowlist`                                                                                  | no       |
| `plugins.installs_unpinned_npm_specs`                         | warn          | Los registros de instalación de plugins no están fijados a especificaciones npm inmutables                         | metadatos de instalación de plugins                                                                              | no       |
| `plugins.installs_missing_integrity`                          | warn          | Los registros de instalación de plugins carecen de metadatos de integridad                                       | metadatos de instalación de plugins                                                                              | no       |
| `plugins.installs_version_drift`                              | warn          | Los registros de instalación de plugins divergen de los paquetes instalados                                 | metadatos de instalación de plugins                                                                              | no       |
| `plugins.code_safety`                                         | warn/critical | El escaneo de 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          | No se pudo completar el escaneo de código del Plugin                                                  | ruta del Plugin / entorno de 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 Skills                                                                                 | no       |
| `skills.code_safety.scan_failed`                              | warn          | No se pudo completar el escaneo de código de Skills                                                   | entorno de escaneo de Skills                                                                               | no       |
| `security.exposure.open_channels_with_exec`                   | warn/critical | Las salas compartidas/públicas pueden acceder a 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 inyección de prompts de alto impacto               | `channels.*.groupPolicy`, `tools.elevated.*`                                                         | no       |
| `security.exposure.open_groups_with_runtime_or_fs`            | critical/warn | Los grupos abiertos pueden acceder a 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 que el modelo de confianza del Gateway es de asistente personal              | dividir límites de confianza o aplicar refuerzo para usuarios compartidos (`sandbox.mode`, denegación de herramientas/limitación al espacio de trabajo)      | no       |
| `tools.profile_minimal_overridden`                            | warn          | Las anulaciones del agente omiten el perfil mínimo global                                        | `agents.list[].tools.profile`                                                                        | no       |
| `plugins.tools_reachable_permissive_policy`                   | warn          | Las herramientas de extensión son accesibles en contextos permisivos                                     | `tools.profile` + permitir/denegar herramienta                                                                    | no       |
| `models.legacy`                                               | warn          | Todavía hay familias de modelos heredadas configuradas                                           | 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 de modelo + política de sandbox/herramientas                                                                   | no       |
| `summary.attack_surface`                                      | info          | Resumen consolidado de la postura de autenticación, canal, herramientas y exposición                         | varias claves (ver detalle del hallazgo)                                                                   | no       |

## Relacionado

- [Security](/es/gateway/security)
- [Configuration](/es/gateway/configuration)
- [Trusted proxy auth](/es/gateway/trusted-proxy-auth)
