[WARNING · ZKONTROLOVAT TENTO TÝDEN]/Zprávy·

Volba „don't ask again“ v Claude Code zapisuje tajné údaje do souboru, který končí v Gitu – zkontrolujte repozitáře

Bezpečnostní firma Apiiro 7. listopadu upozornila, že Claude Code ukládá každý příkaz, který uživatel schválí volbou „Yes, and don't ask again“, i s tajným údajem – a to i takovým, který si vzal z konfiguračního souboru – do souboru .claude/settings.local.json, který se běžně dostane do Gitu. V tomto souboru, v jeho historii a v dalších souborech agentů napočítala Apiiro 2 539 skutečných tajných údajů v 1 994 veřejných repozitářích na GitHubu.

Týká se claude-code git github
Karta Syslog, úroveň WARNING (zkontrolovat tento týden): 1 122 souborů s tajnými údaji, veřejná nastavení Claude Code na GitHubu. Týká se: Claude Code, GitHub, Git. Co udělat: Najděte každý .claude/settings.local.json; Vyměňte všechny tajné údaje ze souboru.

Týká se vás to?

  • Týká se: firem, kde vývojář, externí IT dodavatel nebo kolega, který zkouší AI, používá Claude Code na projektech, které pracují s databázemi, cloudovými účty nebo servery. Soubor, který se do Gitu nikdy nedostal, i tak leží na noteboocích jako nešifrovaný soubor JSON.
  • Netýká se vás, pokud: nikdo ve firmě Claude Code nepoužívá. Ze 16 programovacích agentů, které Apiiro porovnala podle jejich dokumentace, je jen u Claude Code potvrzené, že to ve výchozím nastavení dělá; Apiiro přesto doporučuje zacházet se složkami .cursor/, .gemini/ a .specstory/ stejně opatrně jako se souborem .env.

Co udělat

  • Prohledejte svou organizaci na GitHubu, zda neobsahuje .claude/settings.local.json a .claude/settings.json, včetně historie každého repozitáře: smazaný soubor dál žije ve starých commitech, forcích a klonech.
  • Nejdřív vyměňte každý tajný údaj, který kdy soubor obsahoval, a teprve potom uklízejte. Podle nás se vyplatí projít i logy každé služby zpětně až k prvnímu commitu souboru.
  • Pokud je soubor v repozitáři sledovaný, spusťte git rm --cached .claude/settings.local.json a přidejte ho do souboru .gitignore přímo v repozitáři.
  • Na noteboocích soubor otevřete, i když nikdy nebyl commitnutý, a smažte každé pravidlo, které obsahuje tajný údaj.
  • Externího IT dodavatele se písemně zeptejte, zda tento soubor zkontroloval.
  • Požádejte uživatele Claude Code, aby tajné údaje nepsali přímo do příkazů, ale používali místo nich proměnnou ($DB_URL), a aby místo doslovných příkazů schvalovali vzory, například Bash(npm run:*).
  • Pokud CI hledá tajné údaje, zahrňte do kontroly historii i hesla uvnitř příkazů (PGPASSWORD=, sshpass -p): ani gitleaks, ani TruffleHog nezachytil 215 z 1 122 souborů se skutečným tajným údajem.

Co víme – a co ne

  • Skutečný tajný údaj obsahuje 1 122 ze 104 185 veřejných kopií souboru na GitHubu.
  • Claude Code přidá soubor do globálního seznamu ignorovaných souborů Gitu u vývojáře, což podle Apiiro pokryje běžný případ, ale ne do .gitignore repozitáře: složka, která se repozitářem stane až později, ani klon na jiném počítači tak chráněné nejsou.
  • „Skutečný tajný údaj“ znamená klíč ve známém formátu nebo heslo uvedené vedle adresy veřejného serveru; Apiiro u žádného neověřovala, zda funguje. Z 63 organizací, které upozornila 2. a 3. listopadu, jedna potvrdila, že její klíč byl platný.
  • Podle Apiiro Anthropic neodpověděl na žádné z hlášení, která uživatelé na GitHubu podávali od srpna 2025. Žádné vyjádření ani opravu od Anthropicu jsme neviděli.

Proč na tom záleží

Soubor s nastavením, který člověk sám nenapsal, málokdo kontroluje. Podle nás si nastavení agenta zaslouží stejnou péči jako soubor .env, v repozitáři i na notebooku.

Zdroje