Claude Code : « ne plus demander » a exposé des mots de passe dans 1 122 fichiers publics sur GitHub

Un simple clic sur « Oui, et ne plus demander » dans Claude Code peut laisser des mots de passe et des clés API en clair dans un fichier du projet — et des chercheurs ont trouvé 1 122 copies publiques de ce fichier sur GitHub contenant au moins un secret. La découverte vient de l'entreprise de sécurité Apiiro, dans une étude publiée le 5 novembre 2026 et relayée par The Hacker News le 7 novembre.

Comment un secret finit dans le fichier

Le mécanisme est simple. Par défaut, Claude Code demande confirmation avant d'exécuter la plupart des commandes du terminal. Quand le développeur choisit « Oui, et ne plus demander », l'outil enregistre une règle d'autorisation dans le fichier .claude/settings.local.json, à l'intérieur du projet. Si la règle porte sur une commande exacte — et non sur un motif générique —, tout mot de passe ou jeton tapé dans cette commande est enregistré avec elle, mot pour mot, en clair.

Ce qu'Apiiro a trouvé

Apiiro a passé GitHub public au crible et a trouvé 104 185 copies de ce fichier dans 103 617 dépôts. Environ 1,1 % d'entre elles — 1 122 fichiers — contenaient au moins un secret, soit 1 379 identifiants distincts : 379 mots de passe de bases de données, 43 identifiants SSH pour des serveurs publics, 42 jetons GitHub, GitLab et npm et 23 clés AWS. Ces fichiers appartiennent à 63 organisations, pour la plupart des entreprises de logiciels de toutes tailles. Parmi les cas les plus graves figurent la clé cloud de niveau administrateur du fournisseur d'une base de données et le mot de passe du propriétaire d'une base de données de dossiers médicaux. L'une des entreprises averties a confirmé que sa clé divulguée était toujours active.

Le problème ne se limite pas aux copies actuelles du fichier. Dans l'historique Git, les chercheurs ont trouvé 734 autres secrets dans 509 dépôts, et 211 forks de 74 dépôts portent les mêmes secrets que les originaux. En comptant aussi le fichier partagé .claude/settings.json et les transcriptions de conversations d'agents enregistrées dans des dépôts, le total atteint 2 539 secrets dans 1 994 dépôts. Dans la moitié des dépôts concernés, le fichier était public depuis au moins 217 jours.

Claude Code essaie de tenir le fichier hors de Git : la première fois qu'il l'écrit dans un dépôt, il l'ajoute aux exclusions globales Git de l'utilisateur. Mais cette protection reste dans les réglages de cet ordinateur et ne voyage pas avec le projet, car le fichier n'est jamais ajouté au .gitignore du dépôt lui-même. Dans 539 des 1 105 dépôts suivis, un commit listant Claude comme co-auteur avait modifié le fichier — signe que l'agent lui-même le valide souvent.

Pourquoi les scanners passent à côté

Les scanners de secrets les plus courants ne règlent pas non plus le problème à eux seuls : gitleaks a signalé 564 des 1 122 fichiers et TruffleHog, 643 — mais 215 n'ont été détectés par aucun des deux, généralement parce que le mot de passe était tapé au milieu d'une commande, comme après PGPASSWORD=, sshpass -p ou mysql -p. Sur 16 agents de programmation dont Apiiro a comparé la documentation, Claude Code est le seul confirmé à enregistrer par défaut la commande approuvée complète dans un fichier du projet.

Que faire maintenant

La recommandation des chercheurs est de faire tourner les identifiants avant tout nettoyage : cherchez dans votre organisation .claude/settings.local.json et .claude/settings.json, y compris dans l'historique Git ; changez tous les mots de passe, jetons et clés que ces fichiers ont pu contenir ; arrêtez de suivre le fichier avec git rm --cached et ajoutez-le au .gitignore du dépôt ; et référencez les secrets via des variables d'environnement, comme $DB_URL, au lieu de les taper dans les commandes. Approuver des motifs, comme Bash(npm run:*), plutôt que des commandes uniques, réduit aussi le risque.

Un problème connu depuis 2025

Le comportement était déjà connu : des utilisateurs le signalent sur le GitHub de Claude Code depuis août 2025, et le premier signalement, du 11 août 2025, indiquait que les commandes approuvées contenant des clés API étaient stockées intégralement dans le fichier. Selon Apiiro, les quatre signalements liés ont été fermés automatiquement par un robot pour inactivité — le plus récent le 6 novembre — sans réponse d'Anthropic au moment de la publication. Apiiro précise qu'il n'a pas testé si les identifiants trouvés fonctionnent encore.

À lire aussi sur Geekiki : Le plugin Xcode d’Apple arrive dans Claude Code.

Crédit image : The Hacker News.

Sources :

Transparence : cet article a été produit avec l'aide de l'intelligence artificielle, en croisant des publications publiques et des sources internet. Consultez toujours les sources originales citées.

Muse