---
read_when:
    - Você viu um `checkId` específico na saída de `openclaw security audit` e quer saber o que ele significa
    - Você precisa da chave/caminho de correção para um achado específico
    - Você está triando a severidade em uma execução de auditoria de segurança
summary: Catálogo de referência de checkIds emitidos por `openclaw security audit`
title: Verificações de auditoria de segurança
x-i18n:
    generated_at: "2026-04-23T14:03:07Z"
    model: gpt-5.4
    provider: openai
    source_hash: b53a8dc798ecc8c37be43758b741c68772b10c92323ab3d26592d7b3cc2c795e
    source_path: gateway/security/audit-checks.md
    workflow: 15
---

# Verificações de auditoria de segurança

`openclaw security audit` emite achados estruturados identificados por `checkId`. Esta
página é o catálogo de referência desses IDs. Para o modelo de ameaça de alto nível
e orientações de hardening, consulte [Security](/pt-BR/gateway/security).

Valores de `checkId` de alto sinal que você provavelmente verá em implantações reais (lista
não exaustiva):

| `checkId`                                                     | Severidade   | Por que importa                                                                       | Chave/caminho principal de correção                                                                  | Correção automática |
| ------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------- |
| `fs.state_dir.perms_world_writable`                           | critical     | 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`                           | warn         | 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`                                 | warn         | O diretório de estado pode ser lido por outros                                        | permissões do sistema de arquivos em `~/.openclaw`                                                   | sim                 |
| `fs.state_dir.symlink`                                        | warn         | 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`                                    | critical     | Outros podem alterar autenticação/política de ferramentas/configuração                | permissões do sistema de arquivos em `~/.openclaw/openclaw.json`                                     | sim                 |
| `fs.config.symlink`                                           | warn         | Arquivos de configuração com symlink não são compatíveis com gravações e adicionam outro limite de confiança | substitua por um arquivo de configuração regular ou aponte `OPENCLAW_CONFIG_PATH` para o arquivo real | não                 |
| `fs.config.perms_group_readable`                              | warn         | Usuários do grupo podem ler tokens/configurações do arquivo de configuração           | permissões do sistema de arquivos no arquivo de configuração                                         | sim                 |
| `fs.config.perms_world_readable`                              | critical     | 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`                            | critical     | O arquivo incluído na configuração pode ser modificado por outros                     | permissões do arquivo incluído referenciado por `openclaw.json`                                      | sim                 |
| `fs.config_include.perms_group_readable`                      | warn         | Usuários do grupo podem ler segredos/configurações incluídos                          | permissões do arquivo incluído referenciado por `openclaw.json`                                      | sim                 |
| `fs.config_include.perms_world_readable`                      | critical     | Segredos/configurações incluídos podem ser lidos por qualquer usuário                 | permissões do arquivo incluído referenciado por `openclaw.json`                                      | sim                 |
| `fs.auth_profiles.perms_writable`                             | critical     | Outros podem injetar ou substituir credenciais de modelo armazenadas                  | permissões de `agents/<agentId>/agent/auth-profiles.json`                                            | sim                 |
| `fs.auth_profiles.perms_readable`                             | warn         | Outros podem ler chaves de API e tokens OAuth                                         | permissões de `agents/<agentId>/agent/auth-profiles.json`                                            | sim                 |
| `fs.credentials_dir.perms_writable`                           | critical     | Outros podem modificar o estado de credenciais/pareamento do canal                    | permissões do sistema de arquivos em `~/.openclaw/credentials`                                       | sim                 |
| `fs.credentials_dir.perms_readable`                           | warn         | Outros podem ler o estado de credenciais do canal                                     | permissões do sistema de arquivos em `~/.openclaw/credentials`                                       | sim                 |
| `fs.sessions_store.perms_readable`                            | warn         | Outros podem ler transcrições/metadados de sessão                                     | permissões do armazenamento de sessões                                                               | sim                 |
| `fs.log_file.perms_readable`                                  | warn         | Outros podem ler logs com redação, mas ainda sensíveis                                | permissões do arquivo de log do gateway                                                              | sim                 |
| `fs.synced_dir`                                               | warn         | Estado/configuração em iCloud/Dropbox/Drive amplia a exposição de tokens/transcrições | mova configuração/estado para fora de pastas sincronizadas                                           | não                 |
| `gateway.bind_no_auth`                                        | critical     | Bind remoto sem segredo compartilhado                                                 | `gateway.bind`, `gateway.auth.*`                                                                     | não                 |
| `gateway.loopback_no_auth`                                    | critical     | Loopback com proxy reverso pode se tornar não autenticado                             | `gateway.auth.*`, configuração de proxy                                                              | não                 |
| `gateway.trusted_proxies_missing`                             | warn         | Cabeçalhos de proxy reverso estão presentes, mas não são confiáveis                   | `gateway.trustedProxies`                                                                             | não                 |
| `gateway.http.no_auth`                                        | warn/critical | APIs HTTP do Gateway acessíveis com `auth.mode="none"`                                | `gateway.auth.mode`, `gateway.http.endpoints.*`                                                      | não                 |
| `gateway.http.session_key_override_enabled`                   | info         | Chamadores da API HTTP podem substituir `sessionKey`                                  | `gateway.http.allowSessionKeyOverride`                                                               | não                 |
| `gateway.tools_invoke_http.dangerous_allow`                   | warn/critical | Reativa ferramentas perigosas pela API HTTP                                           | `gateway.tools.allow`                                                                                | não                 |
| `gateway.nodes.allow_commands_dangerous`                      | warn/critical | Ativa comandos de Node de alto impacto (câmera/tela/contatos/calendário/SMS)          | `gateway.nodes.allowCommands`                                                                        | não                 |
| `gateway.nodes.deny_commands_ineffective`                     | warn         | Entradas deny em estilo de padrão não correspondem a texto de shell nem grupos        | `gateway.nodes.denyCommands`                                                                         | não                 |
| `gateway.tailscale_funnel`                                    | critical     | Exposição à internet pública                                                          | `gateway.tailscale.mode`                                                                             | não                 |
| `gateway.tailscale_serve`                                     | info         | A exposição pela tailnet está ativada via Serve                                       | `gateway.tailscale.mode`                                                                             | não                 |
| `gateway.control_ui.allowed_origins_required`                 | critical     | Control UI fora do loopback sem allowlist explícita de origem do navegador            | `gateway.controlUi.allowedOrigins`                                                                   | não                 |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/critical | `allowedOrigins=["*"]` desativa a allowlisting de origem do navegador                 | `gateway.controlUi.allowedOrigins`                                                                   | não                 |
| `gateway.control_ui.host_header_origin_fallback`              | warn/critical | Ativa fallback de origem por cabeçalho Host (rebaixamento do hardening contra DNS rebinding) | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                         | não                 |
| `gateway.control_ui.insecure_auth`                            | warn         | Alternância de compatibilidade de autenticação insegura ativada                       | `gateway.controlUi.allowInsecureAuth`                                                                | não                 |
| `gateway.control_ui.device_auth_disabled`                     | critical     | Desativa a verificação de identidade do dispositivo                                   | `gateway.controlUi.dangerouslyDisableDeviceAuth`                                                     | não                 |
| `gateway.real_ip_fallback_enabled`                            | warn/critical | Confiar no fallback `X-Real-IP` pode permitir spoofing de IP de origem via má configuração de proxy | `gateway.allowRealIpFallback`, `gateway.trustedProxies`                                              | não                 |
| `gateway.token_too_short`                                     | warn         | Token compartilhado curto é mais fácil de forçar por brute force                      | `gateway.auth.token`                                                                                 | não                 |
| `gateway.auth_no_rate_limit`                                  | warn         | Autenticação exposta sem rate limiting aumenta o risco de brute force                 | `gateway.auth.rateLimit`                                                                             | não                 |
| `gateway.trusted_proxy_auth`                                  | critical     | A identidade do proxy passa a ser o limite de autenticação                            | `gateway.auth.mode="trusted-proxy"`                                                                  | não                 |
| `gateway.trusted_proxy_no_proxies`                            | critical     | Autenticação por trusted-proxy sem IPs de proxy confiáveis é insegura                 | `gateway.trustedProxies`                                                                             | não                 |
| `gateway.trusted_proxy_no_user_header`                        | critical     | A autenticação por trusted-proxy não consegue resolver a identidade do usuário com segurança | `gateway.auth.trustedProxy.userHeader`                                                               | não                 |
| `gateway.trusted_proxy_no_allowlist`                          | warn         | A autenticação por trusted-proxy aceita qualquer usuário autenticado a montante       | `gateway.auth.trustedProxy.allowUsers`                                                               | não                 |
| `checkId`                                                     | Severidade   | Por que importa                                                                       | Chave/caminho principal de correção                                                                  | Correção automática |
| ------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------- |
| `gateway.probe_auth_secretref_unavailable`                    | warn         | A sondagem profunda não conseguiu resolver SecretRefs de autenticação neste caminho de comando | origem 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 de mDNS anuncia metadados `cliPath`/`sshPort` na rede local          | `discovery.mdns.mode`, `gateway.bind`                                                                | não                 |
| `config.insecure_or_dangerous_flags`                          | warn         | Qualquer flag de depuração insegura/perigosa ativada                                  | múltiplas chaves (consulte o detalhe do achado)                                                      | 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 de hooks está armazenado diretamente na configuração                   | `hooks.token`                                                                                        | não                 |
| `hooks.token_reuse_gateway_token`                             | critical     | O token de entrada de hook também destrava a autenticação do Gateway                  | `hooks.token`, `gateway.auth.token`                                                                  | não                 |
| `hooks.token_too_short`                                       | warn         | Força bruta mais fácil na entrada de hooks                                            | `hooks.token`                                                                                        | não                 |
| `hooks.default_session_key_unset`                             | warn         | A execução do agente de hooks se espalha em sessões geradas por requisição            | `hooks.defaultSessionKey`                                                                            | não                 |
| `hooks.allowed_agent_ids_unrestricted`                        | warn/critical | Chamadores autenticados de hooks podem rotear para qualquer agente configurado        | `hooks.allowedAgentIds`                                                                              | não                 |
| `hooks.request_session_key_enabled`                           | warn/critical | Chamador externo pode escolher `sessionKey`                                           | `hooks.allowRequestSessionKey`                                                                       | não                 |
| `hooks.request_session_key_prefixes_missing`                  | warn/critical | Não há limite para os formatos de chave de sessão externa                             | `hooks.allowedSessionKeyPrefixes`                                                                    | não                 |
| `hooks.path_root`                                             | critical     | O caminho do hook é `/`, tornando a entrada mais fácil de colidir ou ser mal roteada  | `hooks.path`                                                                                         | não                 |
| `hooks.installs_unpinned_npm_specs`                           | warn         | Registros de instalação de hooks não estão fixados em specs npm imutáveis             | metadados de instalação de hooks                                                                     | não                 |
| `hooks.installs_missing_integrity`                            | warn         | 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`                                | warn         | Registros de instalação de hooks divergem dos pacotes instalados                      | metadados de instalação de hooks                                                                     | 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     | O controle do navegador está exposto sem autenticação por token/senha                 | `gateway.auth.*`                                                                                     | não                 |
| `browser.remote_cdp_http`                                     | warn         | CDP remoto via HTTP simples não tem criptografia de transporte                        | perfil de navegador `cdpUrl`                                                                         | não                 |
| `browser.remote_cdp_private_host`                             | warn         | O CDP remoto aponta para um host privado/interno                                      | perfil de navegador `cdpUrl`, `browser.ssrfPolicy.*`                                                 | não                 |
| `sandbox.docker_config_mode_off`                              | warn         | A configuração Docker do sandbox está presente, mas inativa                           | `agents.*.sandbox.mode`                                                                              | não                 |
| `sandbox.bind_mount_non_absolute`                             | warn         | Bind mounts relativos podem ser resolvidos de forma imprevisível                      | `agents.*.sandbox.docker.binds[]`                                                                    | não                 |
| `sandbox.dangerous_bind_mount`                                | critical     | O destino do bind mount do sandbox aponta para caminhos bloqueados do sistema, credenciais ou socket do Docker | `agents.*.sandbox.docker.binds[]`                                                                    | não                 |
| `sandbox.dangerous_network_mode`                              | critical     | A rede Docker do sandbox usa modo `host` ou `container:*` de uniã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 bridge CDP do navegador no sandbox está exposta sem restrição de faixa de origem    | `sandbox.browser.cdpSourceRange`                                                                     | não                 |
| `sandbox.browser_container.non_loopback_publish`              | critical     | O contêiner de navegador existente publica CDP em interfaces fora do loopback         | configuração de publicação do contêiner de sandbox do navegador                                      | não                 |
| `sandbox.browser_container.hash_label_missing`                | warn         | O contêiner de navegador existente antecede os rótulos atuais de hash de configuração | `openclaw sandbox recreate --browser --all`                                                          | não                 |
| `sandbox.browser_container.hash_epoch_stale`                  | warn         | O contêiner de navegador existente antecede a é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 de forma restritiva 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 de forma restritiva quando o sandbox está desativado | `agents.list[].tools.exec.host`, `agents.list[].sandbox.mode`                                        | não                 |
| `tools.exec.security_full_configured`                         | warn/critical | O exec no host está rodando com `security="full"`                                     | `tools.exec.security`, `agents.list[].tools.exec.security`                                           | não                 |
| `tools.exec.auto_allow_skills_enabled`                        | warn         | Aprovações de exec confiam implicitamente em bins de Skills                           | `~/.openclaw/exec-approvals.json`                                                                    | não                 |
| `tools.exec.allowlist_interpreter_without_strict_inline_eval` | warn         | Allowlists de interpretador permitem eval inline sem reaprovação forçada              | `tools.exec.strictInlineEval`, `agents.list[].tools.exec.strictInlineEval`, allowlist de aprovações de exec | não                 |
| `tools.exec.safe_bins_interpreter_unprofiled`                 | warn         | Bins de interpretador/runtime em `safeBins` sem perfis explícitos ampliam o risco de exec | `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`, `tools.exec.safeBins` por agente                                              | 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`                       | não                 |
| `skills.workspace.symlink_escape`                             | warn         | `skills/**/SKILL.md` do workspace resolve para fora da raiz do workspace (desvio da cadeia de symlink) | estado do sistema de arquivos de `skills/**` do workspace                                            | não                 |
| `plugins.extensions_no_allowlist`                             | warn         | Plugins são instalados sem uma allowlist explícita de plugins                         | `plugins.allowlist`                                                                                  | não                 |
| `plugins.installs_unpinned_npm_specs`                         | warn         | Registros de instalação de plugins não estão fixados em specs npm imutáveis           | metadados de instalação de plugins                                                                   | não                 |
| `checkId`                                                     | Severidade   | Por que importa                                                                       | Chave/caminho principal de correção                                                                  | Correção automática |
| ------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------- |
| `plugins.installs_missing_integrity`                          | warn         | Registros de instalação de plugins não têm metadados de integridade                  | metadados de instalação de plugins                                                                   | não                 |
| `plugins.installs_version_drift`                              | warn         | Registros de instalação de plugins divergem dos pacotes instalados                   | metadados de instalação de plugins                                                                   | não                 |
| `plugins.code_safety`                                         | warn/critical | A verificação de código do plugin encontrou padrões suspeitos ou perigosos           | código do plugin / origem da instalação                                                              | não                 |
| `plugins.code_safety.entry_path`                              | warn         | O caminho de entrada do plugin aponta para locais ocultos ou `node_modules`          | `entry` do manifesto do plugin                                                                       | não                 |
| `plugins.code_safety.entry_escape`                            | critical     | A entrada do plugin escapa do diretório do plugin                                    | `entry` do manifesto do plugin                                                                       | não                 |
| `plugins.code_safety.scan_failed`                             | warn         | A verificação de código do plugin não pôde ser concluída                             | caminho do plugin / ambiente de verificação                                                          | não                 |
| `skills.code_safety`                                          | warn/critical | Metadados/código do instalador de Skills contêm padrões suspeitos ou perigosos       | origem da instalação da skill                                                                        | não                 |
| `skills.code_safety.scan_failed`                              | warn         | A verificação de código da skill não pôde ser concluída                              | ambiente de verificação da skill                                                                     | não                 |
| `security.exposure.open_channels_with_exec`                   | warn/critical | Salas compartilhadas/públicas podem alcançar agentes com exec ativado                | `channels.*.dmPolicy`, `channels.*.groupPolicy`, `tools.exec.*`, `agents.list[].tools.exec.*`       | não                 |
| `security.exposure.open_groups_with_elevated`                 | critical     | Grupos abertos + ferramentas elevadas criam caminhos de prompt injection de alto impacto | `channels.*.groupPolicy`, `tools.elevated.*`                                                         | não                 |
| `security.exposure.open_groups_with_runtime_or_fs`            | critical/warn | Grupos abertos podem alcançar ferramentas de comando/arquivo sem guards de sandbox/workspace | `channels.*.groupPolicy`, `tools.profile/deny`, `tools.fs.workspaceOnly`, `agents.*.sandbox.mode`   | não                 |
| `security.trust_model.multi_user_heuristic`                   | warn         | A configuração parece multiusuário enquanto o modelo de confiança do gateway é de assistente pessoal | separar limites de confiança ou aplicar hardening para usuário compartilhado (`sandbox.mode`, deny de ferramentas/escopo de workspace) | não                 |
| `tools.profile_minimal_overridden`                            | warn         | Substituições por agente contornam o perfil mínimo global                            | `agents.list[].tools.profile`                                                                        | não                 |
| `plugins.tools_reachable_permissive_policy`                   | warn         | Ferramentas de extensão alcançáveis em contextos permissivos                         | `tools.profile` + allow/deny de ferramentas                                                          | não                 |
| `models.legacy`                                               | warn         | Famílias de modelos legadas ainda estão configuradas                                 | seleção de modelo                                                                                    | não                 |
| `models.weak_tier`                                            | warn         | Modelos configurados estão abaixo das camadas atualmente recomendadas                | seleção de modelo                                                                                    | não                 |
| `models.small_params`                                         | critical/info | Modelos pequenos + superfícies de ferramentas inseguras elevam o risco de injection  | escolha de modelo + política de sandbox/ferramentas                                                  | não                 |
| `summary.attack_surface`                                      | info         | Resumo consolidado da postura de autenticação, canal, ferramentas e exposição        | múltiplas chaves (consulte o detalhe do achado)                                                      | não                 |

## Relacionado

- [Security](/pt-BR/gateway/security)
- [Configuration](/pt-BR/gateway/configuration)
- [Autenticação por trusted proxy](/pt-BR/gateway/trusted-proxy-auth)
