Le 7 novembre 2026, la société de sécurité Apiiro a publié une étude sur un réglage courant de Claude Code : répondre « Yes, and don’t ask again » à une demande d’autorisation enregistre la commande telle quelle, secret compris, dans .claude/settings.local.json. Sur GitHub public, 1 122 copies de ce fichier contiennent un secret réel. Nous avons relu la documentation officielle et le fil où Anthropic a répondu : la protection automatique ne joue que dans un cas précis. Cette semaine, si votre agence développe des modules PrestaShop ou des extensions WordPress avec un agent de code, vérifiez vos propres dépôts.
Ce qui a été annoncé
L’étude d’Apiiro, publiée le 7 novembre 2026, porte sur .claude/settings.local.json, le fichier où Claude Code enregistre les autorisations données « une fois pour toutes ». Sa méthode : une recherche de code et d’historique de commits en lecture seule sur les branches par défaut de GitHub, du 1er au 3 novembre 2026, plafonnée à 1 000 résultats par requête et découpée par taille de fichier pour tout couvrir. Elle a recensé 104 185 copies publiques du fichier dans 103 617 dépôts : 1 122 (1,1 %) contiennent un secret réel, pour 1 379 secrets distincts (636 clés de fournisseur, 743 mots de passe ou jetons liés à un hôte public). En ajoutant l’historique Git, le fichier settings.json partagé que les équipes committent volontairement, et des journaux de conversation d’agent, le total grimpe à 2 539 secrets réels dans 1 994 dépôts, touchant 63 organisations.
Le mécanisme est simple : demandez à Claude Code de vérifier une base de données ou d’appeler une API, et la commande proposée transporte le secret lu dans votre fichier de configuration. Si vous répondez « don’t ask again », Claude Code écrit la commande complète, secret inclus, comme règle d’autorisation dans .claude/settings.local.json. Sur 1 105 dépôts tracés, 539 ont vu ce fichier committé par un commit co-signé par Claude lui-même. Les scanners de secrets généralistes ratent une bonne partie des cas : gitleaks n’a détecté que 564 des 1 122 fichiers, TruffleHog 643, et 215 par aucun des deux, car un mot de passe tapé après PGPASSWORD= ou sshpass -p n’a pas la forme d’une clé.
Sur le fil Hacker News qui a suivi, Boris Cherny, qui dirige l’équipe Claude Code chez Anthropic, a confirmé le mécanisme : « .claude/settings.local.json is meant to stay local. […] We automatically gitignore it when Claude creates the file, so in this case the files were manually created and checked in. » Il recommande le mode automatique (« Auto mode »), activé par défaut et inclus gratuitement dans toutes les offres selon ses dires, plutôt que l’approbation manuelle commande par commande, et la détection de secrets de l’hébergeur Git.
Ce que ça change pour une agence qui développe des modules ou des thèmes
Ce qui suit est notre analyse à partir de la documentation officielle.
La nuance que confirme Anthropic est précise, et elle change tout : l’exclusion Git automatique ne protège que le fichier que Claude Code a lui-même créé dans un dépôt Git. La documentation officielle le dit noir sur blanc : « The first time Claude Code writes the file […] it adds **/.claude/settings.local.json to your global git excludes file. […] If you created the file by hand and Claude Code hasn’t written to it yet, add it to .gitignore yourself. » Un dépôt de module PrestaShop ou de plugin WordPress cloné depuis un modèle d’agence, un fichier recopié d’un autre projet, ou un .claude/ ajouté à la main avant la première session, et la protection ne se déclenche jamais.
Pour une agence qui développe des modules PrestaShop et des extensions WordPress pour plusieurs boutiques, le risque est dans les commandes qu’on approuve en cours de travail : connexion à la base de test d’un client, clé d’API de passerelle de paiement en mode bac à sable, commande SSH de déploiement vers l’hébergement d’une boutique. Ce sont exactement les commandes que décrit Apiiro, et celles qu’un développeur de module ou de thème tape couramment face à un agent de code.
Notre test
Nous n’avons pas reproduit la fuite nous-mêmes : cela aurait supposé de publier un secret factice sur un dépôt GitHub public, ou de lancer un agent de code en direct sur un dépôt réel, deux choses que nous nous interdisons. Nous avons vérifié ce que nous pouvions, sans exposer aucune donnée réelle.
| Essai | Ce que nous avons observé |
|---|---|
Lecture de la documentation officielle Claude Code (code.claude.com/docs/en/settings) | Confirme exactement le texte d’Apiiro : l’exclusion Git automatique ne s’applique que si Claude Code crée lui-même le fichier ; un fichier créé à la main doit être ignoré manuellement |
| Vérification, sur notre poste, de la structure réelle d’un fichier de réglages Claude Code | Le fichier existe à l’emplacement documenté et contient bien une clé permissions.allow listant des commandes complètes — le même format que décrit l’étude. Aucune valeur de ce fichier n’est reproduite ici |
| Lecture directe du fil Hacker News (plutôt qu’un résumé de presse) | Confirmation de première main, par Boris Cherny (responsable Claude Code chez Anthropic) : les fichiers exposés avaient été créés à la main, hors du mécanisme de protection automatique |
| Lecture de la méthodologie publiée par Apiiro | Recherche en lecture seule sur les branches par défaut de GitHub, plafonnée et découpée par taille de fichier ; chaque valeur retenue comme « secret réel » passe par des règles de détection puis une revue indépendante, pas une estimation |
| Recherche nous-mêmes de modules PrestaShop ou de plugins WordPress d’agence concernés publiquement | Volontairement non faite : une recherche GitHub ciblée aurait pu nous faire tomber sur un secret réel d’un tiers, que nous n’avions aucune raison de consulter ni de publier |
Que faire cette semaine
- Cherchez le fichier dans vos propres dépôts. Dans chaque dépôt de module ou de thème de votre agence :
git log --all --full-history -- "**/.claude/settings.local.json"et, sur GitHub, une recherche de code limitée à votre organisation pour.claude/settings.local.jsonet.claude/settings.json. - Si vous en trouvez un, ouvrez-le avant toute autre chose. Relisez chaque règle de la liste
permissions.allow: un mot de passe, une clé, une chaîne de connexion s’y cache souvent dans une commande anodine. - En cas de secret réel, faites tourner l’identifiant d’abord, nettoyez ensuite. Supprimer le fichier ne retire rien de l’historique Git, des forks ou des clones existants :
git rm --cached .claude/settings.local.json, ajout à.gitignoredu dépôt lui-même, puis rotation de l’identifiant. - Passez au mode automatique plutôt qu’à l’approbation manuelle commande par commande. La configuration du classificateur permet de l’ajuster à votre usage sans entretenir une liste d’autorisations à la main.
- Activez la détection de secrets de votre hébergeur Git (GitHub en propose une) en vérifiant qu’elle couvre aussi les mots de passe tapés en clair dans une commande, pas seulement les formats de clé connus. Version stable de Claude Code au 8 novembre 2026 : 2.1.319, publiée le 6 novembre.
Pour un développeur de modules
Si vous maintenez un modèle de dépôt pour vos modules ou extensions, ajoutez .claude/settings.local.json à son .gitignore dès sa création, avant la première session d’agent : la protection automatique ne joue que si Claude Code crée le fichier en premier, jamais sur un fichier déjà suivi. Deux habitudes réduisent aussi le risque : référencer un secret par une variable ($DB_PASSWORD) plutôt que de le taper en clair dans la commande approuvée, et autoriser des motifs (Bash(wp eval-file:*)) plutôt que des commandes littérales. Le fichier retient l’un ou l’autre tel quel : un motif générique n’a rien à cacher.
Limites et incertitudes
Nous nous appuyons sur la méthodologie et les chiffres publiés par Apiiro, sans audit indépendant de son pipeline de classification au-delà de ce que la société documente elle-même. L’étude ne précise pas combien, parmi les 1 122 fichiers, appartiennent à des dépôts de modules PrestaShop ou d’extensions WordPress : notre lien avec cette activité est une déduction, pas un chiffre de l’étude. Les 63 organisations citées ne sont nommées que par catégorie ; nous n’avons vérifié aucun cas individuellement. L’argument d’Anthropic sur la sécurité du mode automatique s’appuie sur ses propres tests publiés ; nous n’avons pas trouvé d’audit tiers indépendant à la date du brouillon.
Questions fréquentes
Suis-je concerné si je n’ai jamais cliqué sur « don’t ask again » ?
Peut-être : l’étude distingue ce cas du fichier settings.json partagé, que des équipes committent volontairement, et dont 298 copies contenaient elles aussi un secret réel. Vérifiez les deux fichiers.
Le bac à sable (sandbox) de Claude Code protège-t-il contre cette fuite ?
Non, d’après ce que nous avons lu : ce n’est pas une évasion de bac à sable, c’est un fichier de configuration ordinaire, dont les règles d’autorisation gardent leurs arguments exacts, secret compris.
Un dépôt privé change-t-il la donne ?
L’étude ne porte que sur des dépôts publics. Le même mécanisme s’applique pourtant dès que le dépôt devient public, qu’il est forké par erreur, ou qu’un poste de développeur est compromis par ailleurs : autant vérifier maintenant.
Comment cet article a été produit : faits vérifiés dans les sources primaires listées plus bas ; lecture directe de l’étude Apiiro, de la documentation officielle Claude Code et du fil Hacker News où Anthropic a répondu, et vérification de la structure réelle d’un fichier de réglages Claude Code sur notre poste, réalisées le 8 novembre 2026 (sorties conservées, aucune valeur réelle reproduite). Rédigé avec l’aide de Claude (Anthropic), puis relu et validé par l’équipe Genisoft avant publication.
Sources
- « Coding Agents Are Leaking Your Secrets to GitHub », Apiiro, 7 novembre 2026, consulté le 8 novembre 2026 : https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again
- « Settings files and precedence », documentation Claude Code, consultée le 8 novembre 2026 : https://code.claude.com/docs/en/settings
- « Auto mode configuration », documentation Claude Code, consultée le 8 novembre 2026 : https://code.claude.com/docs/en/auto-mode-config
- Fil Hacker News « Claude Code’s “Don’t Ask Again” exposes passwords in 1,122 public GitHub files », réponses de Boris Cherny, 7 novembre 2026, consulté le 8 novembre 2026 : https://news.ycombinator.com/item?id=50407882
- « v2.1.319 », dépôt anthropics/claude-code, GitHub, 6 novembre 2026, consulté le 8 novembre 2026 : https://github.com/anthropics/claude-code/releases/tag/v2.1.319
Pour aller plus loin :
- Claude Code v2.1.178 : permissions par paramètre, skills imbriqués et sécurité des sous-agents
- Créer un module PrestaShop IA : brouillons et validation
- Sécuriser le back-office PrestaShop : accès, 2FA, journaux
- Sécurité WordPress : lire les attaques dans les logs
- Module MCP : L’IA Claude pour le SEO Prestashop