L'ESSENTIEL EN 30 SECONDES

  • Quand l'utilisateur choisit « Yes, and don't ask again », Claude Code enregistre la commande approuvée comme règle allow dans .claude/settings.local.json, secrets inclus.
  • Apiiro relève des secrets réels dans 1 122 des 104 185 copies publiques de ce fichier, et 2 539 secrets dans 1 994 dépôts en comptant l'historique, le fichier partagé et les journaux de conversation.
  • Gitleaks et TruffleHog ont tous deux manqué 215 des 1 122 fichiers ; Anthropic n'a pas réagi, selon MadRobot.

Selon une étude d'Apiiro, spécialiste de la sécurité applicative, une fonction de confort de Claude Code, l'outil de programmation d'Anthropic, peut exposer des identifiants sur GitHub. Les résultats, issus d'un instantané du 2 novembre et publiés le 5, ont été détaillés par le site MadRobot.

Le mécanisme de la fuite

Lorsque Claude Code demande l'autorisation d'exécuter une commande shell, l'utilisateur peut répondre « Yes, and don't ask again ». La documentation de Claude Code confirme que ce choix inscrit l'approbation sous forme de règle allow dans le fichier .claude/settings.local.json du projet. Le problème soulevé par Apiiro : la règle reprend la commande complète, si bien qu'un mot de passe de base de données ou un jeton d'API passé en ligne de commande y est stocké en clair.

D'après la documentation, Claude Code ajoute ce fichier aux exclusions git globales de l'utilisateur la première fois qu'il l'écrit. Apiiro estime que cette protection a des failles : elle ne couvre ni un dossier qui devient un dépôt plus tard, ni un clone sur une autre machine, ni un fichier déjà commité, et la règle n'est jamais ajoutée au .gitignore du projet.

Ce qu'Apiiro a trouvé

Selon le compte rendu de MadRobot, Apiiro a examiné 104 185 copies publiques du fichier et y a trouvé ce qu'elle appelle des secrets réels dans 1 122 d'entre elles, concernant 63 organisations. En ajoutant les anciennes versions, le fichier partagé .claude/settings.json et les journaux de conversation des agents, le total atteint 2 539 secrets dans 1 994 dépôts. Gitleaks a signalé 564 des 1 122 fichiers, TruffleHog 643, et 215 ont échappé aux deux, souvent des mots de passe saisis après mysql -p ou équivalent. Sur 16 agents de code comparés, Claude Code est le seul dont il est confirmé qu'il enregistre par défaut la commande approuvée en entier dans un fichier du projet.

Apiiro, qui vend des produits de sécurité, n'a pas testé les identifiants : « réel » signifie que la valeur correspond à un format de clé ou vise un hôte public.

Réaction et mesures conseillées

MadRobot indique qu'Anthropic n'a pas commenté. Apiiro cite quatre signalements d'utilisateurs sur le GitHub de Claude Code depuis août 2025, sans réponse d'Anthropic. Lakera avait déjà recensé 428 paquets npm contenant ce même fichier, avec des identifiants dans 33 fichiers répartis sur 30 paquets.

Apiiro recommande de rechercher les deux fichiers de configuration dans ses organisations, historique git compris ; de changer tout secret qu'ils ont contenu, car la suppression ne nettoie ni les forks ni les clones ; de retirer le fichier du suivi et de l'ajouter au .gitignore ; et d'approuver des motifs qui font appel à des variables d'environnement plutôt que des commandes littérales.