Saltar al contenido principal
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 endurecimiento, consulta Seguridad. Algunas comprobaciones solo se ejecutan con openclaw security audit --deep: escaneos de código de Plugin/Skills (plugins.code_safety*, skills.code_safety*) y comprobaciones de sondeo en vivo del Gateway (gateway.probe_*). Todo lo demás en esta tabla se ejecuta con un openclaw security audit simple. Una gravedad como warn/critical significa que el mismo checkId puede emitirse en cualquiera de los dos niveles según la configuración (por ejemplo, si el Gateway está expuesto de forma remota). Valores de alta señal que probablemente verás en despliegues reales (no exhaustivo):
checkIdGravedadPor qué importaClave/ruta principal de correcciónCorrección automática
fs.state_dir.perms_world_writablecríticoOtros usuarios/procesos pueden modificar todo el estado de OpenClawpermisos del sistema de archivos en ~/.openclaw
fs.state_dir.perms_group_writableadvertenciaLos usuarios del grupo pueden modificar todo el estado de OpenClawpermisos del sistema de archivos en ~/.openclaw
fs.state_dir.perms_readableadvertenciaOtros pueden leer el directorio de estadopermisos del sistema de archivos en ~/.openclaw
fs.state_dir.symlinkadvertenciaEl destino del directorio de estado se convierte en otro límite de confianzadisposición del sistema de archivos del directorio de estadono
fs.config.perms_writablecríticoOtros pueden cambiar la autenticación, la política de herramientas o la configuraciónpermisos del sistema de archivos en ~/.openclaw/openclaw.json
fs.config.symlinkadvertenciaLos archivos de configuración con enlaces simbólicos no admiten escrituras y agregan otro límite de confianzasustituir por un archivo de configuración normal o apuntar OPENCLAW_CONFIG_PATH al archivo realno
fs.config.perms_group_readableadvertenciaLos usuarios del grupo pueden leer tokens/ajustes de configuraciónpermisos del sistema de archivos en el archivo de configuración
fs.config.perms_world_readablecríticoLa configuración puede exponer tokens/ajustespermisos del sistema de archivos en el archivo de configuración
fs.config_include.perms_writablecríticoOtros pueden modificar el archivo de inclusión de configuraciónpermisos del archivo de inclusión referenciado desde openclaw.json
fs.config_include.perms_group_readableadvertenciaLos usuarios del grupo pueden leer secretos/ajustes incluidospermisos del archivo de inclusión referenciado desde openclaw.json
fs.config_include.perms_world_readablecríticoLos secretos/ajustes incluidos son legibles por cualquierapermisos del archivo de inclusión referenciado desde openclaw.json
fs.auth_profiles.perms_writablecríticoOtros pueden inyectar o reemplazar credenciales de modelo almacenadaspermisos de agents/<agentId>/agent/auth-profiles.json
fs.auth_profiles.perms_readableadvertenciaOtros pueden leer claves de API y tokens de OAuthpermisos de agents/<agentId>/agent/auth-profiles.json
fs.credentials_dir.perms_writablecríticoOtros pueden modificar el estado de emparejamiento/credenciales del canalpermisos del sistema de archivos en ~/.openclaw/credentials
fs.credentials_dir.perms_readableadvertenciaOtros pueden leer el estado de credenciales del canalpermisos del sistema de archivos en ~/.openclaw/credentials
fs.sessions_store.perms_readableadvertenciaOtros pueden leer transcripciones/metadatos de sesionespermisos del almacén de sesiones
fs.log_file.perms_readableadvertenciaOtros pueden leer registros redactados pero aún sensiblespermisos del archivo de registro de Gateway
fs.synced_diradvertenciaEl estado/la configuración en iCloud/Dropbox/Drive amplía la exposición de tokens/transcripcionesmover la configuración/el estado fuera de carpetas sincronizadasno
gateway.bind_no_authcríticoEnlace remoto sin secreto compartidogateway.bind, gateway.auth.*no
gateway.loopback_no_authcríticoEl local loopback con proxy inverso puede quedar sin autenticargateway.auth.*, configuración del proxyno
gateway.trusted_proxies_missingadvertenciaHay encabezados de proxy inverso presentes, pero no son de confianzagateway.trustedProxiesno
gateway.http.no_authadvertencia/críticoLas API HTTP de Gateway son accesibles con auth.mode="none"gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpcno
gateway.http.session_key_override_enabledinformaciónLos llamadores de la API HTTP pueden sobrescribir sessionKeygateway.http.allowSessionKeyOverrideno
gateway.tools_invoke_http.dangerous_allowadvertencia/críticoVuelve a habilitar herramientas peligrosas mediante la API HTTP para llamadores propietarios/administradoresgateway.tools.allowno
gateway.nodes.allow_commands_dangerousadvertencia/críticoHabilita comandos de nodo de alto impacto (cámara/pantalla/contactos/calendario/SMS)gateway.nodes.allowCommandsno
gateway.nodes.deny_commands_ineffectiveadvertenciaLas entradas de denegación con aspecto de patrón no coinciden con texto de shell ni gruposgateway.nodes.denyCommandsno
gateway.tailscale_funnelcríticoExposición a internet públicogateway.tailscale.modeno
gateway.tailscale_serveinformaciónLa exposición de tailnet está habilitada mediante Servegateway.tailscale.modeno
gateway.control_ui.allowed_origins_requiredcríticoInterfaz de control sin local loopback y sin lista explícita de orígenes de navegador permitidosgateway.controlUi.allowedOriginsno
gateway.control_ui.allowed_origins_wildcardadvertencia/críticoallowedOrigins=["*"] deshabilita la lista de orígenes de navegador permitidosgateway.controlUi.allowedOriginsno
gateway.control_ui.host_header_origin_fallbackadvertencia/críticoHabilita la alternativa de origen basada en el encabezado Host (rebaja del refuerzo contra DNS rebinding)gateway.controlUi.dangerouslyAllowHostHeaderOriginFallbackno
gateway.control_ui.insecure_authadvertenciaAlternador de compatibilidad de autenticación insegura habilitadogateway.controlUi.allowInsecureAuthno
gateway.control_ui.device_auth_disabledcríticoDeshabilita la comprobación de identidad del dispositivogateway.controlUi.dangerouslyDisableDeviceAuthno
gateway.real_ip_fallback_enabledadvertencia/críticoConfiar en la alternativa X-Real-IP puede permitir suplantación de IP de origen por mala configuración del proxygateway.allowRealIpFallback, gateway.trustedProxiesno
gateway.token_too_shortadvertenciaUn token compartido corto es más fácil de atacar por fuerza brutagateway.auth.tokenno
gateway.auth_no_rate_limitadvertenciaLa autenticación expuesta sin limitación de tasa aumenta el riesgo de fuerza brutagateway.auth.rateLimitno
gateway.trusted_proxy_authcríticoLa identidad del proxy se convierte ahora en el límite de autenticacióngateway.auth.mode="trusted-proxy"no
gateway.trusted_proxy_no_proxiescríticoLa autenticación de proxy de confianza sin IP de proxy de confianza no es seguragateway.trustedProxiesno
gateway.trusted_proxy_no_user_headercriticalLa autenticación con proxy de confianza no puede resolver de forma segura la identidad del usuariogateway.auth.trustedProxy.userHeaderno
gateway.trusted_proxy_no_allowlistwarnLa autenticación con proxy de confianza acepta cualquier usuario ascendente autenticadogateway.auth.trustedProxy.allowUsersno
gateway.trusted_proxy_allow_loopbackwarnLa autenticación con proxy de confianza acepta fuentes de proxy local loopback explícitamente permitidasgateway.auth.trustedProxy.allowLoopbackno
gateway.probe_auth_secretref_unavailablewarnLa sonda profunda no pudo resolver los SecretRefs de autenticación en esta ruta de comandofuente de autenticación de sonda profunda / disponibilidad de SecretRefno
gateway.probe_failedwarnFalló la sonda de Gateway en vivo (solo --deep)accesibilidad/autenticación del gatewayno
discovery.mdns_full_modewarn/criticalEl modo completo de mDNS anuncia metadatos cliPath/sshPort en la red localdiscovery.mdns.mode, gateway.bindno
config.insecure_or_dangerous_flagswarnUna marca de depuración insegura/peligrosa está habilitadaclave nombrada en el detalle del hallazgono
security.audit.suppressions.activeinfoLa salida de auditoría tiene supresiones configuradas y puede estar filtradasecurity.audit.suppressionsno
config.secrets.gateway_password_in_configwarnLa contraseña de Gateway se almacena directamente en la configuracióngateway.auth.passwordno
config.secrets.hooks_token_in_configwarnEl token bearer del hook se almacena directamente en la configuraciónhooks.tokenno
hooks.token_reuse_gateway_tokencriticalEl token de entrada del hook también desbloquea la autenticación de Gatewayhooks.token, gateway.auth.token, gateway.auth.passwordno
hooks.token_too_shortwarnFuerza bruta más fácil en la entrada del hookhooks.tokenno
hooks.default_session_key_unsetwarnLas ejecuciones del agente del hook se distribuyen en sesiones generadas por solicitudhooks.defaultSessionKeyno
hooks.allowed_agent_ids_unrestrictedwarn/criticalLos llamadores de hook autenticados pueden enrutar a cualquier agente configuradohooks.allowedAgentIdsno
hooks.request_session_key_enabledwarn/criticalEl llamador externo puede elegir sessionKeyhooks.allowRequestSessionKeyno
hooks.request_session_key_prefixes_missingwarn/criticalNo hay límite para las formas de claves de sesión externashooks.allowedSessionKeyPrefixesno
hooks.path_rootcriticalLa ruta del hook es /, lo que facilita que la entrada colisione o se enrute incorrectamentehooks.pathno
hooks.installs_unpinned_npm_specswarnLos registros de instalación del hook no están fijados a especificaciones npm inmutablesmetadatos de instalación del hookno
hooks.installs_missing_integritywarnA los registros de instalación del hook les faltan metadatos de integridadmetadatos de instalación del hookno
hooks.installs_version_driftwarnLos registros de instalación del hook se desvían de los paquetes instaladosmetadatos de instalación del hookno
logging.redact_offwarnLos valores sensibles se filtran a registros/estadologging.redactSensitive
browser.control_invalid_configwarnLa configuración de control del navegador no es válida antes del runtimebrowser.*no
browser.control_no_authcriticalControl del navegador expuesto sin autenticación por token/contraseñagateway.auth.*no
browser.remote_cdp_httpwarnCDP remoto sobre HTTP sin cifrar carece de cifrado de transporteperfil del navegador cdpUrlno
browser.remote_cdp_private_hostwarnCDP remoto apunta a un host privado/internoperfil del navegador cdpUrl, browser.ssrfPolicy.*no
sandbox.docker_config_mode_offwarnConfiguración Docker del sandbox presente pero inactivaagents.*.sandbox.modeno
sandbox.bind_mount_non_absolutewarnLos montajes bind relativos pueden resolverse de forma impredecibleagents.*.sandbox.docker.binds[]no
sandbox.dangerous_bind_mountcriticalEl montaje bind del sandbox apunta a rutas bloqueadas del sistema, credenciales o socket Dockeragents.*.sandbox.docker.binds[]no
sandbox.dangerous_network_modecriticalLa red Docker del sandbox usa el modo de unión de espacio de nombres host o container:*agents.*.sandbox.docker.networkno
sandbox.dangerous_seccomp_profilecriticalEl perfil seccomp del sandbox debilita el aislamiento del contenedoragents.*.sandbox.docker.securityOptno
sandbox.dangerous_apparmor_profilecriticalEl perfil AppArmor del sandbox debilita el aislamiento del contenedoragents.*.sandbox.docker.securityOptno
sandbox.browser_cdp_bridge_unrestrictedwarnEl puente de navegador del sandbox está expuesto sin restricción de rango de origensandbox.browser.cdpSourceRangeno
sandbox.browser_container.non_loopback_publishcriticalEl contenedor de navegador existente publica CDP en interfaces que no son loopbackconfiguración de publicación del contenedor de navegador del sandboxno
sandbox.browser_container.hash_label_missingwarnEl contenedor de navegador existente es anterior a las etiquetas hash de configuración actualesopenclaw sandbox recreate --browser --allno
sandbox.browser_container.hash_epoch_stalewarnEl contenedor de navegador existente es anterior a la época actual de configuración del navegadoropenclaw sandbox recreate --browser --allno
sandbox.browser_container.docker_probe_timeoutwarnSe agotó el tiempo de espera de la sonda de etiquetas Docker para el contenedor de navegadoraccesibilidad del daemon Dockerno
tools.exec.host_sandbox_no_sandbox_defaultswarnexec host=sandbox falla en modo cerrado cuando el sandbox está desactivadotools.exec.host, agents.defaults.sandbox.modeno
tools.exec.host_sandbox_no_sandbox_agentswarnexec host=sandbox por agente falla en modo cerrado cuando el sandbox está desactivadoagents.list[].tools.exec.host, agents.list[].sandbox.modeno
tools.exec.security_full_configuredwarn/criticalLa ejecución en host se está ejecutando con security="full"tools.exec.security, agents.list[].tools.exec.securityno
tools.exec.agent_skill_mcp_boundary_driftwarnLas listas de permitidos de Skills del agente están presentes mientras la ejecución en host puede alcanzar clientes/registros MCPagents.list[].tools.exec.*, aislamiento de sandbox/SO, credenciales del servidor MCPno
tools.exec.fs_tools_disabled_but_exec_enabledwarnLa política de herramientas de sistema de archivos no hace que la ejecución de shell sea de solo lecturatools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccessno
tools.exec.auto_allow_skills_enabledwarnLas aprobaciones de ejecución confían implícitamente en los binarios de Skillsarchivo de aprobaciones del hostno
tools.exec.allowlist_interpreter_without_strict_inline_evalwarnLas listas de permitidos de intérpretes permiten evaluación inline sin reaprobación forzadatools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, lista de permitidos de aprobaciones de ejecuciónno
tools.exec.safe_bins_interpreter_unprofiledwarnLos binarios de intérprete/runtime en safeBins sin perfiles explícitos amplían el riesgo de ejecucióntools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.*no
tools.exec.safe_bins_broad_behaviorwarnLas herramientas de comportamiento amplio en safeBins debilitan el modelo de confianza de bajo riesgo con filtro de stdintools.exec.safeBins, agents.list[].tools.exec.safeBinsno
tools.exec.safe_bin_trusted_dirs_riskywarnsafeBinTrustedDirs incluye directorios mutables o riesgosostools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirsno
tools.elevated.allowFrom.<provider>.wildcardcriticaltools.elevated.allowFrom.<provider> incluye "*", aprobando a todos los remitentestools.elevated.allowFrom.<provider>no
tools.elevated.allowFrom.<provider>.largewarnLa lista de permitidos elevada para <provider> tiene más de 25 entradastools.elevated.allowFrom.<provider>no
agents.claude_cli.permission_mode_overridden_by_yolowarnClaude CLI --permission-mode se ignora porque la ejecución de OpenClaw está completamente desatendidatools.exec.security, tools.exec.ask, argumentos de cliBackends.claude-clino
skills.workspace.symlink_escapewarnEl 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 workspaceno
skills.workspace.scan_truncatedwarnEl escaneo de Skills del workspace alcanzó su límite de visitas a directorios antes de terminaraplanar/simplificar el árbol de directorios skills/ del workspaceno
plugins.extensions_no_allowlistwarnLos Plugins se instalan sin una lista explícita de permitidos de Pluginsplugins.allowlistno
plugins.allow_phantom_entrieswarnplugins.allow enumera un ID sin Plugin instalado correspondienteplugins.allowno
plugins.installs_unpinned_npm_specswarnLos registros del índice de Plugins no están fijados a especificaciones npm inmutablesmetadatos de instalación de Pluginsno
plugins.installs_missing_integritywarnLos registros del índice de Plugins carecen de metadatos de integridadmetadatos de instalación de Pluginsno
plugins.installs_version_driftwarnLos registros del índice de Plugins divergen de los paquetes instaladosmetadatos de instalación de Pluginsno
plugins.code_safetywarn/criticalEl escaneo de código de Plugins encontró patrones sospechosos o peligrosos (solo --deep)código de Plugin / origen de instalaciónno
plugins.code_safety.entry_pathwarnLa ruta de entrada del Plugin apunta a ubicaciones ocultas o de node_modulesentry del manifiesto del Pluginno
plugins.code_safety.entry_escapecriticalLa entrada del Plugin escapa del directorio del Pluginentry del manifiesto del Pluginno
plugins.code_safety.manifest_parse_errorwarnEl manifiesto del Plugin no se pudo analizar durante el escaneo de seguridad del códigoarchivo de manifiesto del Pluginno
plugins.code_safety.scan_failedwarnEl escaneo de código del Plugin no se pudo completar (solo --deep)ruta del Plugin / entorno de escaneono
plugins.<pluginId>.security_audit_failedwarnUn recopilador de auditoría de seguridad propiedad de un Plugin lanzó un errorel recopilador de auditoría de seguridad de ese Pluginno
skills.code_safetywarn/criticalLos metadatos/código del instalador de Skills contienen patrones sospechosos o peligrosos (solo --deep)origen de instalación de Skillsno
skills.code_safety.scan_failedwarnEl escaneo de código de Skills no se pudo completar (solo --deep)entorno de escaneo de Skillsno
security.exposure.open_channels_with_execwarn/criticalLas salas compartidas/públicas pueden alcanzar agentes con ejecución habilitadachannels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.*no
security.exposure.open_groups_with_elevatedcriticalLos DM/grupos abiertos + herramientas elevadas crean rutas de inyección de prompts de alto impactorutas de política de DM de nivel superior o anidadas, overrides de cuenta, channels.*.groupPolicyno
security.exposure.open_groups_with_runtime_or_fscritical/warnLos DM/grupos abiertos pueden alcanzar herramientas de comandos/archivos sin protecciones de sandbox/workspacerutas de política de DM/grupo, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.modeno
security.trust_model.multi_user_heuristicwarnLa configuración parece multiusuario mientras el modelo de confianza del Gateway es de asistente personaldividir límites de confianza, o endurecimiento de usuario compartido (sandbox.mode, denegación de herramientas/alcance de workspace)no
tools.profile_minimal_overriddenwarnLos overrides de agentes eluden el perfil mínimo globalagents.list[].tools.profileno
plugins.tools_reachable_permissive_policywarnHerramientas de extensiones alcanzables en contextos permisivostools.profile + permitir/denegar herramientasno
models.legacywarnLas familias de modelos heredadas siguen configuradasselección de modelono
models.weak_tierwarnLos modelos configurados están por debajo de los niveles recomendados actualesselección de modelono
models.small_paramscritical/infoLos modelos pequeños + superficies de herramientas inseguras elevan el riesgo de inyecciónelección de modelo + política de sandbox/herramientasno
channels.<provider>.dm.opencriticalLa política de DM de <provider> es "open"; cualquiera puede enviar DM al botchannels.<provider>.dmPolicy, .allowFromno
channels.<provider>.dm.open_invalidwarndmPolicy="open" sin "*" en allowFrom es inconsistentechannels.<provider>.allowFromno
channels.<provider>.dm.scope_main_multiuserwarnVarios remitentes de DM comparten actualmente la sesión principalsession.dmScopeno
channels.<provider>.allowFrom.dangerous_name_matching_enabledinfodangerouslyAllowNameMatching vuelve a habilitar la coincidencia mutable de remitentes por nombre/correo electrónico/etiquetadeshabilitar dangerouslyAllowNameMatching, usar IDs de remitente establesno
channels.<provider>.account.read_only_resolutionwarnUna 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 vivono
channels.<provider>.warning.<n>info/warn/criticalAdvertencia de seguridad específica del proveedor, clasificada a partir de texto libre del Pluginver detalle del hallazgono
summary.attack_surfaceinfoResumen agregado de la postura de autenticación, canal, herramientas y exposiciónvarias claves (ver detalle del hallazgo)no
Los checkIds channels.<provider>.* y tools.elevated.allowFrom.<provider>.* se generan por cada canal/proveedor configurado, por lo que <provider> es un id de canal real (por ejemplo, telegram, discord) en la salida real, no una cadena literal.

Relacionado