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 |