fs.state_dir.perms_world_writable | crítica | 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 | estrutura do sistema de arquivos do diretório de estado | não |
fs.config.perms_writable | crítica | Outros podem alterar a autenticação, a política de ferramentas ou a configuração | permissões do sistema de arquivos em ~/.openclaw/openclaw.json | sim |
fs.config.symlink | aviso | Arquivos de configuração com links simbólicos não permitem gravação e adicionam outro limite de confiança | substituir por um arquivo de configuração comum ou apontar 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ítica | 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ítica | O arquivo incluído na configuração pode ser modificado por outros | permissões do arquivo incluído 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 incluído referenciado em openclaw.json | sim |
fs.config_include.perms_world_readable | crítica | Os segredos/configurações incluídos podem ser lidos por qualquer usuário | permissões do arquivo incluído referenciado em openclaw.json | sim |
fs.auth_profiles.perms_writable | crítica | Outros podem injetar ou substituir credenciais de modelos 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ítica | 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 das 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 que foram expurgados, mas ainda são confidenciais | permissões do arquivo de log do Gateway | sim |
fs.synced_dir | aviso | O estado/configuração no iCloud/Dropbox/Drive amplia a exposição de tokens/transcrições | mover a configuração/o estado para fora das pastas sincronizadas | não |
gateway.bind_no_auth | crítica | Vinculação remota sem segredo compartilhado | gateway.bind, gateway.auth.* | não |
gateway.loopback_no_auth | crítica | O local loopback com proxy reverso pode ficar sem autenticação | gateway.auth.*, configuração do 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ítica | 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 | informativa | Chamadores da API HTTP podem substituir sessionKey | gateway.http.allowSessionKeyOverride | não |
gateway.tools_invoke_http.dangerous_allow | aviso/crítica | Reativa ferramentas perigosas pela API HTTP para chamadores proprietários/administradores | gateway.tools.allow | não |
gateway.nodes.allow_commands_dangerous | aviso/crítica | Ativa comandos de Node de alto impacto (entrada da área de trabalho/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 ao texto do shell nem a grupos | gateway.nodes.denyCommands | não |
gateway.tailscale_funnel | crítica | Exposição à internet pública | gateway.tailscale.mode | não |
gateway.tailscale_serve | informativa | A exposição à tailnet está ativada por meio do Serve | gateway.tailscale.mode | não |
gateway.control_ui.allowed_origins_required | crítica | Interface de controle fora do local loopback sem uma lista explícita de origens permitidas do navegador | gateway.controlUi.allowedOrigins | não |
gateway.control_ui.allowed_origins_wildcard | aviso/crítica | allowedOrigins=["*"] desativa a lista de origens permitidas do navegador | gateway.controlUi.allowedOrigins | não |
gateway.control_ui.host_header_origin_fallback | aviso/crítica | Ativa o fallback de origem do cabeçalho Host (reduz a proteção contra revinculação de DNS) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | não |
gateway.control_ui.insecure_auth | aviso | A opção de compatibilidade com autenticação insegura está ativada | gateway.controlUi.allowInsecureAuth | não |
gateway.control_ui.device_auth_disabled | crítica | Desativa a verificação da identidade do dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth | não |
gateway.real_ip_fallback_enabled | aviso/crítica | Confiar no fallback X-Real-IP pode permitir falsificação do IP de origem devido à configuração incorreta do proxy | gateway.allowRealIpFallback, gateway.trustedProxies | não |
gateway.token_too_short | aviso | Um token compartilhado curto é mais fácil de descobrir por 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 ataques de força bruta | gateway.auth.rateLimit | não |
gateway.trusted_proxy_auth | crítica | A identidade do proxy passa a ser o limite da autenticação | gateway.auth.mode="trusted-proxy" | não |
gateway.trusted_proxy_no_proxies | crítica | A autenticação por proxy confiável sem IPs de proxy confiáveis não é segura | gateway.trustedProxies | não |
gateway.trusted_proxy_no_user_header | crítico | A autenticação por proxy confiável não consegue determinar a identidade do usuário com segurança | gateway.auth.trustedProxy.userHeader | não |
gateway.trusted_proxy_no_allowlist | aviso | A autenticação por proxy confiável aceita qualquer usuário autenticado pelo upstream | gateway.auth.trustedProxy.allowUsers | não |
gateway.trusted_proxy_allow_loopback | aviso | A autenticação por proxy confiável aceita fontes de proxy de local loopback explicitamente permitidas | gateway.auth.trustedProxy.allowLoopback | não |
gateway.probe_auth_secretref_unavailable | aviso | A sondagem aprofundada não conseguiu resolver SecretRefs de autenticação neste fluxo de comando | fonte de autenticação da sondagem aprofundada / disponibilidade de SecretRef | não |
gateway.probe_failed | aviso | A sondagem em tempo real do Gateway falhou (somente --deep) | acessibilidade/autenticação do Gateway | não |
discovery.mdns_full_mode | aviso/crítico | O modo completo de mDNS anuncia metadados cliPath/sshPort na rede local | discovery.mdns.mode, gateway.bind | não |
config.insecure_or_dangerous_flags | aviso | Uma opção de depuração insegura/perigosa está habilitada | chave indicada nos detalhes da constatação | não |
security.audit.suppressions.active | informação | A saída da auditoria tem supressões configuradas e pode ser filtrada | security.audit.suppressions | não |
config.secrets.gateway_password_in_config | aviso | A senha do Gateway está armazenada diretamente na configuração | gateway.auth.password | não |
config.secrets.hooks_token_in_config | aviso | O token bearer do hook está armazenado diretamente na configuração | hooks.token | não |
hooks.token_reuse_gateway_token | crítico | O token de entrada do hook também libera a autenticação do Gateway | hooks.token, gateway.auth.token, gateway.auth.password | não |
hooks.token_too_short | aviso | Facilita ataques de força bruta à entrada do hook | hooks.token | não |
hooks.default_session_key_unset | aviso | As execuções de agentes por hooks se distribuem em sessões geradas por solicitação | hooks.defaultSessionKey | não |
hooks.allowed_agent_ids_unrestricted | aviso/crítico | Chamadores autenticados de hooks podem encaminhar para qualquer agente configurado | hooks.allowedAgentIds | não |
hooks.request_session_key_enabled | aviso/crítico | O chamador externo pode escolher sessionKey | hooks.allowRequestSessionKey | não |
hooks.request_session_key_prefixes_missing | aviso/crítico | Não há restrição para os formatos de chaves de sessão externas | hooks.allowedSessionKeyPrefixes | não |
hooks.path_root | crítico | O caminho do hook é /, facilitando colisões ou encaminhamentos incorretos na entrada | hooks.path | não |
hooks.installs_unpinned_npm_specs | aviso | Os registros de instalação de hooks não estão fixados em especificações npm imutáveis | metadados de instalação de hooks | não |
hooks.installs_missing_integrity | aviso | Os registros de instalação de hooks não têm metadados de integridade | metadados de instalação de hooks | não |
hooks.installs_version_drift | aviso | Os registros de instalação de hooks divergem dos pacotes instalados | metadados de instalação de hooks | não |
logging.redact_off | aviso | Valores confidenciais vazam para logs/status | logging.redactSensitive | sim |
browser.control_invalid_config | aviso | A configuração de controle do navegador é inválida antes da execução | browser.* | não |
browser.control_no_auth | crítico | O controle do navegador está exposto sem autenticação por token/senha | gateway.auth.* | não |
browser.remote_cdp_http | aviso | O CDP remoto por HTTP simples não tem criptografia de transporte | cdpUrl do perfil do navegador | não |
browser.remote_cdp_private_host | aviso | O CDP remoto aponta para um host privado/interno | cdpUrl do perfil do navegador, browser.ssrfPolicy.* | não |
sandbox.docker_config_mode_off | aviso | A configuração do Docker para o sandbox está presente, mas inativa | agents.*.sandbox.mode | não |
sandbox.bind_mount_non_absolute | aviso | Montagens bind relativas podem ser resolvidas de forma imprevisível | agents.*.sandbox.docker.binds[] | não |
sandbox.dangerous_bind_mount | crítico | A montagem bind do sandbox aponta para caminhos bloqueados do sistema, de credenciais ou do socket do Docker | agents.*.sandbox.docker.binds[] | não |
sandbox.dangerous_network_mode | crítico | A rede Docker do sandbox usa o modo de associação ao namespace host ou container:* | agents.*.sandbox.docker.network | não |
sandbox.dangerous_seccomp_profile | crítico | O perfil seccomp do sandbox enfraquece o isolamento do contêiner | agents.*.sandbox.docker.securityOpt | não |
sandbox.dangerous_apparmor_profile | crítico | O perfil AppArmor do sandbox enfraquece o isolamento do contêiner | agents.*.sandbox.docker.securityOpt | não |
sandbox.browser_cdp_bridge_unrestricted | aviso | A ponte do navegador do sandbox está exposta sem restrição de intervalo de origem | sandbox.browser.cdpSourceRange | não |
sandbox.browser_container.non_loopback_publish | crítico | O contêiner existente do navegador publica o CDP em interfaces que não são de loopback | configuração de publicação do contêiner do sandbox do navegador | não |
sandbox.browser_container.hash_label_missing | aviso | O contêiner existente do navegador é anterior aos rótulos atuais de hash da configuração | openclaw sandbox recreate --browser --all | não |
sandbox.browser_container.hash_epoch_stale | aviso | O contêiner existente do navegador é anterior à época atual de configuração do navegador | openclaw sandbox recreate --browser --all | não |
sandbox.browser_container.docker_probe_timeout | aviso | A sondagem de rótulos do Docker para o contêiner do navegador atingiu o tempo limite | acessibilidade do daemon do Docker | não |
tools.exec.host_sandbox_no_sandbox_defaults | aviso | exec host=sandbox falha de forma segura quando o sandbox está desativado | tools.exec.host, agents.defaults.sandbox.mode | não |
tools.exec.host_sandbox_no_sandbox_agents | aviso | exec host=sandbox por agente falha de forma segura quando o sandbox está desativado | agents.list[].tools.exec.host, agents.list[].sandbox.mode | não |
tools.exec.security_full_configured | aviso/crítico | A execução no host está operando com security="full" | tools.exec.security, agents.list[].tools.exec.security | não |
tools.exec.agent_skill_mcp_boundary_drift | aviso | Há listas de permissões de Skills de agentes enquanto a execução no host pode acessar clientes/registros MCP | agents.list[].tools.exec.*, isolamento de sandbox/SO, credenciais do servidor MCP | não |
tools.exec.fs_tools_disabled_but_exec_enabled | aviso | A política de ferramentas do sistema de arquivos não torna a execução do shell somente leitura | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | não |
tools.exec.auto_allow_skills_enabled | aviso | As aprovações de execução confiam implicitamente nos binários de Skills | arquivo de aprovações do host | não |
tools.exec.allowlist_interpreter_without_strict_inline_eval | aviso | As listas de permissões de interpretadores permitem avaliação em linha sem exigir nova aprovação | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, lista de permissões de execução | não |
tools.exec.safe_bins_interpreter_unprofiled | aviso | Binários 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 | aviso | Ferramentas de comportamento amplo em safeBins enfraquecem o modelo de confiança de baixo risco do filtro de stdin | tools.exec.safeBins, agents.list[].tools.exec.safeBins | não |
tools.exec.safe_bin_trusted_dirs_risky | aviso | safeBinTrustedDirs inclui diretórios mutáveis ou arriscados | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | não |
tools.elevated.allowFrom.<provider>.wildcard | crítico | tools.elevated.allowFrom.<provider> inclui "*", aprovando todos os remetentes | tools.elevated.allowFrom.<provider> | não |
tools.elevated.allowFrom.<provider>.large | aviso | A lista de permissões elevadas de <provider> tem mais de 25 entradas | tools.elevated.allowFrom.<provider> | não |
agents.claude_cli.permission_mode_overridden_by_yolo | aviso | O --permission-mode da Claude CLI é ignorado porque a execução do OpenClaw é totalmente autônoma | argumentos de tools.exec.security, tools.exec.ask, cliBackends.claude-cli | não |
skills.workspace.symlink_escape | aviso | O skills/**/SKILL.md do espaço de trabalho é resolvido fora da raiz do espaço de trabalho (desvio na cadeia de links simbólicos) | estado do sistema de arquivos de skills/** no espaço de trabalho | não |
skills.workspace.scan_truncated | aviso | A varredura de Skills do espaço de trabalho atingiu o limite de visitas a diretórios antes de terminar | achatar/simplificar a árvore de diretórios skills/ do espaço de trabalho | não |
plugins.extensions_no_allowlist | aviso | Os plugins são instalados sem uma lista explícita de plugins permitidos | plugins.allowlist | não |
plugins.allow_phantom_entries | aviso | plugins.allow lista um ID sem um plugin instalado correspondente | plugins.allow | não |
plugins.installs_unpinned_npm_specs | aviso | Os registros do índice de plugins não estão fixados em especificações npm imutáveis | metadados de instalação do plugin | não |
plugins.installs_missing_integrity | aviso | Os registros do índice de plugins não têm metadados de integridade | metadados de instalação do plugin | não |
plugins.installs_version_drift | aviso | Os registros do índice de plugins divergem dos pacotes instalados | metadados de instalação do plugin | não |
plugins.code_safety | aviso/crítico | A varredura de código do plugin encontrou padrões suspeitos ou perigosos (somente --deep) | código do plugin/origem da instalação | não |
plugins.code_safety.entry_path | aviso | O caminho de entrada do plugin aponta para locais ocultos ou em node_modules | entry do manifesto do plugin | não |
plugins.code_safety.entry_escape | crítico | A entrada do plugin escapa do diretório do plugin | entry do manifesto do plugin | não |
plugins.code_safety.manifest_parse_error | aviso | Não foi possível analisar o manifesto do plugin durante a varredura de segurança do código | arquivo de manifesto do plugin | não |
plugins.code_safety.scan_failed | aviso | Não foi possível concluir a varredura de código do plugin (somente --deep) | caminho do plugin/ambiente de varredura | não |
plugins.<pluginId>.security_audit_failed | aviso | Um coletor de auditoria de segurança pertencente ao plugin gerou um erro | coletor de auditoria de segurança desse plugin | não |
skills.code_safety | aviso/crítico | Os metadados/código do instalador de Skills contêm padrões suspeitos ou perigosos (somente --deep) | origem da instalação de Skills | não |
skills.code_safety.scan_failed | aviso | Não foi possível concluir a varredura de código de Skills (somente --deep) | ambiente de varredura de Skills | não |
security.exposure.open_channels_with_exec | aviso/crítico | Salas compartilhadas/públicas podem acessar agentes com execução habilitada | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | não |
security.exposure.open_groups_with_elevated | crítico | 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 | não |
security.exposure.open_groups_with_runtime_or_fs | crítico/aviso | DMs/grupos abertos podem acessar ferramentas de comando/arquivo sem proteções de sandbox/espaço de trabalho | caminhos de política de DM/grupo, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | não |
security.exposure.open_groups_with_control_plane_tools | crítico | DMs/grupos abertos podem acessar ferramentas do plano de controle de Gateway/Cron | caminhos de política de DM/grupo, tools.allow, tools.alsoAllow, tools.profile, gateway, cron | não |
security.trust_model.multi_user_heuristic | aviso | A configuração parece ser multiusuário, enquanto o modelo de confiança do Gateway é de assistente pessoal | separar limites de confiança ou aplicar proteção para usuários compartilhados (sandbox.mode, negação de ferramentas/escopo do espaço de trabalho) | não |
tools.profile_minimal_overridden | aviso | Substituições do agente contornam o perfil mínimo global | agents.list[].tools.profile | não |
plugins.tools_reachable_permissive_policy | aviso | Ferramentas de extensão acessíveis em contextos permissivos | tools.profile + permissão/negação de ferramentas | não |
models.legacy | aviso | Famílias de modelos legadas ainda estão configuradas | seleção de modelo | não |
models.weak_tier | aviso | Os modelos configurados estão abaixo dos níveis atualmente recomendados | seleção de modelo | não |
models.small_params | crítico/informativo | Modelos pequenos + superfícies de ferramentas inseguras aumentam o risco de injeção | escolha do modelo + política de sandbox/ferramentas | não |
channels.<provider>.dm.open | crítico | A política de DM de <provider> é "open"; qualquer pessoa pode enviar uma DM ao bot | channels.<provider>.dmPolicy, .allowFrom | não |
channels.<provider>.dm.open_invalid | aviso | dmPolicy="open" sem "*" em allowFrom é inconsistente | channels.<provider>.allowFrom | não |
channels.<provider>.dm.scope_main_multiuser | aviso | Vários remetentes de DM compartilham atualmente a sessão principal | session.dmScope | não |
channels.<provider>.allowFrom.dangerous_name_matching_enabled | informativo | dangerouslyAllowNameMatching reativa a correspondência de remetentes por nome/e-mail/tag mutáveis | desabilitar dangerouslyAllowNameMatching, usar IDs estáveis de remetente | não |
channels.<provider>.account.read_only_resolution | aviso | Não foi possível resolver completamente uma conta de canal para auditoria (segredo/Gateway ausente) | garantir que os segredos referenciados possam ser resolvidos ou executar em um snapshot ativo do Gateway | não |
channels.<provider>.warning.<n> | informativo/aviso/crítico | Aviso de segurança específico do provedor, classificado a partir de texto livre do plugin | consultar os detalhes da constatação | não |
summary.attack_surface | informações | Resumo consolidado da postura de autenticação, canal, ferramenta e exposição | várias chaves (consulte os detalhes da constatação) | não |