Bezpečnost ·
Claude Code: volba Don't Ask Again ukládá hesla do souboru, který skončil na veřejném GitHubu
Firma Apiiro našla v 1 122 veřejných souborech nastavení Claude Code skutečná hesla a klíče. Vznikla tím, že vývojáři u příkazu s tajným údajem zvolili „Yes, and don't ask again“.
Bezpečnostní firma Apiiro zveřejnila kolem 5. listopadu 2026 analýzu souborů .claude/settings.local.json z veřejného GitHubu. Prošla 104 185 veřejných kopií tohoto souboru a v 1 122 z nich, tedy zhruba 1,1 %, našla alespoň jeden skutečný tajný údaj. Dohromady jde v tomto souboru o 1 379 různých tajemství. Téma se dostalo na přední stránku Hacker News s více než 300 body.
Příčina je banální. Když Claude Code chce spustit příkaz a vývojář vybere „Yes, and don't ask again“, uloží se schválený příkaz jako pravidlo do lokálního souboru nastavení. Pokud byl v příkazu rovnou zapsaný databázový odkaz s heslem nebo token, uloží se i on, v čitelné podobě. Soubor pak stačí omylem commitnout a publikovat.
Po započtení historie gitu, sdíleného souboru nastavení a přepisů práce agenta uvádí Apiiro celkem 2 539 různých tajemství v 1 994 repozitářích. Podle dostupných zpráv šlo o 379 databázových hesel, 42 tokenů GitHubu, GitLabu a npm, 43 přihlášení přes SSH a 23 klíčů AWS. Apiiro neuvádí, zda někdo uniklé údaje zneužil. Dokumentace Anthropicu podle zpráv říká, že Claude Code při prvním zápisu přidá soubor do globálního seznamu ignorovaných souborů gitu, nikoli do .gitignore konkrétního repozitáře. Oficiální vyjádření ani opravu jsme v době psaní nenašli.
Mají to čeští vývojáři na sebe? Ano, pokud používají Claude Code a mají veřejné repozitáře, nebo repozitáře, které se někdy zveřejní. Ověřte, zda je soubor sledovaný gitem, odeberte ho příkazem git rm --cached a přidejte do .gitignore. Smazání souboru nestačí, protože zůstane v historii. Každé heslo nebo token, který v něm kdy byl, považujte za prozrazený a vyměňte ho.
Co to znamená pro firmy
Pro firmu z toho plyne jednoduché pravidlo: tajné údaje nepatří do příkazů, které agent spouští, ale do správce tajemství nebo proměnných prostředí. Nastavte skenování tajemství v repozitářích a společnou šablonu .gitignore pro všechny týmy. Nastavení AI nástrojů vývojářů a hlídání úniků řešíme v rámci kybernetické bezpečnosti. Pokud agenta nasazujete do provozu, doporučujeme AI agenty na míru s oprávněními jen na nezbytné minimum a schvalováním důležitých kroků člověkem, viz též pravidla pro hlídání agentů. Funkční prototyp vám Prahapp připraví zdarma do 3 pracovních dnů.
Zdroje: ITWire: Claude Code approval files found exposing company secrets on GitHub, Aviatrix: Claude Code Don't Ask Again exposes 1,122 GitHub credential files