
Des secrets qui ne touchent jamais un fichier : les mots de passe des scripts et des agents
Les scripts et les agents ont besoin de secrets : un mot de passe de base de données, un jeton d'API, le mot de passe administrateur d'un service. La solution facile, un fichier .env ou une variable tapée dans une commande, les répand partout : sauvegardes, historique du shell, liste des processus, captures d'écran, contexte d'un agent IA. Nous appliquons une seule règle à la place.
1. Deux sortes de secrets, deux endroits
- Les mots de passe de connexion d'une personne vivent dans votre gestionnaire de mots de passe (Homelab 3). Ils y naissent, jamais dans un script.
- Les secrets des machines (rôles de base de données, jetons d'API, clés de chiffrement) vivent dans un gestionnaire de secrets fait pour les programmes, comme Infisical, auto-hébergé.
2. Lire par un tuyau
Les deux ont un client en ligne de commande. Déverrouillez une fois par session (vous tapez vous-même la phrase maître, dans un terminal que le script ne lit pas), puis passez le secret directement au programme :
bw unlock # vous, une fois : il rend une clé de session
bw get password "admin base de données" | outil-admin --password-stdin
Le secret n'existe que dans le tuyau entre les deux programmes. Il n'est pas écrit sur le disque, il n'est pas dans la ligne de commande (que ps montre à chaque utilisateur), et il n'est pas à l'écran.
3. Avec un agent IA
Un agent peut lancer le tuyau sans jamais voir la valeur : il demande un secret par son nom et le passe au programme. Ne laissez jamais un agent lire un fichier de secrets, afficher une valeur pour la vérifier, ou déverrouiller le coffre : le déverrouillage, c'est vous. Une règle qu'un agent peut enfreindre par erreur doit être imposée par un contrôle de ses commandes, pas seulement écrite dans ses instructions.
Pièges que nous avons payés
Ranger avant d'appliquer. Quand vous créez ou changez un secret, écrivez-le d'abord au coffre, puis appliquez-le au service. Si l'écriture au coffre échoue, rien n'a changé ; dans l'autre sens, un échec vous enferme dehors.
Copiez un secret, ne le déplacez jamais. Quand vous transférez un secret vers un nouvel endroit, l'ancien reste là où son programme le lit, jusqu'à ce que ce programme ait prouvé qu'il démarre sans lui.
Après avoir reconnecté un client de gestionnaire de mots de passe, synchronisez-le avant de lire : une copie locale toute neuve peut ne pas encore connaître vos dossiers et répondre « introuvable » pour une fiche qui existe.
Utile ? Dites-nous ce qu'il faut mesurer ensuite.