CLI commands
Secrets
openclaw secrets
Utilisez openclaw secrets pour gérer les SecretRef et maintenir un instantané d’exécution actif sain.
Rôles des commandes :
reload: RPC Gateway (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 magasins de configuration/authentification/modèles générés et des résidus hérités pour détecter le texte brut, les références non résolues et la dérive de précédence (les références exec sont ignorées sauf si--allow-execest défini).configure: planificateur interactif pour la configuration de fournisseur, le mappage de cibles et la prévalidation (TTY requis).apply: exécute un plan enregistré (--dry-runpour validation uniquement ; le mode dry-run ignore par défaut les vérifications exec, et le mode écriture rejette les plans contenant exec sauf si--allow-execest défini), puis nettoie les résidus de texte brut ciblés.
Boucle opérateur recommandée :
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets audit --check
openclaw secrets reload
Si votre plan inclut des SecretRef/fournisseurs exec, passez --allow-exec sur les commandes apply en dry-run et en écriture.
Remarque sur les codes de sortie pour CI/barrières :
audit --checkrenvoie1en présence de résultats.- les références non résolues renvoient
2.
Liens associés :
- 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 atomiquement l’instantané d’exécution.
openclaw secrets reload
openclaw secrets reload --json
openclaw secrets reload --url ws://127.0.0.1:18789 --token <token>
Remarques :
- Utilise la méthode RPC Gateway
secrets.reload. - Si la résolution échoue, la Gateway conserve le dernier instantané valide connu et renvoie une erreur (aucune activation partielle).
- La réponse JSON inclut
warningCount.
Options :
--url <url>--token <token>--timeout <ms>--json
Audit
Analyser l’état OpenClaw pour détecter :
- le stockage de secrets en texte brut
- les références non résolues
- la dérive de précédence (les identifiants dans
auth-profiles.jsonmasquent les références deopenclaw.json) - les résidus générés dans
agents/*/agent/models.json(valeursapiKeyde fournisseur et en-têtes sensibles de fournisseur) - les résidus hérités (entrées de magasin d’authentification hérité, rappels OAuth)
Remarque sur les résidus d’en-tête :
- La détection d’en-têtes sensibles de fournisseur est heuristique et fondée sur le nom (noms/fragments d’en-tête d’authentification ou d’identifiants courants tels que
authorization,x-api-key,token,secret,passwordetcredential).
openclaw secrets audit
openclaw secrets audit --check
openclaw secrets audit --json
openclaw secrets audit --allow-exec
Comportement de sortie :
--checkse termine avec un code non nul en présence de résultats.- les références non résolues se terminent avec un code non nul de priorité supérieure.
Éléments marquants de la forme du rapport :
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- codes de résultat :
PLAINTEXT_FOUNDREF_UNRESOLVEDREF_SHADOWEDLEGACY_RESIDUE
Configure (assistant interactif)
Construisez interactivement les modifications de fournisseur et de SecretRef, exécutez la prévalidation et appliquez éventuellement :
openclaw secrets configure
openclaw secrets configure --plan-out /tmp/openclaw-secrets-plan.json
openclaw secrets configure --apply --yes
openclaw secrets configure --providers-only
openclaw secrets configure --skip-provider-setup
openclaw secrets configure --agent ops
openclaw secrets configure --json
Flux :
- Configuration du fournisseur d’abord (
add/edit/removepour les aliassecrets.providers). - Mappage des identifiants ensuite (sélection des champs et attribution des références
{source, provider, id}). - Prévalidation et application facultative en dernier.
Indicateurs :
--providers-only: configure uniquementsecrets.providers, ignore le mappage des identifiants.--skip-provider-setup: ignore la configuration du fournisseur et mappe les identifiants vers des fournisseurs existants.--agent <id>: limite la découverte des cibles et les écritures dansauth-profiles.jsonà un seul magasin d’agent.--allow-exec: autorise les vérifications de SecretRef exec pendant la prévalidation/l’application (peut exécuter des commandes de fournisseur).
Remarques :
- 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 le périmètre d’agent sélectionné.configureprend en charge la création directe de nouveaux mappagesauth-profiles.jsondans le flux de sélection.- Surface prise en charge canonique : Surface des identifiants SecretRef.
- Il effectue une résolution de prévalidation avant l’application.
- Si la prévalidation/l’application inclut des références exec, laissez
--allow-execdéfini pour les deux étapes. - Les plans générés activent par défaut les options de nettoyage (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJsontous activés). - Le chemin d’application est à sens unique pour les valeurs de texte brut nettoyées.
- Sans
--apply, la CLI demande quand mêmeApply this plan now?après la prévalidation. - Avec
--apply(et sans--yes), la CLI demande une confirmation supplémentaire irréversible. --jsonaffiche le plan + le rapport de prévalidation, mais la commande nécessite toujours un TTY interactif.
Remarque de sécurité sur les fournisseurs exec :
- Les installations Homebrew exposent souvent des binaires liés symboliquement sous
/opt/homebrew/bin/*. - Définissez
allowSymlinkCommand: trueuniquement si nécessaire pour des chemins fiables de gestionnaire de paquets, 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 de manière stricte. Pour des chemins de confiance uniquement, définissez
allowInsecurePath: truesur ce fournisseur afin de contourner les vérifications de sécurité de chemin.
Appliquer un plan enregistré
Appliquer ou prévalider un plan généré précédemment :
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --json
Comportement exec :
--dry-runvalide la prévalidation sans écrire de fichiers.- les vérifications de SecretRef exec sont ignorées par défaut en dry-run.
- le mode écriture rejette les plans qui contiennent des SecretRef/fournisseurs exec sauf si
--allow-execest défini. - Utilisez
--allow-execpour activer explicitement les vérifications/exécutions de fournisseur exec dans l’un ou l’autre mode.
Détails du contrat de plan (chemins cibles autorisés, règles de validation et sémantique d’échec) :
Ce que apply peut mettre à jour :
openclaw.json(cibles SecretRef + upserts/suppressions de fournisseur)auth-profiles.json(nettoyage des cibles de fournisseur)- résidus hérités de
auth.json ~/.openclaw/.envpour les clés secrètes connues dont les valeurs ont été migrées
Pourquoi pas de sauvegardes de retour arrière
secrets apply n’écrit volontairement pas de sauvegardes de retour arrière contenant d’anciennes valeurs en texte brut.
La sécurité repose sur une prévalidation stricte + une application quasi atomique avec restauration mémoire au mieux en cas d’échec.
Exemple
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets audit --check
Si audit --check signale encore des résultats de texte brut, mettez à jour les chemins cibles restants signalés puis relancez l’audit.