Le bouton « Ne plus demander » de Claude Code a un problème de divulgation de secrets

Lucas Morel

if ( !emtpy($headline_subheadline ) ) : ?>

Plus de 30 000 secrets distincts ont été trouvés dans les fichiers de paramètres locaux de Claude Code sur GitHub public, dont des milliers sont toujours valides une fois détectés.

endif; ?>

Un fichier de configuration destiné à stocker les autorisations de commandes locales sur Claude Code d’Anthropic expose des milliers de clés API, d’informations d’identification de base de données et d’autres secrets, selon les découvertes de GitGuardian.

La société de sécurité des codes a identifié 31 088 secrets distincts dans les fichiers « .claude/settings.local.json » de Claude Code dans 23 276 référentiels GitHub publics. Parmi ceux-ci, 5 343 étaient encore valides lorsque GitGuardian les a détectés. Les informations d’identification exposées incluent les chaînes de connexion à la base de données, les jetons du fournisseur cloud, les mots de passe SSH, les clés API Google et les informations d’identification du service AU.

« Les fuites mensuelles dans settings.local.json ont culminé à 12 535 occurrences en avril 2026, puis sont tombées à 959 en octobre, et nous ne savons pas encore ce qui a changé », a déclaré Guillaume Valadon, chercheur chez GitGuardian, dans un article de blog.

Outre les référentiels de code source, l’exposition comprenait des secrets intégrés dans des images Docker Hub accessibles au public. Le problème, a expliqué Valadon, réside dans la manière dont Claude Code gère les approbations des commandes.

Les approbations de commandement se transforment en stockage d’identifiants

Claude Code demande l’autorisation aux développeurs avant d’exécuter certaines commandes shell. Lorsqu’un développeur sélectionne l’option « Oui, et ne demande plus », l’outil enregistre une règle d’autorisation dans .claude/settings.local.json, un fichier de configuration au niveau du projet.

Le problème est que la règle enregistrée contient la chaîne de commande réelle, y compris toutes les informations d’identification qui y sont intégrées.

Par exemple, un développeur demandant à Claude Code d’interagir avec une API pourrait approuver une commande curl contenant une clé API dans son en-tête HTTP. Claude Code stocke ensuite l’intégralité de cette commande en tant que règle approuvée, laissant les informations d’identification dans le fichier de configuration.

Bien que Claude Code ajoute automatiquement le fichier à ses paramètres d’ignorance Git locaux, cette protection ne s’applique pas nécessairement à d’autres machines ou référentiels, a déclaré Valadon. Les développeurs peuvent accidentellement valider le fichier, en particulier lorsqu’ils travaillent sur différents clones ou lorsque le fichier a déjà été suivi.

Git Guardian a découvert que 67 % des occurrences dans settings.local.json pour lesquelles il a pu établir la validité étaient des informations d’identification fonctionnelles. Les identifiants de bases de données représentaient la plus grande catégorie de secrets valides, avec 2 280 informations d’identification distinctes, suivis des jetons de fournisseur de cloud et des jetons d’IA.

Contrairement à Git, Docker ne respecte pas automatiquement le fichier .gitignore du référentiel. Par conséquent, un fichier de configuration Claude Code exclu du contrôle de version peut toujours être copié dans une image de conteneur à moins que les développeurs ne l’excluent explicitement via .dockerignore.

Un jeton API Cloudflare valide est apparu sur 559 balises d’image, tandis qu’un mot de passe de base de données est apparu dans 643 balises sur sept référentiels d’images.

La suppression du fichier incriminé du référentiel GitHub n’aide pas les informations d’identification déjà distribuées via les images publiées. Les développeurs doivent alterner les informations d’identification exposées, supprimer les fichiers de configuration sensibles des contextes de construction Git et Docker et vérifier les images précédemment publiées pour détecter les secrets persistants.

GitGuardian recommande de traiter les fichiers de configuration de l’assistant de codage AI comme des actifs potentiels porteurs de secrets, de les analyser avec les fichiers d’environnement conventionnels et d’utiliser des variables d’environnement plutôt que de coder en dur les informations d’identification dans les commandes.

Intelligence artificielleVulnérabilitésSécurité