Claude Code: kulcsok a .claude/settings.local.json-ban
Ha egy Bash-parancsot a „Don't ask again” gombbal hagyunk jóvá, a Claude Code szó szerint elmenti a parancsot egy allow a projekt .claude/settings.local.json fájljában. Ha a parancsban jelszó vagy kulcs volt, akkor az is bekerül. Ez a fájl elvileg helyi marad, de bekerülhet a : ha kézzel hozták létre, ha git add -f-fel adták hozzá, vagy ha már korábban követett fájl volt. Az Apiiro kutatása 1122 nyilvános GitHub-fájlban 1379 valódi titkot talált (adatbázis-jelszavakat, SSH-belépéseket, tokeneket), tágabb kereséssel 2539-et. A titokkereső eszközök a fájlok egy részét nem vették észre. A források a számokban eltérnek: a hírlevél 1122 fájlt, más cikkek 1379 vagy 2539 titkot írnak, ezek különböző mérések.
- K1aEllenőrzés érdemes minden projektben lefuttatni:
git ls-files | grep settings.local.jsonésgit log --all --oneline -- .claude/settings.local.json, majd a fájlbanBash(...)szabályokat keresni jelszóval,-pkapcsolóval vagy tokennel. - K1bJavítás előbb minden kulcsot és jelszót le kell cserélni, ami a fájlban valaha szerepelt, mert a törlés nem hatástalanítja a már kikerült másolatokat. Utána:
git rm --cached .claude/settings.local.json, felvétel a.gitignore-ba, és a titkot tartalmazó szabályok törlése. - K1cGrantGuard a Vanta nyílt forráskódú eszköze átnézi a Claude Code „always allow” szabályait, és megjelöli a kockázatosakat (beégetett kulcs,
rm -rf,git push *). Futtatás: ; a projektmappák bevonásához a--scankapcsoló kell. Csak olvas, és csak megerősítés után töröl. github.com/OpenVanta/GrantGuard
1. Ellenőrzés: hol van settings.local.json a gépeden, és bekerült-e a gitbe.
find ~ -path '*/.claude/settings.local.json' -not -path '*/node_modules/*' 2>/dev/null
cd <projektmappa> && git ls-files .claude/settings.local.json && git log --all --oneline -- .claude/settings.local.json
grep -nEi 'pass|token|secret|key|-p[^ ]' .claude/settings.local.json2. Ha találsz kulcsot vagy jelszót: előbb azt cseréld le (adatbázis-jelszó, SSH-kulcs, API-kulcs), mert a már kikerült másolatot a törlés nem teszi hatástalanná.
3. Teendő: a fájl kivétele a gitből és a titkot tartalmazó allow szabályok törlése.
git rm --cached .claude/settings.local.json
echo '.claude/settings.local.json' >> .gitignore
git commit -m "settings.local.json kivétele a gitből"4. Ellenőrzés utána: git ls-files .claude/ – a fájl nem szerepel a listában; a GrantGuard (K1c) sem jelez beégetett kulcsot.
Visszaállítás: nem szükséges; a régi kulcsokat ne állítsd vissza.
$DB_PASS), így a jóváhagyott szabályba csak a változó neve kerül be, maga a jelszó nem. Írd be a kérdésed, és nyisd meg a kedvenc AI-chatedben. A tétel háttere automatikusan hozzáadódik. Nálunk semmi nem tárolódik.