openclaw secrets
Utilisez openclaw secrets pour gérer les SecretRefs et maintenir en bon état l’instantané d’exécution actif.
Rôles des commandes :
reload: RPC de passerelle (secrets.reload) qui résout à nouveau les références et remplace l’instantané d’exécution uniquement en cas de succès complet (aucune écriture de configuration).audit: analyse en lecture seule des stockages configuration/auth/modèles générés et des résidus historiques pour détecter le texte brut, les références non résolues et les dérives de priorité (les références exec sont ignorées sauf si--allow-execest défini).configure: planificateur interactif pour la configuration du fournisseur, le mappage des cibles et le preflight (TTY requis).apply: exécuter un plan enregistré (--dry-runpour validation uniquement ; le dry-run ignore les vérifications exec par défaut, et le mode écriture rejette les plans contenant exec sauf si--allow-execest défini), puis nettoyer les résidus en texte brut ciblés.
exec, passez --allow-exec à la fois sur les commandes d’application dry-run et en écriture.
Remarque sur les codes de sortie pour CI/gates :
audit --checkrenvoie1en cas de détections.- les références non résolues renvoient
2.
- Guide des secrets : Gestion des secrets
- Surface des identifiants : Surface des identifiants SecretRef
- Guide de sécurité : Sécurité
Recharger l’instantané d’exécution
Résoudre à nouveau les références de secret et remplacer l’instantané d’exécution de manière atomique.- Utilise la méthode RPC de passerelle
secrets.reload. - Si la résolution échoue, la passerelle conserve le dernier instantané valide connu et renvoie une erreur (aucune activation partielle).
- La réponse JSON inclut
warningCount.
--url <url>--token <token>--timeout <ms>--json
Audit
Analyser l’état d’OpenClaw pour détecter :- le stockage de secrets en texte brut
- les références non résolues
- la dérive de priorité (identifiants
auth-profiles.jsonmasquant des référencesopenclaw.json) - les résidus générés
agents/*/agent/models.json(valeursapiKeydes fournisseurs et en-têtes sensibles des fournisseurs) - les résidus historiques (entrées historiques du magasin d’auth, rappels OAuth)
- La détection des en-têtes sensibles des fournisseurs est basée sur des heuristiques de nommage (noms et fragments courants d’en-têtes d’auth/identifiants tels que
authorization,x-api-key,token,secret,passwordetcredential).
--checkquitte avec un code non nul en cas de détections.- les références non résolues quittent avec un code non nul de priorité supérieure.
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- codes de détection :
PLAINTEXT_FOUNDREF_UNRESOLVEDREF_SHADOWEDLEGACY_RESIDUE
Configure (assistant interactif)
Construire interactivement les modifications de fournisseur et de SecretRef, exécuter le preflight et éventuellement appliquer :- Configuration du fournisseur d’abord (
add/edit/removepour les aliassecrets.providers). - Mappage des identifiants ensuite (sélection des champs et attribution de références
{source, provider, id}). - Preflight et application facultative en dernier.
--providers-only: configurer uniquementsecrets.providers, ignorer le mappage des identifiants.--skip-provider-setup: ignorer la configuration du fournisseur et mapper les identifiants vers des fournisseurs existants.--agent <id>: limiter la découverte des cibles et les écritures dansauth-profiles.jsonà un seul magasin d’agent.--allow-exec: autoriser les vérifications exec SecretRef pendant le preflight/l’application (peut exécuter des commandes fournisseur).
- Nécessite un TTY interactif.
- Vous ne pouvez pas combiner
--providers-onlyavec--skip-provider-setup. configurecible les champs contenant des secrets dansopenclaw.jsonainsi queauth-profiles.jsonpour la portée d’agent sélectionnée.configureprend en charge la création directe de nouveaux mappagesauth-profiles.jsondans le flux de sélection.- Surface canonique prise en charge : Surface des identifiants SecretRef.
- Il effectue une résolution preflight avant l’application.
- Si le preflight/l’application inclut des références exec, gardez
--allow-execactivé pour les deux étapes. - Les plans générés utilisent par défaut des options de nettoyage (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJsontous activés). - Le chemin d’application est à sens unique pour les valeurs en texte brut nettoyées.
- Sans
--apply, la CLI demande quand mêmeApply this plan now?après le preflight. - Avec
--apply(et sans--yes), la CLI demande une confirmation supplémentaire irréversible. --jsonaffiche le plan + le rapport preflight, mais la commande nécessite toujours un TTY interactif.
- Les installations Homebrew exposent souvent des binaires liés symboliquement sous
/opt/homebrew/bin/*. - Définissez
allowSymlinkCommand: trueuniquement si nécessaire pour des chemins de gestionnaire de paquets de confiance, et associez-le àtrustedDirs(par exemple["/opt/homebrew"]). - Sous Windows, si la vérification ACL n’est pas disponible pour un chemin de fournisseur, OpenClaw échoue en mode fermé. Pour les chemins de confiance uniquement, définissez
allowInsecurePath: truesur ce fournisseur pour contourner les vérifications de sécurité de chemin.
Appliquer un plan enregistré
Appliquer ou exécuter le preflight d’un plan généré précédemment :--dry-runvalide le preflight sans écrire de fichiers.- Les vérifications exec SecretRef sont ignorées par défaut en dry-run.
- Le mode écriture rejette les plans qui contiennent des SecretRefs/fournisseurs exec sauf si
--allow-execest défini. - Utilisez
--allow-execpour autoriser explicitement les vérifications/exécutions de fournisseur exec dans l’un ou l’autre mode.
apply peut mettre à jour :
openclaw.json(cibles SecretRef + upserts/suppressions de fournisseurs)auth-profiles.json(nettoyage des cibles de fournisseur)- résidus historiques
auth.json - clés secrètes connues dans
~/.openclaw/.envdont les valeurs ont été migrées
Pourquoi il n’y a pas de sauvegardes de restauration
secrets apply n’écrit intentionnellement pas de sauvegardes de restauration contenant d’anciennes valeurs en texte brut.
La sécurité provient d’un preflight strict + d’une application quasi atomique avec restauration en mémoire best-effort en cas d’échec.
Exemple
audit --check signale toujours des détections de texte brut, mettez à jour les chemins cibles restants signalés puis relancez l’audit.