# Claude Code bewaarde goedgekeurde commando's met wachtwoorden erin: zo controleer je je repository

Door Ivo Donker · 9 november 2026 — tekst: Claude (AI, Anthropic), gecontroleerd tegen de bronnen
Kies je in Claude Code bij een shellcommando "Yes, and don't ask again", dan schrijft Claude Code dat commando als vaste regel in .claude/settings.local.json in je repository. Stond er een wachtwoord of API-sleutel in het commando, dan staat die sleutel nu ook in dat bestand. Volgens onderzoek van beveiligingsbedrijf Apiiro, zoals gemeld door vakmedia, bevatten 1.122 openbare kopieën van dat bestand op GitHub minstens één secret. Controleer of het bestand in git staat, roteer gelekte sleutels en zet het bestand in .gitignore.

Dit artikel legt uit hoe het gebeurt, wat de cijfers zijn en wat je vandaag kunt doen. Meer over de tool zelf staat in onze [review van Claude Code](https://apps.llmnet.nl/claude-code-review); recente updates verzamelen we in [Claude Code-nieuws](https://apps.llmnet.nl/claude-code-nieuws).

## Hoe een wachtwoord in een instellingenbestand belandt

De [documentatie van Anthropic](https://code.claude.com/docs/en/permissions) beschrijft het gedrag. Voor shellcommando's geldt een goedkeuring met "don't ask again" "permanently per repository and command". Claude Code bewaart die regel in .claude/settings.local.json in de hoofdmap van de git-repository, en de regel geldt daarna in elke sessie in die repository, ook in submappen en worktrees.

De regel is de tekst van het commando. Wie bijvoorbeeld een databasecommando goedkeurt met het wachtwoord erin (PGPASSWORD=..., mysql -p... of sshpass -p ...), bewaart dat wachtwoord in platte tekst in het bestand. Het bestand is bedoeld als persoonlijk bestand. Het lek ontstaat zodra iemand het toch commit en de repository openbaar is.

## Wat Apiiro vond

De cijfers komen uit een [onderzoek van Apiiro](https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again) dat wij zelf niet konden openen. We geven ze zoals [een samenvatting op DEV Community](https://dev.to/gabrielanhaia/claude-codes-dont-ask-again-saved-secrets-in-1122-public-files-215-beat-both-scanners-2pi4) en [GBHackers](https://gbhackers.com/claude-codes-dont-ask-again-feature-exposed/) ze weergeven.

Wat Apiiro vond
Meting | Waarde volgens Apiiro (via vakmedia) | 

Openbare kopieën van .claude/settings.local.json onderzocht | 104.185, in 103.617 repositories | 

Bestanden met minstens één secret | 1.122 | 

Unieke secrets in die bestanden | 1.379 | 

Gemist door zowel gitleaks als TruffleHog | 215 bestanden | 

Totaal over alle bronnen (ook git-geschiedenis en chatlogs) | 2.539 secrets in 1.994 repositories | 

Volgens dezelfde samenvatting was Claude Code de enige van 16 vergeleken coding-agents die standaard het volledige goedgekeurde commando in een projectbestand opslaat. Dat hebben we niet zelf kunnen nagaan. Een reactie van Anthropic op het onderzoek hebben we niet gevonden. Het signaal stond ook in de [Radar van 8 november](https://radar.llmnet.nl/dag/2026-11-08) en in de [briefing van 9 november](https://trending.llmnet.nl/briefing/2026-11-09#beveiliging).

## Zo controleer je je eigen repository

- Staat het bestand in git? git ls-files .claude/settings.local.json laat zien of het nu gevolgd wordt; git log --all -- .claude/settings.local.json of het ooit is gecommit.

- Roteer eerst. Een sleutel die in een openbare repository heeft gestaan, geldt als gelekt, ook als je de geschiedenis herschrijft. Vervang wachtwoorden en tokens voordat je opruimt.

- Stop met volgen. git rm --cached .claude/settings.local.json en zet het pad in .gitignore.

- Ruim de regels op. Met /permissions in Claude Code zie je de opgeslagen regels en verwijder je regels met een secret erin.

- Voorkom herhaling. Gebruik variabelen in plaats van letterlijke waarden (PGPASSWORD="$DB_PASSWORD") en blokkeer het lezen van sleutelbestanden met een deny-regel zoals Read(./.env), die de documentatie zelf als voorbeeld geeft.

Teams kunnen het bestand standaard in hun .gitignore-sjablonen opnemen en mappen als .claude/, .cursor/ en .gemini/ meenemen in de secret-scan van pre-commit en CI, inclusief de git-geschiedenis. Meer achtergrond over dit soort risico's staat in ons overzicht [AI en cybersecurity](https://nieuws.llmnet.nl/ai-en-cybersecurity).

## Wat we niet hebben gecontroleerd

De onderzoekspagina van Apiiro konden we niet openen; alle cijfers komen uit samenvattingen van derden. Het gedrag van "don't ask again" en de opslag in .claude/settings.local.json hebben we wel in de documentatie van Anthropic gelezen.

Gecontroleerd op 9 november 2026.

Dit artikel is geschreven met AI (Claude, Anthropic) en gecontroleerd tegen de bronnen hieronder.

## Bronnen

- Anthropic, Claude Code-documentatie, Configure permissions: [code.claude.com](https://code.claude.com/docs/en/permissions)

- Apiiro, oorspronkelijk onderzoek (niet door ons gelezen): [apiiro.com](https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again)

- Gabriel Anhaia, samenvatting op DEV Community (7 november 2026): [dev.to](https://dev.to/gabrielanhaia/claude-codes-dont-ask-again-saved-secrets-in-1122-public-files-215-beat-both-scanners-2pi4)

- GBHackers, bericht over 2.539 secrets in 1.994 repositories: [gbhackers.com](https://gbhackers.com/claude-codes-dont-ask-again-feature-exposed/)

- Melding op X door @TheHackersNews: [x.com/TheHackersNews](https://x.com/TheHackersNews/status/2118960196987080801)
