Op 7 november 2026 meldde The Hacker News dat beveiligingsbedrijf Apiiro in 104.185 openbare GitHub-kopieën van Claude Codes bestand .claude/settings.local.json 1.122 bestanden met minstens één geheim had aangetroffen. In die bestanden telde Apiiro 1.379 geheimen. De gemelde oorzaak: een letterlijk wachtwoord of token kan in het instellingenbestand terechtkomen wanneer iemand een exact commando blijvend goedkeurt.

Apiiro testte niet of de meeste gevonden inloggegevens nog geldig waren. Volgens The Hacker News bevestigde één benaderd bedrijf dat zijn sleutel actief was.

Gebruik nooit een letterlijk geheim in een commando dat je blijvend goedkeurt. Als een inloggegeven in een repository belandt, vervang het dan voordat je bestanden gaat opschonen.

Hoe een goedgekeurd commando een geheim kan opslaan

Wie bij een toestemmingsvraag kiest voor “Yes, and don’t ask again”, kan een regel opslaan waarmee Claude Code een commando later opnieuw mag uitvoeren. Als die regel een exact commando bevat met daarin een letterlijk wachtwoord of token, kan dat geheim in platte tekst worden opgeslagen in .claude/settings.local.json. Een patroonregel is iets anders: daarin hoeft geen letterlijk geheim te staan.

Claude Code voegt het bestand volgens de berichtgeving toe aan de globale Git-uitsluitingen van de gebruiker wanneer het in een Git-repository wordt aangemaakt. Die instelling geldt op die computer en verhuist niet mee met de repository. Een bestand dat al is vastgelegd in Git, blijft bovendien in de repositorygeschiedenis staan en kan ook in forks voorkomen.

De twee tellingen bestrijken verschillende verzamelingen

Apiiro meldde 1.379 geheimen in openbare kopieën van het huidige .claude/settings.local.json. Het bredere totaal van 2.539 geheimen in 1.994 repositories omvatte ook oudere versies, gedeelde .claude/settings.json-bestanden en opgeslagen chatlogs van agents.

VerzamelingWat is meegeteldGemeld totaal
Huidige lokale instellingen104.185 openbare kopieën in 103.617 repositories; 1.122 kopieën bevatten geheimen1.379 geheimen
Brede verzamelingOok oudere versies, gedeelde instellingen en opgeslagen agentchatlogs2.539 geheimen in 1.994 repositories

Tot de gemelde typen behoorden 379 databasewachtwoorden, 43 SSH-logins voor publieke servers, 42 tokens voor GitHub, GitLab en npm samen, en 23 AWS-sleutels. Dat zijn categorieën binnen de gevonden geheimen, geen aanvullende totalen.

Oude versies kunnen geheimen bewaren

Een bestand uit de huidige projectmap verwijderen haalt het niet vanzelf uit eerdere Git-versies of forks. Apiiro rapporteerde 734 geheimen in oudere versies van bestanden in 509 repositories. Ook vond het bedrijf dezelfde geheimen in 211 forks van 74 repositories.

Apiiro liet de 1.122 bestanden met geheimen scannen met gitleaks en TruffleHog, zonder de verificatiestap van die hulpprogramma’s. De uitkomsten waren:

ScanresultaatBestanden van de 1.122Voorwaarde
Gemarkeerd door gitleaks564Scan zonder verificatiestap
Gemarkeerd door TruffleHog643Scan zonder verificatiestap
Door geen van beide gemarkeerd215Beide scans zonder verificatiestap

Een scan kan dus helpen bij het opsporen van geheimen, maar de gerapporteerde aantallen laten ook zien dat deze twee controles niet elk bestand markeerden. Wachtwoorden die letterlijk in een commando staan, kunnen bovendien buiten herkenbare sleutelpatronen vallen.

Wat je doet als een geheim in een repository staat

Apiiro adviseerde om eerst de huidige bestanden en de Git-geschiedenis te doorzoeken. Vind je een betrokken wachtwoord of token, vervang of roteer het dan vóór je de repository opschoont. Alleen het bestand uit de huidige map verwijderen is niet genoeg.

Daarna kun je het bestand uit de Git-tracking halen en in de .gitignore van de repository opnemen. Verwijder ook lokale toestemmingsregels met letterlijke geheimen. Gebruik voor volgende opdrachten variabelen uit een geheimenbeheerder in plaats van geheime waarden rechtstreeks in de opdracht te zetten, en geef waar mogelijk toestemming voor een patroon in plaats van één volledig uitgeschreven commando.

Leesrechten zijn een aparte beveiligingsmaatregel

Een deelnemer aan een Claude Code-communitydiscussie citeerde documentatie waarin Read-denyregels worden genoemd om gevoelige bestandspaden af te schermen. Volgens dezelfde bijdrage heeft .claudeignore geen invloed op toegang via bestandstools. Zulke leesbeperkingen regelen toegang tot bestanden; ze verwijderen geen geheimen die al in een goedgekeurd commando of in Git-versies zijn opgeslagen.