fs.state_dir.perms_world_writable | crítico | Otros usuarios/procesos pueden modificar todo el estado de OpenClaw | permisos del sistema de archivos en ~/.openclaw | sí |
fs.state_dir.perms_group_writable | advertencia | Los usuarios del grupo pueden modificar todo el estado de OpenClaw | permisos del sistema de archivos en ~/.openclaw | sí |
fs.state_dir.perms_readable | advertencia | Otros pueden leer el directorio de estado | permisos del sistema de archivos en ~/.openclaw | sí |
fs.state_dir.symlink | advertencia | El destino del directorio de estado se convierte en otro límite de confianza | disposición del sistema de archivos del directorio de estado | no |
fs.config.perms_writable | crítico | Otros pueden cambiar la autenticación, la política de herramientas o la configuración | permisos del sistema de archivos en ~/.openclaw/openclaw.json | sí |
fs.config.symlink | advertencia | Los archivos de configuración con enlaces simbólicos no admiten escrituras y agregan otro límite de confianza | sustituir por un archivo de configuración normal o apuntar OPENCLAW_CONFIG_PATH al archivo real | no |
fs.config.perms_group_readable | advertencia | Los usuarios del grupo pueden leer tokens/ajustes de configuración | permisos del sistema de archivos en el archivo de configuración | sí |
fs.config.perms_world_readable | crítico | La configuración puede exponer tokens/ajustes | permisos del sistema de archivos en el archivo de configuración | sí |
fs.config_include.perms_writable | crítico | Otros pueden modificar el archivo de inclusión de configuración | permisos del archivo de inclusión referenciado desde openclaw.json | sí |
fs.config_include.perms_group_readable | advertencia | Los usuarios del grupo pueden leer secretos/ajustes incluidos | permisos del archivo de inclusión referenciado desde openclaw.json | sí |
fs.config_include.perms_world_readable | crítico | Los secretos/ajustes incluidos son legibles por cualquiera | permisos del archivo de inclusión referenciado desde openclaw.json | sí |
fs.auth_profiles.perms_writable | crítico | Otros pueden inyectar o reemplazar credenciales de modelo almacenadas | permisos de agents/<agentId>/agent/auth-profiles.json | sí |
fs.auth_profiles.perms_readable | advertencia | Otros pueden leer claves de API y tokens de OAuth | permisos de agents/<agentId>/agent/auth-profiles.json | sí |
fs.credentials_dir.perms_writable | crítico | Otros pueden modificar el estado de emparejamiento/credenciales del canal | permisos del sistema de archivos en ~/.openclaw/credentials | sí |
fs.credentials_dir.perms_readable | advertencia | Otros pueden leer el estado de credenciales del canal | permisos del sistema de archivos en ~/.openclaw/credentials | sí |
fs.sessions_store.perms_readable | advertencia | Otros pueden leer transcripciones/metadatos de sesiones | permisos del almacén de sesiones | sí |
fs.log_file.perms_readable | advertencia | Otros pueden leer registros redactados pero aún sensibles | permisos del archivo de registro de Gateway | sí |
fs.synced_dir | advertencia | 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 | crítico | Enlace remoto sin secreto compartido | gateway.bind, gateway.auth.* | no |
gateway.loopback_no_auth | crítico | El local loopback con proxy inverso puede quedar sin autenticar | gateway.auth.*, configuración del proxy | no |
gateway.trusted_proxies_missing | advertencia | Hay encabezados de proxy inverso presentes, pero no son de confianza | gateway.trustedProxies | no |
gateway.http.no_auth | advertencia/crítico | Las API HTTP de Gateway son accesibles con auth.mode="none" | gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpc | no |
gateway.http.session_key_override_enabled | información | Los llamadores de la API HTTP pueden sobrescribir sessionKey | gateway.http.allowSessionKeyOverride | no |
gateway.tools_invoke_http.dangerous_allow | advertencia/crítico | Vuelve a habilitar herramientas peligrosas mediante la API HTTP para llamadores propietarios/administradores | gateway.tools.allow | no |
gateway.nodes.allow_commands_dangerous | advertencia/crítico | Habilita comandos de nodo de alto impacto (cámara/pantalla/contactos/calendario/SMS) | gateway.nodes.allowCommands | no |
gateway.nodes.deny_commands_ineffective | advertencia | Las entradas de denegación con aspecto de patrón no coinciden con texto de shell ni grupos | gateway.nodes.denyCommands | no |
gateway.tailscale_funnel | crítico | Exposición a internet público | gateway.tailscale.mode | no |
gateway.tailscale_serve | información | La exposición de tailnet está habilitada mediante Serve | gateway.tailscale.mode | no |
gateway.control_ui.allowed_origins_required | crítico | Interfaz de control sin local loopback y sin lista explícita de orígenes de navegador permitidos | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.allowed_origins_wildcard | advertencia/crítico | allowedOrigins=["*"] deshabilita la lista de orígenes de navegador permitidos | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.host_header_origin_fallback | advertencia/crítico | Habilita la alternativa de origen basada en el encabezado Host (rebaja del refuerzo contra DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | no |
gateway.control_ui.insecure_auth | advertencia | Alternador de compatibilidad de autenticación insegura habilitado | gateway.controlUi.allowInsecureAuth | no |
gateway.control_ui.device_auth_disabled | crítico | Deshabilita la comprobación de identidad del dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth | no |
gateway.real_ip_fallback_enabled | advertencia/crítico | Confiar en la alternativa 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 | advertencia | Un token compartido corto es más fácil de atacar por fuerza bruta | gateway.auth.token | no |
gateway.auth_no_rate_limit | advertencia | La autenticación expuesta sin limitación de tasa aumenta el riesgo de fuerza bruta | gateway.auth.rateLimit | no |
gateway.trusted_proxy_auth | crítico | La identidad del proxy se convierte ahora en el límite de autenticación | gateway.auth.mode="trusted-proxy" | no |
gateway.trusted_proxy_no_proxies | crítico | La autenticación de proxy de confianza sin IP de proxy de confianza no es segura | gateway.trustedProxies | no |
gateway.trusted_proxy_no_user_header | critical | La autenticación con 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 con proxy de confianza acepta cualquier usuario ascendente autenticado | gateway.auth.trustedProxy.allowUsers | no |
gateway.trusted_proxy_allow_loopback | warn | La autenticación con proxy de confianza acepta fuentes de proxy local loopback explícitamente permitidas | gateway.auth.trustedProxy.allowLoopback | no |
gateway.probe_auth_secretref_unavailable | warn | La sonda profunda no pudo resolver los SecretRefs de autenticación en esta ruta de comando | fuente de autenticación de sonda profunda / disponibilidad de SecretRef | no |
gateway.probe_failed | warn | Falló la sonda de Gateway en vivo (solo --deep) | 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 | Una marca de depuración insegura/peligrosa está habilitada | clave nombrada en el detalle del hallazgo | no |
security.audit.suppressions.active | info | La salida de auditoría tiene supresiones configuradas y puede estar filtrada | security.audit.suppressions | no |
config.secrets.gateway_password_in_config | warn | La contraseña de Gateway se almacena directamente en la configuración | gateway.auth.password | no |
config.secrets.hooks_token_in_config | warn | El token bearer del hook se almacena directamente en la configuración | hooks.token | no |
hooks.token_reuse_gateway_token | critical | El token de entrada del hook también desbloquea la autenticación de Gateway | hooks.token, gateway.auth.token, gateway.auth.password | no |
hooks.token_too_short | warn | Fuerza bruta más fácil en la entrada del hook | hooks.token | no |
hooks.default_session_key_unset | warn | Las ejecuciones del agente del hook se distribuyen en sesiones generadas por solicitud | hooks.defaultSessionKey | no |
hooks.allowed_agent_ids_unrestricted | warn/critical | Los llamadores de hook autenticados 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ímite para las formas de claves de sesión externas | hooks.allowedSessionKeyPrefixes | no |
hooks.path_root | critical | La ruta del hook es /, lo que facilita que la entrada colisione o se enrute incorrectamente | hooks.path | no |
hooks.installs_unpinned_npm_specs | warn | Los registros de instalación del hook no están fijados a especificaciones npm inmutables | metadatos de instalación del hook | no |
hooks.installs_missing_integrity | warn | A los registros de instalación del hook les faltan metadatos de integridad | metadatos de instalación del hook | no |
hooks.installs_version_drift | warn | Los registros de instalación del hook se desvían de los paquetes instalados | metadatos de instalación del hook | 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 | Control del navegador expuesto sin autenticación por token/contraseña | gateway.auth.* | no |
browser.remote_cdp_http | warn | CDP remoto sobre HTTP sin cifrar carece de cifrado de transporte | perfil del navegador cdpUrl | no |
browser.remote_cdp_private_host | warn | CDP remoto apunta a un host privado/interno | perfil del navegador cdpUrl, browser.ssrfPolicy.* | no |
sandbox.docker_config_mode_off | warn | Configuración Docker del sandbox 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 montaje bind del sandbox apunta a rutas bloqueadas del sistema, credenciales o socket Docker | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_network_mode | critical | La red Docker del sandbox usa el modo de unión de espacio de nombres host o 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 de 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 de navegador existente publica CDP en interfaces que no son loopback | configuración de publicación del contenedor de navegador del sandbox | no |
sandbox.browser_container.hash_label_missing | warn | El contenedor de navegador existente es anterior a las etiquetas hash de configuración actuales | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.hash_epoch_stale | warn | El contenedor de navegador existente es anterior a la época actual de configuración del navegador | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.docker_probe_timeout | warn | Se agotó el tiempo de espera de la sonda de etiquetas Docker para el contenedor de navegador | accesibilidad del daemon Docker | no |
tools.exec.host_sandbox_no_sandbox_defaults | warn | exec host=sandbox falla en modo 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 modo 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.agent_skill_mcp_boundary_drift | warn | Las listas de permitidos de Skills del agente están presentes mientras la ejecución en host puede alcanzar clientes/registros MCP | agents.list[].tools.exec.*, aislamiento de sandbox/SO, credenciales del servidor MCP | no |
tools.exec.fs_tools_disabled_but_exec_enabled | warn | La política de herramientas de sistema de archivos no hace que la ejecución de shell sea de solo lectura | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | no |
tools.exec.auto_allow_skills_enabled | warn | Las aprobaciones de ejecución confían implícitamente en los binarios de Skills | archivo de aprobaciones del host | no |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | Las listas de permitidos de intérpretes permiten evaluación inline sin reaprobación forzada | 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 binarios de intérprete/runtime 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 de stdin | tools.exec.safeBins, agents.list[].tools.exec.safeBins | no |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs incluye directorios mutables o riesgosos | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
tools.elevated.allowFrom.<provider>.wildcard | critical | tools.elevated.allowFrom.<provider> incluye "*", aprobando a todos los remitentes | tools.elevated.allowFrom.<provider> | no |
tools.elevated.allowFrom.<provider>.large | warn | La lista de permitidos elevada para <provider> tiene más de 25 entradas | tools.elevated.allowFrom.<provider> | no |
agents.claude_cli.permission_mode_overridden_by_yolo | warn | Claude CLI --permission-mode se ignora porque la ejecución de OpenClaw está completamente desatendida | tools.exec.security, tools.exec.ask, argumentos de cliBackends.claude-cli | no |
skills.workspace.symlink_escape | warn | El workspace skills/**/SKILL.md se resuelve fuera de la raíz del workspace (desvío de cadena de symlinks) | estado del sistema de archivos skills/** del workspace | no |
skills.workspace.scan_truncated | warn | El escaneo de Skills del workspace alcanzó su límite de visitas a directorios antes de terminar | aplanar/simplificar el árbol de directorios skills/ del workspace | no |
plugins.extensions_no_allowlist | warn | Los Plugins se instalan sin una lista explícita de permitidos de Plugins | plugins.allowlist | no |
plugins.allow_phantom_entries | warn | plugins.allow enumera un ID sin Plugin instalado correspondiente | plugins.allow | 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 |
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 divergen de los paquetes instalados | metadatos de instalación de Plugins | no |
plugins.code_safety | warn/critical | El escaneo de código de Plugins encontró patrones sospechosos o peligrosos (solo --deep) | código de Plugin / origen de instalación | no |
plugins.code_safety.entry_path | warn | La ruta de entrada del Plugin apunta a ubicaciones ocultas o de 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.manifest_parse_error | warn | El manifiesto del Plugin no se pudo analizar durante el escaneo de seguridad del código | archivo de manifiesto del Plugin | no |
plugins.code_safety.scan_failed | warn | El escaneo de código del Plugin no se pudo completar (solo --deep) | ruta del Plugin / entorno de escaneo | no |
plugins.<pluginId>.security_audit_failed | warn | Un recopilador de auditoría de seguridad propiedad de un Plugin lanzó un error | el recopilador de auditoría de seguridad de ese Plugin | no |
skills.code_safety | warn/critical | Los metadatos/código del instalador de Skills contienen patrones sospechosos o peligrosos (solo --deep) | origen de instalación de Skills | no |
skills.code_safety.scan_failed | warn | El escaneo de código de Skills no se pudo completar (solo --deep) | entorno de escaneo de Skills | no |
security.exposure.open_channels_with_exec | warn/critical | Las salas compartidas/públicas pueden alcanzar agentes con ejecución habilitada | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critical | Los DM/grupos abiertos + herramientas elevadas crean rutas de inyección de prompts de alto impacto | rutas de política de DM de nivel superior o anidadas, overrides de cuenta, channels.*.groupPolicy | no |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | Los DM/grupos abiertos pueden alcanzar herramientas de comandos/archivos sin protecciones de sandbox/workspace | rutas de política de DM/grupo, 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 de asistente personal | dividir límites de confianza, o endurecimiento de usuario compartido (sandbox.mode, denegación de herramientas/alcance de workspace) | no |
tools.profile_minimal_overridden | warn | Los overrides de agentes eluden el perfil mínimo global | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | Herramientas de extensiones alcanzables en contextos permisivos | tools.profile + permitir/denegar herramientas | no |
models.legacy | warn | Las familias de modelos heredadas siguen configuradas | selección de modelo | no |
models.weak_tier | warn | Los modelos configurados están por debajo de los niveles recomendados actuales | selección de modelo | no |
models.small_params | critical/info | Los modelos pequeños + superficies de herramientas inseguras elevan el riesgo de inyección | elección de modelo + política de sandbox/herramientas | no |
channels.<provider>.dm.open | critical | La política de DM de <provider> es "open"; cualquiera puede enviar DM al bot | channels.<provider>.dmPolicy, .allowFrom | no |
channels.<provider>.dm.open_invalid | warn | dmPolicy="open" sin "*" en allowFrom es inconsistente | channels.<provider>.allowFrom | no |
channels.<provider>.dm.scope_main_multiuser | warn | Varios remitentes de DM comparten actualmente la sesión principal | session.dmScope | no |
channels.<provider>.allowFrom.dangerous_name_matching_enabled | info | dangerouslyAllowNameMatching vuelve a habilitar la coincidencia mutable de remitentes por nombre/correo electrónico/etiqueta | deshabilitar dangerouslyAllowNameMatching, usar IDs de remitente estables | no |
channels.<provider>.account.read_only_resolution | warn | Una cuenta de canal no se pudo resolver completamente para la auditoría (falta secreto/Gateway) | asegurarse de que los secretos referenciados se puedan resolver, o ejecutar contra una instantánea de Gateway en vivo | no |
channels.<provider>.warning.<n> | info/warn/critical | Advertencia de seguridad específica del proveedor, clasificada a partir de texto libre del Plugin | ver detalle del hallazgo | no |
summary.attack_surface | info | Resumen agregado de la postura de autenticación, canal, herramientas y exposición | varias claves (ver detalle del hallazgo) | no |