openclaw secrets
Use openclaw secrets para gerenciar SecretRefs e manter íntegro o snapshot ativo de runtime.
Funções dos comandos:
reload: gateway RPC (secrets.reload) que resolve novamente refs e troca o snapshot de runtime apenas em caso de sucesso completo (sem gravações de configuração).audit: varredura somente leitura da configuração/armazenamentos de autenticação/modelos gerados e resíduos legados em busca de texto simples, refs não resolvidos e drift de precedência (refs de exec são ignorados, a menos que--allow-execesteja definido).configure: planejador interativo para configuração de provedor, mapeamento de alvos e preflight (TTY obrigatório).apply: executa um plano salvo (--dry-runapenas para validação; dry-run ignora verificações de exec por padrão, e o modo de gravação rejeita planos que contenham exec, a menos que--allow-execesteja definido), então limpa os resíduos em texto simples visados.
exec, passe --allow-exec nos comandos de apply com dry-run e com gravação.
Observação sobre código de saída para CI/gates:
audit --checkretorna1em caso de achados.- refs não resolvidos retornam
2.
- Guia de segredos: Secrets Management
- Superfície de credenciais: SecretRef Credential Surface
- Guia de segurança: Security
Recarregar snapshot de runtime
Resolva novamente refs de segredo e troque atomicamente o snapshot de runtime.- Usa o método gateway RPC
secrets.reload. - Se a resolução falhar, o gateway mantém o último snapshot válido conhecido e retorna um erro (sem ativação parcial).
- A resposta JSON inclui
warningCount.
--url <url>--token <token>--timeout <ms>--json
Auditoria
Examine o estado do OpenClaw em busca de:- armazenamento de segredo em texto simples
- refs não resolvidos
- drift de precedência (credenciais de
auth-profiles.jsonsombreando refs deopenclaw.json) - resíduos gerados em
agents/*/agent/models.json(valoresapiKeyde provedores e cabeçalhos sensíveis de provedores) - resíduos legados (entradas legadas do armazenamento de autenticação, lembretes de OAuth)
- A detecção de cabeçalhos sensíveis de provedores é baseada em heurística de nomes (nomes comuns de cabeçalhos de autenticação/credenciais e fragmentos como
authorization,x-api-key,token,secret,passwordecredential).
--checkretorna código não zero em caso de achados.- refs não resolvidos saem com código não zero de prioridade mais alta.
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- códigos de achado:
PLAINTEXT_FOUNDREF_UNRESOLVEDREF_SHADOWEDLEGACY_RESIDUE
Configurar (helper interativo)
Crie interativamente alterações de provedor e SecretRef, execute preflight e, opcionalmente, aplique:- Primeiro a configuração do provedor (
add/edit/removepara aliases desecrets.providers). - Depois o mapeamento de credenciais (selecionar campos e atribuir refs
{source, provider, id}). - Por fim, preflight e aplicação opcional.
--providers-only: configura apenassecrets.providers, ignora o mapeamento de credenciais.--skip-provider-setup: ignora a configuração do provedor e mapeia credenciais para provedores existentes.--agent <id>: limita a descoberta de alvos e gravações deauth-profiles.jsona um armazenamento de agente.--allow-exec: permite verificações de SecretRefexecdurante preflight/apply (pode executar comandos do provedor).
- Requer um TTY interativo.
- Você não pode combinar
--providers-onlycom--skip-provider-setup. configuretem como alvo campos que contêm segredos emopenclaw.jsonmaisauth-profiles.jsonpara o escopo de agente selecionado.configureoferece suporte à criação de novos mapeamentos deauth-profiles.jsondiretamente no fluxo do seletor.- Superfície compatível canônica: SecretRef Credential Surface.
- Ele executa resolução de preflight antes do apply.
- Se o preflight/apply incluir refs
exec, mantenha--allow-execdefinido em ambas as etapas. - Os planos gerados usam por padrão opções de limpeza (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJsontodos habilitados). - O caminho de apply é unidirecional para valores em texto simples limpos.
- Sem
--apply, a CLI ainda solicitaApply this plan now?após o preflight. - Com
--apply(e sem--yes), a CLI solicita uma confirmação extra irreversível. --jsonimprime o plano + relatório de preflight, mas o comando ainda exige um TTY interativo.
- Instalações Homebrew frequentemente expõem binários com symlink em
/opt/homebrew/bin/*. - Defina
allowSymlinkCommand: trueapenas quando necessário para caminhos confiáveis do gerenciador de pacotes, e combine isso comtrustedDirs(por exemplo["/opt/homebrew"]). - No Windows, se a verificação de ACL não estiver disponível para um caminho de provedor, o OpenClaw falha de forma fechada. Apenas para caminhos confiáveis, defina
allowInsecurePath: truenesse provedor para ignorar verificações de segurança do caminho.
Aplicar um plano salvo
Aplique ou faça preflight de um plano gerado anteriormente:--dry-runvalida o preflight sem gravar arquivos.- Verificações de SecretRef
execsão ignoradas por padrão no dry-run. - O modo de gravação rejeita planos que contêm SecretRefs/provedores exec, a menos que
--allow-execesteja definido. - Use
--allow-execpara optar por verificações/execução de provedor exec em qualquer um dos modos.
apply pode atualizar:
openclaw.json(alvos SecretRef + upserts/exclusões de provedor)auth-profiles.json(limpeza de alvos de provedor)- resíduos legados em
auth.json - chaves de segredo conhecidas em
~/.openclaw/.envcujos valores foram migrados
Por que não há backups de rollback
secrets apply intencionalmente não grava backups de rollback contendo valores antigos em texto simples.
A segurança vem de preflight rigoroso + apply quase atômico com restauração em memória best-effort em caso de falha.
Exemplo
audit --check ainda informar achados de texto simples, atualize os caminhos de alvo restantes informados e execute a auditoria novamente.