---
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-26T11:30:12Z"
    model: gpt-5.4
    provider: openai
    source_hash: 7a5463bd1cec8382eb480cbbe1d8f8cceef0c15efc1f9124990df1e8f70b209a
    source_path: gateway/security/audit-checks.md
    workflow: 15
---

`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ças de alto nível
e orientações de endurecimento, veja [Segurança](/pt-BR/gateway/security).

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

| `checkId`                                                     | Severidade    | Por que isso 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 está legível para 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 política de auth/ferramentas/config                              | permissões do sistema de arquivos em `~/.openclaw/openclaw.json`                                     | sim                |
| `fs.config.symlink`                                           | warn          | Arquivos de config com symlink não são compatíveis para gravações e adicionam outro limite de confiança | substitua por um arquivo de config 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 da config                            | permissões do sistema de arquivos no arquivo de config                                               | sim                |
| `fs.config.perms_world_readable`                              | critical      | A config pode expor tokens/configurações                                              | permissões do sistema de arquivos no arquivo de config                                               | sim                |
| `fs.config_include.perms_writable`                            | critical      | Arquivo incluído na config 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 são legíveis por todos                               | 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 estado de pareamento/credenciais de canal                      | permissões do sistema de arquivos em `~/.openclaw/credentials`                                       | sim                |
| `fs.credentials_dir.perms_readable`                           | warn          | Outros podem ler o estado de credenciais de 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ão                                                                | sim                |
| `fs.log_file.perms_readable`                                  | warn          | Outros podem ler logs redigidos, mas ainda sensíveis                                  | permissões do arquivo de log do gateway                                                              | sim                |
| `fs.synced_dir`                                               | warn          | Estado/config em iCloud/Dropbox/Drive amplia a exposição de tokens/transcrições       | mova config/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          | Headers 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 na 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 pattern não correspondem a texto shell ou grupos              | `gateway.nodes.denyCommands`                                                                         | não                |
| `gateway.tailscale_funnel`                                    | critical      | Exposição à internet pública                                                           | `gateway.tailscale.mode`                                                                             | não                |
| `gateway.tailscale_serve`                                     | info          | Exposição à tailnet está ativada via Serve                                            | `gateway.tailscale.mode`                                                                             | não                |
| `gateway.control_ui.allowed_origins_required`                 | critical      | Control UI fora de loopback sem allowlist explícita de origem do navegador            | `gateway.controlUi.allowedOrigins`                                                                   | não                |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/critical | `allowedOrigins=["*"]` desativa allowlist de origem do navegador                      | `gateway.controlUi.allowedOrigins`                                                                   | não                |
| `gateway.control_ui.host_header_origin_fallback`              | warn/critical | Ativa fallback de origem por Host header (rebaixamento de endurecimento contra DNS rebinding) | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                  | não                |
| `gateway.control_ui.insecure_auth`                            | warn          | Alternância de compatibilidade de auth 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 por 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          | Auth exposta sem limitação de taxa 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 auth                                    | `gateway.auth.mode="trusted-proxy"`                                                                  | não                |
| `gateway.trusted_proxy_no_proxies`                            | critical      | Auth por trusted-proxy sem IPs de proxy confiáveis é insegura                         | `gateway.trustedProxies`                                                                             | não                |
| `gateway.trusted_proxy_no_user_header`                        | critical      | Auth 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          | Auth por trusted-proxy aceita qualquer usuário upstream autenticado                   | `gateway.auth.trustedProxy.allowUsers`                                                               | não                |
| `checkId`                                                     | Severidade    | Por que isso 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 auth neste caminho de comando | fonte de auth da sondagem profunda / disponibilidade de SecretRef                                    | não                |
| `gateway.probe_failed`                                        | warn/critical | A sondagem ativa do Gateway falhou                                                    | acessibilidade/auth do gateway                                                                       | não                |
| `discovery.mdns_full_mode`                                    | warn/critical | O modo mDNS full publica 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 está ativada                             | múltiplas chaves (veja o detalhe do achado)                                                          | não                |
| `config.secrets.gateway_password_in_config`                   | warn          | A senha do gateway está armazenada diretamente na config                              | `gateway.auth.password`                                                                              | não                |
| `config.secrets.hooks_token_in_config`                        | warn          | O token bearer de hooks está armazenado diretamente na config                         | `hooks.token`                                                                                        | não                |
| `hooks.token_reuse_gateway_token`                             | critical      | O token de entrada de hooks também libera a auth do Gateway                           | `hooks.token`, `gateway.auth.token`                                                                  | não                |
| `hooks.token_too_short`                                       | warn          | Brute force mais fácil na entrada de hooks                                            | `hooks.token`                                                                                        | não                |
| `hooks.default_session_key_unset`                             | warn          | Execuções do agente via hooks se espalham 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 | Um 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 é `/`, facilitando colisão ou roteamento incorreto na entrada       | `hooks.path`                                                                                         | não                |
| `hooks.installs_unpinned_npm_specs`                           | warn          | Registros de instalação de hooks não estão fixados a 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 config de controle do navegador é inválida antes do runtime                         | `browser.*`                                                                                          | não                |
| `browser.control_no_auth`                                     | critical      | O controle do navegador está exposto sem auth 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 config 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 bind mount do sandbox aponta para caminhos bloqueados de sistema, credenciais ou socket Docker | `agents.*.sandbox.docker.binds[]`                                                             | não                |
| `sandbox.dangerous_network_mode`                              | critical      | A rede Docker do sandbox usa modo `host` ou de junção de namespace `container:*`      | `agents.*.sandbox.docker.network`                                                                    | não                |
| `sandbox.dangerous_seccomp_profile`                           | critical      | O perfil seccomp do sandbox enfraquece o isolamento do container                      | `agents.*.sandbox.docker.securityOpt`                                                                | não                |
| `sandbox.dangerous_apparmor_profile`                          | critical      | O perfil AppArmor do sandbox enfraquece o isolamento do container                     | `agents.*.sandbox.docker.securityOpt`                                                                | não                |
| `sandbox.browser_cdp_bridge_unrestricted`                     | warn          | A bridge de navegador do sandbox está exposta sem restrição de faixa de origem        | `sandbox.browser.cdpSourceRange`                                                                     | não                |
| `sandbox.browser_container.non_loopback_publish`              | critical      | O container de navegador existente publica CDP em interfaces não loopback             | config de publicação do container de sandbox do navegador                                            | não                |
| `sandbox.browser_container.hash_label_missing`                | warn          | O container de navegador existente é anterior aos rótulos atuais de hash de config    | `openclaw sandbox recreate --browser --all`                                                          | não                |
| `sandbox.browser_container.hash_epoch_stale`                  | warn          | O container de navegador existente é anterior à época atual de config de navegador    | `openclaw sandbox recreate --browser --all`                                                          | não                |
| `tools.exec.host_sandbox_no_sandbox_defaults`                 | warn          | `exec host=sandbox` falha em modo fail-closed 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 em modo fail-closed quando o sandbox está desativado | `agents.list[].tools.exec.host`, `agents.list[].sandbox.mode`                                   | não                |
| `tools.exec.security_full_configured`                         | warn/critical | Exec no host está em execução 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 binários 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          | Binários 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 baseado em filtro 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`                      | não                |
| `skills.workspace.symlink_escape`                             | warn          | `skills/**/SKILL.md` do workspace resolve fora da raiz do workspace (desvio por cadeia de symlink) | estado do sistema de arquivos de `skills/**` do workspace                                    | não                |
| `plugins.extensions_no_allowlist`                             | warn          | Plugins estão instalados sem uma allowlist explícita de plugins                       | `plugins.allowlist`                                                                                  | não                |
| `plugins.installs_unpinned_npm_specs`                         | warn          | Registros do índice de plugins não estão fixados a specs npm imutáveis                | metadados de instalação de plugins                                                                   | não                |
| `checkId`                                                     | Severidade    | Por que isso importa                                                                  | Chave/caminho principal de correção                                                                  | Correção automática |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------ |
| `plugins.installs_missing_integrity`                          | warn          | Registros do índice de plugins não têm metadados de integridade                      | metadados de instalação de plugins                                                                   | não                |
| `plugins.installs_version_drift`                              | warn          | Registros do índice de plugins divergem dos pacotes instalados                       | metadados de instalação de plugins                                                                   | não                |
| `plugins.code_safety`                                         | warn/critical | A varredura de código do plugin encontrou padrões suspeitos ou perigosos             | código do plugin / fonte de 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 varredura de código do plugin não pôde ser concluída                               | caminho do plugin / ambiente de varredura                                                            | não                |
| `skills.code_safety`                                          | warn/critical | Metadados/código do instalador de Skill contêm padrões suspeitos ou perigosos        | fonte de instalação da Skill                                                                         | não                |
| `skills.code_safety.scan_failed`                              | warn          | A varredura de código da Skill não pôde ser concluída                                | ambiente de varredura 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 proteções de sandbox/workspace | `channels.*.groupPolicy`, `tools.profile/deny`, `tools.fs.workspaceOnly`, `agents.*.sandbox.mode` | não                |
| `security.trust_model.multi_user_heuristic`                   | warn          | A config parece multiusuário enquanto o modelo de confiança do gateway é de assistente pessoal | separe limites de confiança, ou use endurecimento para usuários compartilhados (`sandbox.mode`, deny de ferramentas/escopo de workspace) | não |
| `tools.profile_minimal_overridden`                            | warn          | Substituições do agente ignoram o perfil global mínimo                               | `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 legadas de modelos ainda estão configuradas                                 | seleção de modelo                                                                                    | não                |
| `models.weak_tier`                                            | warn          | Modelos configurados estão abaixo dos níveis atualmente recomendados                 | seleção de modelo                                                                                    | não                |
| `models.small_params`                                         | critical/info | Modelos pequenos + superfícies inseguras de ferramenta aumentam o risco de injeção   | escolha do modelo + política de sandbox/ferramentas                                                  | não                |
| `summary.attack_surface`                                      | info          | Resumo consolidado da postura de auth, canal, ferramenta e exposição                 | múltiplas chaves (veja o detalhe do achado)                                                          | não                |

## Relacionados

- [Segurança](/pt-BR/gateway/security)
- [Configuração](/pt-BR/gateway/configuration)
- [Auth por trusted proxy](/pt-BR/gateway/trusted-proxy-auth)
