openclaw security
Ferramentas de segurança (auditoria + correções opcionais).
Relacionado:
- Guia de segurança: Security
Auditoria
session.dmScope="per-channel-peer" (ou per-account-channel-peer para canais com várias contas) para caixas de entrada compartilhadas.
Isto serve para reforço de segurança em caixas de entrada cooperativas/compartilhadas. Um único Gateway compartilhado por operadores mutuamente não confiáveis/adversariais não é uma configuração recomendada; separe os limites de confiança com gateways distintos (ou usuários/hosts do SO separados).
Ela também emite security.trust_model.multi_user_heuristic quando a configuração sugere ingresso provável de usuários compartilhados (por exemplo, política aberta de DM/grupo, destinos de grupo configurados ou regras curingas de remetente) e lembra que o modelo de confiança padrão do OpenClaw é de assistente pessoal.
Para configurações intencionais com vários usuários, a orientação da auditoria é isolar todas as sessões em sandbox, manter o acesso ao sistema de arquivos restrito ao escopo do workspace e manter identidades ou credenciais pessoais/privadas fora desse runtime.
Ela também avisa quando modelos pequenos (<=300B) são usados sem sandbox e com ferramentas web/browser ativadas.
Para ingresso por webhook, ela avisa quando hooks.token reutiliza o token do Gateway, quando hooks.token é curto, quando hooks.path="/", quando hooks.defaultSessionKey não está definido, quando hooks.allowedAgentIds não é restrito, quando substituições de sessionKey da requisição estão ativadas e quando as substituições estão ativadas sem hooks.allowedSessionKeyPrefixes.
Ela também avisa quando configurações de Docker do sandbox estão definidas enquanto o modo sandbox está desativado, quando gateway.nodes.denyCommands usa entradas ineficazes semelhantes a padrões/desconhecidas (somente correspondência exata por nome de comando do nó, não filtragem de texto shell), quando gateway.nodes.allowCommands ativa explicitamente comandos perigosos de nó, quando tools.profile="minimal" global é substituído por perfis de ferramentas do agente, quando grupos abertos expõem ferramentas de runtime/sistema de arquivos sem proteções de sandbox/workspace e quando ferramentas de plugins de extensão instalados podem estar acessíveis sob política de ferramentas permissiva.
Ela também sinaliza gateway.allowRealIpFallback=true (risco de falsificação de cabeçalho se os proxies estiverem configurados incorretamente) e discovery.mdns.mode="full" (vazamento de metadados via registros TXT do mDNS).
Ela também avisa quando o browser do sandbox usa rede Docker bridge sem sandbox.browser.cdpSourceRange.
Ela também sinaliza modos perigosos de rede Docker do sandbox (incluindo host e junções de namespace container:*).
Ela também avisa quando contêineres Docker existentes do browser do sandbox têm rótulos de hash ausentes/desatualizados (por exemplo, contêineres anteriores à migração sem openclaw.browserConfigEpoch) e recomenda openclaw sandbox recreate --browser --all.
Ela também avisa quando 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 de pacote atualmente instaladas.
Ela avisa quando listas de permissões de canais dependem de nomes/emails/tags mutáveis em vez de IDs estáveis (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, escopos IRC quando aplicável).
Ela avisa quando gateway.auth.mode="none" deixa as APIs HTTP do Gateway acessíveis sem um segredo compartilhado (/tools/invoke mais qualquer endpoint /v1/* ativado).
Configurações prefixadas com dangerous/dangerously são substituições explícitas de operador do tipo break-glass; ativar uma delas não é, por si só, um relatório de vulnerabilidade de segurança.
Para o inventário completo de parâmetros perigosos, consulte a seção “Resumo de flags inseguras ou perigosas” em Security.
Comportamento de SecretRef:
security auditresolve SecretRefs compatíveis em modo somente leitura para seus caminhos direcionados.- Se um SecretRef não estiver disponível no caminho atual do comando, a auditoria continua e relata
secretDiagnostics(em vez de falhar). --tokene--passwordapenas substituem a autenticação de sondagem profunda para essa invocação do comando; eles não reescrevem config nem mapeamentos de SecretRef.
Saída JSON
Use--json para verificações de CI/política:
--fix e --json forem combinados, a saída incluirá tanto ações de correção quanto o relatório final:
O que --fix altera
--fix aplica remediações seguras e determinísticas:
- altera
groupPolicy="open"comuns paragroupPolicy="allowlist"(incluindo variantes por conta em canais compatíveis) - quando a política de grupo do WhatsApp muda para
allowlist, inicializagroupAllowFroma partir do arquivoallowFromarmazenado quando essa lista existe e a configuração ainda não defineallowFrom - define
logging.redactSensitivede"off"para"tools" - restringe permissões para arquivos de estado/configuração e arquivos sensíveis comuns
(
credentials/*.json,auth-profiles.json,sessions.json, sessão*.jsonl) - também restringe arquivos incluídos de configuração referenciados por
openclaw.json - usa
chmodem hosts POSIX e resets deicaclsno Windows
--fix não:
- rotaciona tokens/senhas/chaves de API
- desativa ferramentas (
gateway,cron,exec, etc.) - altera escolhas de bind/autenticação/exposição de rede do gateway
- remove nem reescreve plugins/Skills