veilletech.fr
10 nov. Feed du jour
#02 SÉCURITÉ Faille

Claude Code : « ne plus demander » écrit vos secrets

Le clic le plus pratique est celui qui publie votre mot de passe.

Apiiro a trouvé de vrais secrets dans plus de 1 100 dépôts publics sur plus de 100 000 copies du fichier .claude/settings.local.json. La cause est une fonction documentée : choisir « Oui, ne plus demander » enregistre la commande, identifiants compris, dans ce fichier. Le fichier est censé rester local, mais son exclusion de Git saute dans plusieurs cas courants.

3 min de lectureintermédiairevidéo 1:14
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Où en est Anthropic
  4. Comment s'y prendre
  5. À retenir

Ce qui se passe

La société de sécurité Apiiro a passé en revue plus de 100 000 copies publiques du fichier de réglages local de Claude Code, .claude/settings.local.json. Plus de 1 100 contenaient de vrais secrets : 1 105 dépôts, précisément. En élargissant la recherche, elle compte 2 539 secrets réels dans 1 994 dépôts publics — mots de passe de bases de données, clés cloud, jetons d'API, accès SSH root — et 1 160 autres dans l'historique Git, dans le settings.json que des équipes partagent exprès, et dans des transcriptions de conversations d'agent laissées dans les dépôts.

Le mécanisme

Quand Claude Code veut lancer une commande qui touche une base ou une API, il demande la permission. L'une des réponses proposées est « Oui, ne plus demander » (« Yes, and don't ask again »). La commande exécutée contient les identifiants : en la validant ainsi, on les copie tels quels dans .claude/settings.local.json, à la racine du projet. La fonction est documentée dans les pages de permissions de Claude Code ; personne n'a rien piraté.

Ce fichier est prévu pour rester sur votre machine : quand Claude Code le crée dans un dépôt Git, il l'ajoute à la liste d'exclusion globale de Git. Cette protection ne joue pas dans trois cas :

La règle n'est alors pas dans le .gitignore du dépôt, et le fichier part avec le reste. Claude Code semble même l'avoir poussé lui-même dans bien des cas : dans 539 des 1 105 dépôts, un commit où Claude figure comme coauteur a modifié le fichier.

Où en est Anthropic

Samedi 7 novembre, Boris Cherny, responsable de Claude Code, a dit sur Hacker News que l'équipe cherche comment empêcher cela. Deux pistes sont en prototype : un mode automatique qui intercepte ces cas, et un scan de secrets intégré. Rien n'est livré à ce jour.

Comment s'y prendre

Dans chaque dépôt, regardez si le fichier est suivi ou l'a déjà été :

Terminal
git ls-files | grep -E '\.claude/settings(\.local)?\.json$'
git log --all --oneline -- .claude/settings.local.json .claude/settings.json
  1. Faites la même recherche sur toute votre organisation GitHub, pour .claude/settings.local.json et .claude/settings.json.
  2. Si vous y trouvez un identifiant, changez-le d'abord, nettoyez ensuite : réécrire l'historique ne rappelle pas un secret déjà public.
  3. Ajoutez .claude/settings.local.json au .gitignore du dépôt lui-même, sans compter sur la règle globale.
  4. Avant de répondre « ne plus demander », regardez ce que la commande contient. Si un secret y figure en clair, passez-le par une variable d'environnement.

Source : heise Developer, en allemand, qui s'appuie sur le billet d'Apiiro et sur la documentation des permissions de Claude Code. Le fait se recoupe dans ces deux sources.