fs.state_dir.perms_world_writable | crítico | Outros usuários/processos podem modificar todo o estado do OpenClaw | permissões do sistema de arquivos em ~/.openclaw | sim |
fs.state_dir.perms_group_writable | aviso | Usuários do grupo podem modificar todo o estado do OpenClaw | permissões do sistema de arquivos em ~/.openclaw | sim |
fs.state_dir.perms_readable | aviso | O diretório de estado pode ser lido por outros | permissões do sistema de arquivos em ~/.openclaw | sim |
fs.state_dir.symlink | aviso | O destino do diretório de estado se torna outro limite de confiança | layout do sistema de arquivos do diretório de estado | não |
fs.config.perms_writable | crítico | Outros podem alterar a política/configuração de autenticação/ferramentas | permissões do sistema de arquivos em ~/.openclaw/openclaw.json | sim |
fs.config.symlink | aviso | Arquivos de configuração com symlink não têm suporte para gravações e adicionam outro limite de confiança | substitua por um arquivo de configuração comum ou aponte OPENCLAW_CONFIG_PATH para o arquivo real | não |
fs.config.perms_group_readable | aviso | Usuários do grupo podem ler tokens/configurações | permissões do sistema de arquivos no arquivo de configuração | sim |
fs.config.perms_world_readable | crítico | A configuração pode expor tokens/configurações | permissões do sistema de arquivos no arquivo de configuração | sim |
fs.config_include.perms_writable | crítico | O arquivo de inclusão de configuração pode ser modificado por outros | permissões do arquivo de inclusão referenciado em openclaw.json | sim |
fs.config_include.perms_group_readable | aviso | Usuários do grupo podem ler segredos/configurações incluídos | permissões do arquivo de inclusão referenciado em openclaw.json | sim |
fs.config_include.perms_world_readable | crítico | Segredos/configurações incluídos podem ser lidos por qualquer usuário | permissões do arquivo de inclusão referenciado em openclaw.json | sim |
fs.auth_profiles.perms_writable | crítico | Outros podem injetar ou substituir credenciais de modelo armazenadas | permissões de agents/<agentId>/agent/auth-profiles.json | sim |
fs.auth_profiles.perms_readable | aviso | Outros podem ler chaves de API e tokens OAuth | permissões de agents/<agentId>/agent/auth-profiles.json | sim |
fs.credentials_dir.perms_writable | crítico | Outros podem modificar o estado de pareamento/credenciais do canal | permissões do sistema de arquivos em ~/.openclaw/credentials | sim |
fs.credentials_dir.perms_readable | aviso | Outros podem ler o estado de credenciais do canal | permissões do sistema de arquivos em ~/.openclaw/credentials | sim |
fs.sessions_store.perms_readable | aviso | Outros podem ler transcrições/metadados de sessões | permissões do armazenamento de sessões | sim |
fs.log_file.perms_readable | aviso | Outros podem ler logs editados, mas ainda sensíveis | permissões do arquivo de log do Gateway | sim |
fs.synced_dir | aviso | Estado/configuração no iCloud/Dropbox/Drive amplia a exposição de tokens/transcrições | mova a configuração/o estado para fora de pastas sincronizadas | não |
gateway.bind_no_auth | crítico | Bind remoto sem segredo compartilhado | gateway.bind, gateway.auth.* | não |
gateway.loopback_no_auth | crítico | Loopback por proxy reverso pode ficar sem autenticação | gateway.auth.*, configuração de proxy | não |
gateway.trusted_proxies_missing | aviso | Cabeçalhos de proxy reverso estão presentes, mas não são confiáveis | gateway.trustedProxies | não |
gateway.http.no_auth | aviso/crítico | APIs HTTP do Gateway acessíveis com auth.mode="none" | gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpc | não |
gateway.http.session_key_override_enabled | informação | Chamadores da API HTTP podem sobrescrever sessionKey | gateway.http.allowSessionKeyOverride | não |
gateway.tools_invoke_http.dangerous_allow | aviso/crítico | Reativa ferramentas perigosas pela API HTTP para chamadores proprietários/admin | gateway.tools.allow | não |
gateway.nodes.allow_commands_dangerous | aviso/crítico | Habilita comandos de nó de alto impacto (câmera/tela/contatos/calendário/SMS) | gateway.nodes.allowCommands | não |
gateway.nodes.deny_commands_ineffective | aviso | Entradas de negação semelhantes a padrões não correspondem a texto de shell ou grupos | gateway.nodes.denyCommands | não |
gateway.tailscale_funnel | crítico | Exposição à internet pública | gateway.tailscale.mode | não |
gateway.tailscale_serve | informação | A exposição à tailnet está habilitada via Serve | gateway.tailscale.mode | não |
gateway.control_ui.allowed_origins_required | crítico | UI de controle fora de loopback sem lista de permissões explícita de origens do navegador | gateway.controlUi.allowedOrigins | não |
gateway.control_ui.allowed_origins_wildcard | aviso/crítico | allowedOrigins=["*"] desativa a lista de permissões de origens do navegador | gateway.controlUi.allowedOrigins | não |
gateway.control_ui.host_header_origin_fallback | aviso/crítico | Habilita fallback de origem por cabeçalho Host (rebaixamento do endurecimento contra religação de DNS) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | não |
gateway.control_ui.insecure_auth | aviso | Alternância de compatibilidade de autenticação insegura habilitada | gateway.controlUi.allowInsecureAuth | não |
gateway.control_ui.device_auth_disabled | crítico | Desativa a verificação de identidade do dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth | não |
gateway.real_ip_fallback_enabled | aviso/crítico | Confiar no fallback de X-Real-IP pode permitir falsificação de IP de origem por configuração incorreta de proxy | gateway.allowRealIpFallback, gateway.trustedProxies | não |
gateway.token_too_short | aviso | Token compartilhado curto é mais fácil de sofrer força bruta | gateway.auth.token | não |
gateway.auth_no_rate_limit | aviso | Autenticação exposta sem limitação de taxa aumenta o risco de força bruta | gateway.auth.rateLimit | não |
gateway.trusted_proxy_auth | crítico | A identidade do proxy agora se torna o limite de autenticação | gateway.auth.mode="trusted-proxy" | não |
gateway.trusted_proxy_no_proxies | crítico | Autenticação de proxy confiável sem IPs de proxy confiáveis é insegura | gateway.trustedProxies | não |
gateway.trusted_proxy_no_user_header | crítico | Autenticação de proxy confiável não consegue resolver a identidade do usuário com segurança | gateway.auth.trustedProxy.userHeader | não |
gateway.trusted_proxy_no_allowlist | aviso | Autenticação de proxy confiável aceita qualquer usuário upstream autenticado | gateway.auth.trustedProxy.allowUsers | não |
gateway.trusted_proxy_allow_loopback | warn | A autenticação por proxy confiável aceita fontes de proxy local loopback explicitamente permitidas | gateway.auth.trustedProxy.allowLoopback | não |
gateway.probe_auth_secretref_unavailable | warn | A sondagem profunda não conseguiu resolver SecretRefs de autenticação neste caminho de comando | fonte de autenticação da sondagem profunda / disponibilidade de SecretRef | não |
gateway.probe_failed | warn/critical | A sondagem ao vivo do Gateway falhou | acessibilidade/autenticação do gateway | não |
discovery.mdns_full_mode | warn/critical | O modo completo mDNS anuncia metadados cliPath/sshPort na rede local | discovery.mdns.mode, gateway.bind | não |
config.insecure_or_dangerous_flags | warn | Uma flag de depuração insegura/perigosa está habilitada | chave nomeada no detalhe da descoberta | não |
security.audit.suppressions.active | info | A saída da auditoria tem supressões configuradas e pode estar filtrada | security.audit.suppressions | não |
config.secrets.gateway_password_in_config | warn | A senha do Gateway está armazenada diretamente na configuração | gateway.auth.password | não |
config.secrets.hooks_token_in_config | warn | O token bearer do hook está armazenado diretamente na configuração | hooks.token | não |
hooks.token_reuse_gateway_token | critical | O token de entrada do hook também desbloqueia a autenticação do Gateway | hooks.token, gateway.auth.token, gateway.auth.password | não |
hooks.token_too_short | warn | Força bruta mais fácil na entrada do hook | hooks.token | não |
hooks.default_session_key_unset | warn | Execuções de agente de hook se espalham em sessões geradas por solicitação | hooks.defaultSessionKey | não |
hooks.allowed_agent_ids_unrestricted | warn/critical | Chamadores autenticados de hook podem rotear para qualquer agente configurado | hooks.allowedAgentIds | não |
hooks.request_session_key_enabled | warn/critical | O chamador externo pode escolher sessionKey | hooks.allowRequestSessionKey | não |
hooks.request_session_key_prefixes_missing | warn/critical | Não há limite para formatos de chaves de sessão externas | hooks.allowedSessionKeyPrefixes | não |
hooks.path_root | critical | O caminho do hook é /, tornando a entrada mais fácil de colidir ou rotear incorretamente | hooks.path | não |
hooks.installs_unpinned_npm_specs | warn | Registros de instalação de hooks não estão fixados a especificações npm imutáveis | metadados de instalação do hook | não |
hooks.installs_missing_integrity | warn | Registros de instalação de hooks não têm metadados de integridade | metadados de instalação do hook | não |
hooks.installs_version_drift | warn | Registros de instalação de hooks divergem dos pacotes instalados | metadados de instalação do hook | não |
logging.redact_off | warn | Valores sensíveis vazam para logs/status | logging.redactSensitive | sim |
browser.control_invalid_config | warn | A configuração de controle do navegador é inválida antes do runtime | browser.* | não |
browser.control_no_auth | critical | Controle do navegador exposto sem autenticação por token/senha | gateway.auth.* | não |
browser.remote_cdp_http | warn | CDP remoto sobre HTTP simples não tem criptografia de transporte | cdpUrl do perfil do navegador | não |
browser.remote_cdp_private_host | warn | CDP remoto aponta para um host privado/interno | cdpUrl do perfil do navegador, browser.ssrfPolicy.* | não |
sandbox.docker_config_mode_off | warn | Configuração Docker do sandbox presente, mas inativa | agents.*.sandbox.mode | não |
sandbox.bind_mount_non_absolute | warn | Montagens bind relativas podem ser resolvidas de forma imprevisível | agents.*.sandbox.docker.binds[] | não |
sandbox.dangerous_bind_mount | critical | Montagem bind do sandbox aponta para caminhos bloqueados do sistema, de credenciais ou de socket Docker | agents.*.sandbox.docker.binds[] | não |
sandbox.dangerous_network_mode | critical | A rede Docker do sandbox usa o modo host ou container:* de junção de namespace | agents.*.sandbox.docker.network | não |
sandbox.dangerous_seccomp_profile | critical | O perfil seccomp do sandbox enfraquece o isolamento do contêiner | agents.*.sandbox.docker.securityOpt | não |
sandbox.dangerous_apparmor_profile | critical | O perfil AppArmor do sandbox enfraquece o isolamento do contêiner | agents.*.sandbox.docker.securityOpt | não |
sandbox.browser_cdp_bridge_unrestricted | warn | A ponte de navegador do sandbox é exposta sem restrição de intervalo de origem | sandbox.browser.cdpSourceRange | não |
sandbox.browser_container.non_loopback_publish | critical | Contêiner de navegador existente publica CDP em interfaces não local loopback | configuração de publicação do contêiner de sandbox do navegador | não |
sandbox.browser_container.hash_label_missing | warn | Contêiner de navegador existente é anterior aos rótulos atuais de hash de configuração | openclaw sandbox recreate --browser --all | não |
sandbox.browser_container.hash_epoch_stale | warn | Contêiner de navegador existente é anterior à época atual de configuração do navegador | openclaw sandbox recreate --browser --all | não |
tools.exec.host_sandbox_no_sandbox_defaults | warn | exec host=sandbox falha fechado quando o sandbox está desativado | tools.exec.host, agents.defaults.sandbox.mode | não |
tools.exec.host_sandbox_no_sandbox_agents | warn | exec host=sandbox por agente falha fechado quando o sandbox está desativado | agents.list[].tools.exec.host, agents.list[].sandbox.mode | não |
tools.exec.security_full_configured | warn/critical | A execução no host está rodando com security="full" | tools.exec.security, agents.list[].tools.exec.security | não |
tools.exec.agent_skill_mcp_boundary_drift | warn | Allowlists de Skills de agente estão presentes enquanto a execução no host pode alcançar clientes/registros MCP | agents.list[].tools.exec.*, isolamento de sandbox/SO, credenciais de servidor MCP | não |
tools.exec.fs_tools_disabled_but_exec_enabled | warn | A política da ferramenta de sistema de arquivos não torna a execução de shell somente leitura | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | não |
tools.exec.auto_allow_skills_enabled | warn | Aprovações de execução confiam implicitamente em bins de Skills | arquivo de aprovações do host | não |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | Allowlists de interpretadores permitem eval inline sem nova aprovação forçada | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, allowlist de aprovações de execução | não |
tools.exec.safe_bins_interpreter_unprofiled | warn | Bins de interpretador/runtime em safeBins sem perfis explícitos ampliam o risco de execução | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | não |
tools.exec.safe_bins_broad_behavior | warn | Ferramentas de comportamento amplo em safeBins enfraquecem o modelo de confiança de baixo risco com filtro de stdin | tools.exec.safeBins, agents.list[].tools.exec.safeBins | não |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs inclui diretórios mutáveis ou arriscados | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
skills.workspace.symlink_escape | warn | skills/**/SKILL.md do workspace é resolvido fora da raiz do workspace (desvio da cadeia de links simbólicos) | estado do sistema de arquivos skills/** do workspace | no |
plugins.extensions_no_allowlist | warn | Plugins são instalados sem uma lista de permissões explícita de plugins | plugins.allowlist | no |
plugins.installs_unpinned_npm_specs | warn | Registros do índice de plugins não estão fixados a especificações npm imutáveis | metadados de instalação de plugins | no |
plugins.installs_missing_integrity | warn | Registros do índice de plugins não têm metadados de integridade | metadados de instalação de plugins | no |
plugins.installs_version_drift | warn | Registros do índice de plugins divergem dos pacotes instalados | metadados de instalação de plugins | no |
plugins.code_safety | warn/critical | Varredura de código de Plugin encontrou padrões suspeitos ou perigosos | código do Plugin / origem de instalação | no |
plugins.code_safety.entry_path | warn | Caminho de entrada do Plugin aponta para locais ocultos ou node_modules | entry do manifesto do Plugin | no |
plugins.code_safety.entry_escape | critical | Entrada do Plugin escapa do diretório do Plugin | entry do manifesto do Plugin | no |
plugins.code_safety.scan_failed | warn | Varredura de código do Plugin não pôde ser concluída | caminho do Plugin / ambiente de varredura | no |
skills.code_safety | warn/critical | Metadados/código do instalador de Skill contém padrões suspeitos ou perigosos | origem de instalação da Skill | no |
skills.code_safety.scan_failed | warn | Varredura de código da Skill não pôde ser concluída | ambiente de varredura da Skill | no |
security.exposure.open_channels_with_exec | warn/critical | Salas compartilhadas/públicas podem alcançar agentes com exec habilitado | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critical | DMs/grupos abertos + ferramentas elevadas criam caminhos de injeção de prompt de alto impacto | caminhos de política de DM de nível superior ou aninhados, substituições de conta, channels.*.groupPolicy | no |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | DMs/grupos abertos podem alcançar ferramentas de comando/arquivo sem proteções de sandbox/workspace | caminhos de política de DM/grupo, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.trust_model.multi_user_heuristic | warn | Configuração parece multiusuário enquanto o modelo de confiança do Gateway é de assistente pessoal | limites de confiança separados, ou proteção para usuário compartilhado (sandbox.mode, negação de ferramentas/escopo de workspace) | no |
tools.profile_minimal_overridden | warn | Substituições de agente ignoram o perfil mínimo global | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | Ferramentas de extensão acessíveis em contextos permissivos | tools.profile + permissão/negação de ferramentas | no |
models.legacy | warn | Famílias de modelos legadas ainda estão configuradas | seleção de modelo | no |
models.weak_tier | warn | Modelos configurados estão abaixo dos níveis recomendados atuais | seleção de modelo | no |
models.small_params | critical/info | Modelos pequenos + superfícies de ferramentas inseguras aumentam o risco de injeção | escolha de modelo + política de sandbox/ferramentas | no |
summary.attack_surface | info | Resumo consolidado da postura de autenticação, canal, ferramentas e exposição | várias chaves (veja o detalhe da constatação) | no |