Claude Code zette 2.539 wachtwoorden en sleutels op GitHub
Wie in Claude Code een terminalcommando goedkeurt met “Yes, and don’t ask again”, slaat dat commando letterlijk op. Staat er een wachtwoord of API-sleutel in, dan gaat die mee. Beveiligingsbedrijf Apiiro vond zo 2.539 verschillende geheimen in 1.994 openbare repositories op GitHub, schrijven onderzoekers Shmulik Cohen en Matan Giladi in een blog van 5 november.
Hoe het lek ontstaat
Claude Code vraagt toestemming voordat het een shellcommando uitvoert. Kies je ervoor om dat niet meer te vragen, dan zet de tool het volledige commando als zogeheten allow-regel in het bestand .claude/settings.local.json in de projectmap. Typte je bijvoorbeeld PGPASSWORD=... of sshpass -p met een wachtwoord erachter, dan staat dat wachtwoord daarna in platte tekst in dat bestand.
Anthropic schrijft in zijn documentatie dat Claude Code het bestand de eerste keer dat het wordt aangemaakt in een Git-repository uitsluit via het globale Git-excludebestand van de ontwikkelaar. Volgens iTWire werkt die bescherming alleen op die ene computer. Ze reist niet mee met het project en helpt niet bij bestanden die Git al volgt. Het probleem is ook niet nieuw: in augustus 2025 meldde iemand het gedrag al in een GitHub-issue (#5544), dat in januari 2026 automatisch werd gesloten wegens inactiviteit.

Wat Apiiro vond
Tussen 1 en 3 november verzamelde Apiiro 104.185 openbare kopieën van het instellingenbestand. In 1.122 daarvan stonden echte geheimen, samen 1.379 unieke waarden. Telden de onderzoekers ook oude commits, gedeelde instellingen en opgeslagen agentgesprekken mee, dan kwamen ze uit op 2.539. Het gaat volgens Cybersecurity News onder meer om 379 databasewachtwoorden, 122 Supabase-sleutels met volledige rechten, een productietoken van Square, 43 SSH-logins (soms met rootwachtwoord) en het eigenaarswachtwoord van een database met medische dossiers.
Gangbare scanners vingen lang niet alles. Gitleaks markeerde 564 van de 1.122 bestanden, TruffleHog 643. Een wachtwoord achter PGPASSWORD= heeft geen herkenbaar formaat, dus zulke tools zien het vaak over het hoofd.
Eén kanttekening: Apiiro heeft de gevonden gegevens niet uitgeprobeerd, dus het is onbekend hoeveel er nog werken. Eén bedrijf bevestigde dat zijn gelekte sleutel actief was. Apiiro waarschuwde de getroffen organisaties op 2 en 3 november. Een reactie van Anthropic op het onderzoek is er nog niet.
Wat je nu moet doen
Gebruik je Claude Code, controleer dan of .claude/settings.local.json in je repository staat. Vervang eerst alle wachtwoorden en sleutels die erin stonden, want het bestand verwijderen haalt ze niet uit oude commits of forks. Haal het bestand daarna uit Git met git rm --cached en zet het pad in de .gitignore van het project zelf. Geef geheimen voortaan mee via een secret manager in plaats van ze in een commando te typen.
Het is niet het eerste beveiligingsprobleem rond codeeragents. Eerder zette een besmette Claude Code-extensie een SSH-achterdeur open, kaapte een infostealer Claude-sessies en bleken AI-codeagenten ongeclaimde pakketten te installeren.
Wat betekent dit
Een knop die tijd bespaart, kan stilletjes gevoelige gegevens wegschrijven. Teams die met AI-agents programmeren, moeten de mappen van die agents net zo streng controleren als hun broncode, ook in de Git-geschiedenis. Diensten als 1Password voor AI-agents laten agents inloggen zonder dat het wachtwoord in een commando belandt. Of Anthropic de standaardwerking aanpast, is nog onbekend.
