openclaw secrets
Usa openclaw secrets per gestire SecretRef e mantenere integro lo snapshot di runtime attivo.
Ruoli dei comandi:
reload: RPC del gateway (secrets.reload) che ririsolve i riferimenti e sostituisce lo snapshot di runtime solo in caso di successo completo (nessuna scrittura della configurazione).audit: scansione in sola lettura di archivi di configurazione/autenticazione/modelli generati e residui legacy per testo semplice, riferimenti non risolti e deriva di precedenza (i riferimenti exec vengono saltati a meno che non sia impostato--allow-exec).configure: pianificatore interattivo per configurazione del provider, mappatura della destinazione e preflight (TTY richiesto).apply: esegue un piano salvato (--dry-runsolo per la convalida; il dry-run salta per impostazione predefinita i controlli exec, e la modalità di scrittura rifiuta i piani che contengono exec a meno che non sia impostato--allow-exec), quindi pulisce i residui mirati in testo semplice.
exec, passa --allow-exec sia ai comandi di dry-run sia ai comandi apply in modalità scrittura.
Nota sui codici di uscita per CI/gate:
audit --checkrestituisce1in presenza di risultati.- i riferimenti non risolti restituiscono
2.
- Guida ai segreti: Gestione dei segreti
- Superficie delle credenziali: Superficie delle credenziali SecretRef
- Guida alla sicurezza: Sicurezza
Ricaricare lo snapshot di runtime
Ririsolvi i riferimenti ai segreti e sostituisci in modo atomico lo snapshot di runtime.- Usa il metodo RPC del gateway
secrets.reload. - Se la risoluzione fallisce, il gateway mantiene l’ultimo snapshot valido noto e restituisce un errore (nessuna attivazione parziale).
- La risposta JSON include
warningCount.
--url <url>--token <token>--timeout <ms>--json
Verifica
Scansiona lo stato di OpenClaw per rilevare:- archiviazione di segreti in testo semplice
- riferimenti non risolti
- deriva di precedenza (credenziali in
auth-profiles.jsonche oscurano i riferimenti inopenclaw.json) - residui generati in
agents/*/agent/models.json(valoriapiKeydel provider e intestazioni sensibili del provider) - residui legacy (voci legacy dell’archivio di autenticazione, promemoria OAuth)
- Il rilevamento delle intestazioni sensibili del provider si basa su euristiche dei nomi (nomi e frammenti comuni di intestazioni di autenticazione/credenziali come
authorization,x-api-key,token,secret,passwordecredential).
--checktermina con un codice diverso da zero in presenza di risultati.- i riferimenti non risolti terminano con un codice diverso da zero a priorità più alta.
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- codici dei risultati:
PLAINTEXT_FOUNDREF_UNRESOLVEDREF_SHADOWEDLEGACY_RESIDUE
Configure (helper interattivo)
Crea in modo interattivo modifiche ai provider e a SecretRef, esegue il preflight e facoltativamente applica:- Prima configurazione del provider (
add/edit/removeper gli aliassecrets.providers). - Poi mappatura delle credenziali (seleziona i campi e assegna riferimenti
{source, provider, id}). - Infine preflight e applicazione facoltativa.
--providers-only: configura solosecrets.providers, salta la mappatura delle credenziali.--skip-provider-setup: salta la configurazione del provider e mappa le credenziali ai provider esistenti.--agent <id>: limita il rilevamento delle destinazioni e le scritture inauth-profiles.jsona un solo archivio agente.--allow-exec: consente i controlli exec di SecretRef durante preflight/apply (può eseguire comandi del provider).
- Richiede un TTY interattivo.
- Non è possibile combinare
--providers-onlycon--skip-provider-setup. configureprende di mira i campi che contengono segreti inopenclaw.jsonpiùauth-profiles.jsonper l’ambito agente selezionato.configuresupporta la creazione diretta di nuove mappatureauth-profiles.jsonnel flusso del selettore.- Superficie supportata canonica: Superficie delle credenziali SecretRef.
- Esegue la risoluzione di preflight prima di apply.
- Se preflight/apply include riferimenti exec, mantieni
--allow-execimpostato per entrambi i passaggi. - I piani generati usano per impostazione predefinita le opzioni di pulizia (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJsontutte abilitate). - Il percorso
applyè irreversibile per i valori in testo semplice sottoposti a pulizia. - Senza
--apply, la CLI chiede comunqueApply this plan now?dopo il preflight. - Con
--apply(e senza--yes), la CLI richiede un’ulteriore conferma irreversibile. --jsonstampa il piano + il report di preflight, ma il comando richiede comunque un TTY interattivo.
- Le installazioni Homebrew spesso espongono binari con symlink in
/opt/homebrew/bin/*. - Imposta
allowSymlinkCommand: truesolo quando necessario per percorsi attendibili del gestore di pacchetti e abbinalo atrustedDirs(per esempio["/opt/homebrew"]). - In Windows, se la verifica ACL non è disponibile per un percorso del provider, OpenClaw fallisce in modalità chiusa. Solo per percorsi attendibili, imposta
allowInsecurePath: truesu quel provider per bypassare i controlli di sicurezza del percorso.
Applicare un piano salvato
Applica o esegui il preflight di un piano generato in precedenza:--dry-runconvalida il preflight senza scrivere file.- I controlli exec di SecretRef vengono saltati per impostazione predefinita in dry-run.
- La modalità di scrittura rifiuta i piani che contengono SecretRef/provider exec a meno che non sia impostato
--allow-exec. - Usa
--allow-execper abilitare i controlli/l’esecuzione del provider exec in entrambe le modalità.
apply:
openclaw.json(destinazioni SecretRef + upsert/eliminazione dei provider)auth-profiles.json(pulizia delle destinazioni del provider)- residui legacy in
auth.json - chiavi di segreto note in
~/.openclaw/.envi cui valori sono stati migrati
Perché non esistono backup di rollback
secrets apply intenzionalmente non scrive backup di rollback contenenti i vecchi valori in testo semplice.
La sicurezza deriva da un preflight rigoroso + un apply quasi atomico con ripristino in memoria best-effort in caso di errore.
Esempio
audit --check continua a segnalare risultati di testo semplice, aggiorna i restanti percorsi di destinazione segnalati e riesegui la verifica.