CLI commands
Segurança
openclaw security
Ferramentas de segurança: auditoria e correções seguras opcionais. Consulte também: Segurança.
openclaw security auditopenclaw security audit --deepopenclaw security audit --deep --password <password>openclaw security audit --deep --token <token>openclaw security audit --auth password --password <password>openclaw security audit --fixopenclaw security audit --jsonModos de auditoria
O security audit simples permanece no caminho de configuração/sistema de arquivos/somente leitura sem inicialização: ele não descobre coletores de segurança do runtime de Plugins, portanto, as auditorias rotineiras não carregam o runtime de todos os Plugins instalados. --deep adiciona sondagens ativas de melhor esforço no Gateway e coletores de auditoria de segurança pertencentes aos Plugins (chamadores internos explícitos também podem optar por esses coletores quando já têm um escopo de runtime apropriado).
Se a autenticação por senha do Gateway for fornecida somente na inicialização, passe o mesmo valor com --auth password --password <password> para que a auditoria possa verificá-lo em relação a hooks.token.
O que é verificado
Modelo de confiança/MD
- Avisa quando vários remetentes de MD compartilham a sessão principal e recomenda o modo seguro de MD:
session.dmScope="per-channel-peer"(ouper-account-channel-peerpara canais com várias contas) para caixas de entrada compartilhadas. Isso é um reforço de segurança para cooperação/caixa de entrada compartilhada, não isolamento para operadores mutuamente não confiáveis; nesse caso, separe os limites de confiança com gateways distintos (ou usuários/hosts de SO distintos). - Emite
security.trust_model.multi_user_heuristicquando a configuração sugere uma provável entrada de usuários compartilhados (por exemplo, política aberta de MD/grupo, destinos de grupo configurados ou regras de remetente com curinga) — o modelo de confiança padrão do OpenClaw é de assistente pessoal (um operador), não de isolamento multi-inquilino hostil. Para configurações intencionais com usuários compartilhados: coloque todas as sessões em sandbox, mantenha o acesso ao sistema de arquivos restrito ao espaço de trabalho e não inclua identidades ou credenciais pessoais/privadas nesse runtime. - Avisa quando modelos pequenos (parâmetros
<=300B) são usados sem sandbox e com ferramentas de web/navegador habilitadas.
Webhook/hooks
A inicialização registra um aviso de segurança não fatal, e a auditoria sinaliza a reutilização, por hooks.token, de valores ativos de autenticação por segredo compartilhado do Gateway (gateway.auth.token / OPENCLAW_GATEWAY_TOKEN, gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD). Também avisa quando:
hooks.tokené curtohooks.path="/"hooks.defaultSessionKeynão está definidohooks.allowedAgentIdsnão tem restrições- substituições de
sessionKeyda solicitação estão habilitadas - substituições estão habilitadas sem
hooks.allowedSessionKeyPrefixes
Execute openclaw doctor --fix para rotacionar um hooks.token persistido e reutilizado e, em seguida, atualize os remetentes externos de hooks para usar o novo token.
Sandbox/ferramentas
- Avisa quando as configurações do Docker da sandbox estão definidas enquanto o modo sandbox está desativado.
- Avisa quando
gateway.nodes.denyCommandsusa entradas desconhecidas ou semelhantes a padrões que são ineficazes (a correspondência considera somente o nome exato do comando do Node, não filtra texto do shell). - Avisa quando
gateway.nodes.allowCommandshabilita explicitamente comandos perigosos do Node. - Avisa quando o
tools.profile="minimal"global é substituído pelos perfis de ferramentas dos agentes. - Avisa quando as ferramentas de gravação/edição estão desabilitadas, mas
execcontinua disponível sem um limite restritivo do sistema de arquivos da sandbox. - Avisa quando MDs ou grupos abertos expõem ferramentas de runtime/sistema de arquivos sem proteções de sandbox/espaço de trabalho.
- Avisa quando ferramentas de Plugins instalados podem estar acessíveis sob uma política de ferramentas permissiva.
Navegador da sandbox
- Avisa quando o navegador da sandbox usa a rede
bridgedo Docker semsandbox.browser.cdpSourceRange. - Sinaliza modos perigosos de rede do Docker da sandbox, incluindo
hoste associações a namespacescontainer:*. - Avisa quando contêineres Docker existentes do navegador da sandbox têm rótulos de hash ausentes/desatualizados (por exemplo, contêineres anteriores à migração sem
openclaw.browserConfigEpoch) e recomendaopenclaw sandbox recreate --browser --all.
Rede/descoberta
- Sinaliza
gateway.allowRealIpFallback=true(risco de falsificação de cabeçalhos se os proxies estiverem configurados incorretamente). - Sinaliza
discovery.mdns.mode="full"(vazamento de metadados por meio de registros TXT de mDNS). - Avisa quando
gateway.auth.mode="none"deixa as APIs HTTP do Gateway acessíveis sem um segredo compartilhado (/tools/invokee qualquer endpoint/v1/*habilitado).
Plugins/canais
- Avisa quando os registros de instalação de plugins/hooks baseados em npm não estão fixados, não têm metadados de integridade ou divergem das versões dos pacotes atualmente instalados.
- Avisa quando as listas de permissões de canais dependem de nomes/e-mails/tags mutáveis em vez de IDs estáveis (Discord, Slack, Google Chat, Microsoft Teams, Mattermost e escopos de IRC, quando aplicável).
As configurações prefixadas com dangerous/dangerously são substituições explícitas de emergência pelo operador; habilitar uma delas não constitui, por si só, um relato de vulnerabilidade de segurança. Para ver o inventário completo de parâmetros perigosos, consulte "Resumo de flags inseguras ou perigosas" em Segurança.
Comportamento de SecretRef
security audit resolve as SecretRefs compatíveis no modo somente leitura para os caminhos visados. Se uma SecretRef não estiver disponível no caminho do comando atual, a auditoria continuará e relatará secretDiagnostics em vez de falhar. --token e --password substituem apenas a autenticação da verificação aprofundada para essa invocação do comando; eles não reescrevem a configuração nem os mapeamentos de SecretRef.
Supressões
Aceite constatações permanentes intencionais com security.audit.suppressions. Cada supressão corresponde a um checkId exato e pode ser restringida com substrings titleIncludes e/ou detailIncludes, sem diferenciação entre maiúsculas e minúsculas:
{ "security": { "audit": { "suppressions": [ { "checkId": "plugins.tools_reachable_permissive_policy", "detailIncludes": "Enabled extension plugins: gbrain", "reason": "trusted local operator plugin" } ] } }}As constatações suprimidas são removidas do summary ativo e da lista findings. A saída JSON as mantém em suppressedFindings para fins de auditoria. Quando há supressões configuradas, a saída ativa também mantém uma constatação informativa security.audit.suppressions.active que não pode ser suprimida, para que os leitores saibam que a auditoria foi filtrada. Os sinalizadores de configuração perigosos são emitidos individualmente, um por constatação, portanto aceitar um sinalizador perigoso não oculta outros sinalizadores habilitados que compartilham o mesmo checkId config.insecure_or_dangerous_flags.
Como as supressões podem ocultar riscos persistentes, adicioná-las ou removê-las por meio de comandos de shell executados pelo agente exige aprovação de execução, a menos que a execução já esteja em andamento com security="full" e ask="off" para automação local confiável.
Saída JSON
openclaw security audit --json | jq '.summary'openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'Com --fix --json, a saída inclui tanto as ações de correção quanto o relatório final:
openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'O que --fix altera
Aplica correções seguras e determinísticas:
- altera ocorrências comuns de
groupPolicy="open"paragroupPolicy="allowlist"(incluindo variantes de conta nos canais compatíveis) - quando a política de grupos do WhatsApp é alterada para
allowlist, preenchegroupAllowFromcom base no arquivoallowFromarmazenado quando essa lista existe e a configuração ainda não defineallowFrom - altera
logging.redactSensitivede"off"para"tools" - restringe as permissões do estado, da configuração e de arquivos confidenciais comuns (
credentials/*.json,auth-profiles.json,openclaw-agent.sqlitee artefatos de sessão legados) - também restringe as permissões dos arquivos de inclusão de configuração referenciados em
openclaw.json - usa
chmodem hosts POSIX e redefinições comicaclsno Windows
--fix não:
- rotaciona tokens, senhas ou chaves de API
- desativa ferramentas (
gateway,cron,execetc.) - altera as opções de vinculação, autenticação ou exposição de rede do Gateway
- remove ou reescreve plugins/Skills