Gen. partnerAlgotech

Claude Code ukládal hesla do konfigurace. Výzkumníci našli přes 2 500 uniklých přístupových údajů

Bezpečnostní výzkumníci společnosti Apiiro identifikovali více než 2 500 přístupových údajů ve veřejných repozitářích na GitHubu. Významnou roli v jejich zveřejnění sehrály konfigurační soubory nástroje Claude Code, který může ukládat celé schválené příkazy včetně hesel a API klíčů.

|
8. listopadu 2026
Claude Code ukládal hesla do konfigurace. Výzkumníci našli přes 2 500 uniklých přístupových údajů

Stačilo jednou kliknout na „Ano, už se neptat“ a heslo nebo API klíč se mohly natrvalo uložit do konfiguračního souboru. Bezpečnostní výzkumníci společnosti Apiiro nyní zjistili, že tisíce takových přístupových údajů skončily ve veřejně dostupných repozitářích na GitHubu. Mezi nalezenými údaji jsou hesla k databázím, cloudové přístupové klíče i přihlašovací údaje k serverům.

Výzkum, který společnost Apiiro zveřejnila 5. listopadu 2026, odhalil celkem 2 539 potenciálně citlivých přístupových údajů v 1 994 veřejných repozitářích. Výzkumníci identifikovali údaje patřící 63 organizacím, převážně softwarovým společnostem.

Příčina souvisí mimo jiné s fungováním nástroje Claude Code od společnosti Anthropic, který vývojářům umožňuje využívat umělou inteligenci k programování, úpravám souborů a spouštění příkazů.

Jedno potvrzení mohlo uložit celé heslo

Claude Code při práci s počítačem může spouštět příkazy v terminálu. Některé z nich vyžadují souhlas uživatele, který může konkrétní příkaz schválit také pro budoucí použití.

Právě možnost „Yes, and don't ask again“ (Ano, už se neptat) se ukázala jako problematická.

Pokud vývojář schválil příkaz obsahující heslo nebo přístupový token, Claude Code mohl jeho přesnou podobu uložit do souboru .claude/settings.local.json.

Typickým příkladem je příkaz pro připojení k databázi, ve kterém je přímo uvedeno uživatelské jméno a heslo. Po schválení se celý příkaz mohl stát součástí seznamu trvale povolených operací.

Heslo tak zůstalo v konfiguračním souboru jako obyčejný text, přestože původní příkaz už dávno skončil.

Toto chování potvrzuje i oficiální dokumentace Claude Code, která popisuje ukládání schválených příkazů do lokální konfigurace.

Samotné uložení hesla ještě neznamená jeho zveřejnění. Problém nastává ve chvíli, kdy se konfigurační soubor dostane do systému pro správu verzí a následně do veřejného repozitáře.

Přes 100 tisíc souborů. Více než tisíc obsahovalo přístupové údaje

Výzkumníci analyzovali veřejné repozitáře na GitHubu mezi 1. a 3. listopadem 2026.

Identifikovali 104 185 kopií souboru .claude/settings.local.json napříč 103 617 repozitáři.

Z toho 1 122 souborů obsahovalo alespoň jeden údaj, který výzkumníci vyhodnotili jako skutečný přístupový údaj. V těchto souborech našli 1 379 unikátních hodnot.

Mezi nálezy byly například:

  • 379 hesel k databázím
  • 122 privilegovaných klíčů Supabase
  • 43 přihlašovacích údajů SSH k veřejně dostupným serverům
  • 42 tokenů pro GitHub, GitLab a npm
  • 23 přístupových klíčů AWS

Výzkumníci popsali také konkrétní případy, například administrátorský cloudový klíč poskytovatele databázových služeb, heslo k produkční databázi Azure PostgreSQL nebo přístupové údaje k databázi aplikace pracující se zdravotnickými záznamy.

Další údaje byly objeveny ve starších verzích souborů, sdílených konfiguracích a uložených záznamech komunikace s AI agenty.

Celkový počet tak vzrostl na 2 539 identifikovaných přístupových údajů v 1 994 repozitářích.

Výzkumníci zároveň upozornili, že přístupové údaje aktivně netestovali. Jejich klasifikace vycházela ze známých formátů klíčů, souvislosti s veřejně dostupnými službami a následného vyhodnocení.

Nelze proto tvrdit, že všech 2 539 nalezených údajů bylo stále funkčních. Jedna z kontaktovaných společností nicméně potvrdila, že její zveřejněný klíč byl aktivní.

Claude Code soubor před zveřejněním chrání. Ochrana má své hranice

Soubor .claude/settings.local.json má podle Anthropic zůstávat pouze na počítači vývojáře.

Claude Code jej při automatickém vytvoření v existujícím Git repozitáři přidává na seznam ignorovaných souborů. Tento seznam se však ukládá do globální konfigurace Gitu na daném počítači.

Ochrana tedy nemusí platit na jiném počítači nebo v jiné kopii projektu.

Problematické jsou také situace, kdy byl soubor vytvořen ručně, přidán do repozitáře dříve nebo vznikl ještě před inicializací Gitu.

Jakmile se citlivý údaj jednou dostane do veřejného repozitáře, jeho odstranění z aktuální verze souboru nemusí stačit. Starší kopie mohou zůstat v historii změn nebo ve větvích projektu vytvořených dalšími uživateli.

Apiiro v rámci analýzy objevila dalších 734 přístupových údajů ve starších verzích souborů, které už v aktuálních verzích nebyly přítomné.

Ve 539 z 1 105 analyzovaných repozitářů obsahujících citlivé údaje navíc výzkumníci nalezli změnu dotčeného souboru v commitu, kde byl Claude uveden jako spoluautor. To samo o sobě neprokazuje, že ve všech těchto případech soubor zveřejnil autonomně.

Některá hesla neodhalily ani bezpečnostní skenery

Zajímavou částí výzkumu je také srovnání nálezů s běžně používanými bezpečnostními nástroji.

Výzkumníci prověřili soubory pomocí nástrojů Gitleaks a TruffleHog, které slouží k vyhledávání uniklých přístupových údajů ve zdrojovém kódu.

Výsledky ukázaly, že:

  • Gitleaks označil 564 z 1 122 souborů obsahujících citlivé údaje.
  • TruffleHog označil 643 těchto souborů.
  • Celkem 215 souborů neoznačil ani jeden z nástrojů.

Důvodem je především způsob, jakým byly údaje uložené.

Bezpečnostní skenery často hledají známé formáty API klíčů nebo řetězce odpovídající konkrétním službám. Heslo vložené přímo do běžného terminálového příkazu však nemusí těmto pravidlům odpovídat.

Podobné problémy se přitom mohou týkat také záznamů konverzací s AI agenty nebo jejich pracovních poznámek, pokud obsahují celé příkazy včetně přihlašovacích údajů.

Anthropic reaguje: Konfigurace má zůstat lokální

Na zveřejnění výzkumu reagoval také Boris Cherny z týmu Claude Code společnosti Anthropic.

V diskusi na Hacker News potvrdil, že soubor .claude/settings.local.json není určen ke sdílení prostřednictvím systému správy verzí.

Připomněl, že Claude Code soubor při vytvoření automaticky přidává mezi ignorované soubory, a doporučil využívat novější režim automatického schvalování příkazů namísto ručního vytváření dlouhých seznamů povolených operací.

Cherny zároveň uvedl, že Claude Code dosud automaticky neodstraňoval přístupové údaje ze zaznamenaných příkazů a tým nyní zvažuje možnosti, jak podobným situacím předcházet.

Problém přitom není zcela nový. Už v srpnu 2025 se v oficiálním repozitáři projektu objevil report upozorňující na ukládání přihlašovacích údajů do souboru settings.local.json.

Listopadový výzkum Apiiro nyní přinesl rozsáhlejší údaje o tom, kolik takových souborů se skutečně dostalo na veřejnost.

Používáte Claude Code? Zkontrolujte především tyto soubory

Výzkumníci doporučují vývojářům a bezpečnostním týmům prověřit nejen aktuální konfiguraci, ale také historii repozitářů.

Zvláštní pozornost si zaslouží soubory .claude/settings.local.json a .claude/settings.json, případně záznamy komunikace s dalšími AI vývojářskými nástroji.

Pokud organizace zjistí zveřejnění přístupového údaje, měla by postupovat následovně:

  1. Zneplatnit nebo vyměnit nalezené heslo či token. Pouhé smazání souboru z repozitáře nestačí.
  2. Prověřit historii Gitu. Citlivé údaje mohou zůstávat ve starších commitech a kopiích projektu.
  3. Zajistit ignorování lokálních konfigurací. Soubor .claude/settings.local.json by měl být uveden také v projektovém .gitignore.
  4. Nepředávat hesla přímo v příkazech. Bezpečnější je využití proměnných prostředí nebo specializovaných správců tajných údajů.
  5. Rozšířit bezpečnostní kontroly. Skenování by mělo zahrnovat také konfigurace a pracovní soubory AI agentů.

Výzkum Apiiro zároveň upozorňuje na širší problém používání autonomních vývojářských nástrojů. Ty při práci s projektem mohou získat přístup k citlivým údajům a následně je zaznamenat do souborů, které vývojáři běžně nepovažují za bezpečnostně významné.

Riziko se tak netýká pouze úmyslného zveřejnění přístupových údajů. Citlivá informace může uniknout také jako vedlejší produkt běžné práce s AI asistentem.

Zdroje

Načítání komentářů...

Zůstaňte v obraze

Přihlaste se k odběru našeho newsletteru a získejte nejnovější informace o kybernetické bezpečnosti přímo do vaší e-mailové schránky.

Vaše údaje jsou v bezpečí. Newsletter můžete kdykoliv odhlásit.