Nejpohodlnější tlačítko v kódu Claude společnosti Anthropic – „Ano, a už se neptat“ – se podle nového výzkumu firmy Apiiro pro bezpečnost aplikací tiše proměnilo ve stroj s únikem přihlašovacích údajů. Když vývojáři schválí příkaz, který obsahuje tajemství, Claude Code uloží přesný příkaz, včetně tajemství, do souboru místního nastavení, který často končí ve veřejných úložištích GitHub. Apiirův sken našel 2 539 skutečných tajemství umístěných v 1 994 veřejných úložištích: hesla k databázím, klíče cloudového API, tokeny a SSH root přihlášení v 63 organizacích, většinou softwarových společnostech. Jedna dotčená společnost potvrdila výzkumníkům, že odhalený klíč byl pod napětím. Je to druhý incident ochrany soukromí Claude Code tento měsíc po zveřejnění uživatelských e-mailů webům prostřednictvím hlaviček User-Agent – ​​a tento se nedotýká pouze produkční infrastruktury. Pozorně sledujeme zabezpečení kódovacích agentů AI v našem [pokrytí nástrojů AI] (https://aibuzzwire.news).

Jak se z pravidla povolení stane únik

Tento mechanismus je vedlejším efektem systému oprávnění Claude Code, který před spuštěním příkazů shellu požaduje schválení – často několikrát za relaci. Požádejte agenta, aby odladil databázové připojení nebo zavolal interní API, a příkaz, který navrhuje, bude mít všechna pověření, která úloha vyžaduje, protože bez nich nemůže fungovat.

Zvolte "Ano a už se neptat" a Claude Code spustí příkaz a zapíše pravidlo oprávnění do `.claude/settings.local.json` uvnitř složky projektu. Pravidlo není abstrakce: je to celý příkazový řetězec sám o sobě, heslo napsané jako prostý text a tak dále.

Soubor je navržen tak, aby zůstal na vývojářském počítači, a Claude Code se jej snaží chránit – přidáním do vývojářského globálního seznamu ignorovaných gitů. To pokrývá běžný případ, ale ne okrajové případy: složka, která se později stane úložištěm, klon na jiném počítači, kde globální ignorování neexistuje, nebo soubor, který někdo zadal před přidáním položky ignorování. Zásadní je, že pravidlo nikdy nepřistane ve vlastním `.gitignore` úložiště, takže s projektem necestuje žádná ochrana.

Claude Code tento problém ještě znásobí tím, že soubor sám zaregistruje. V 539 z 1 105 úložišť, kde Apiiro vystopoval skutečné tajemství, commit, jehož spoluautorem je Claude, změnil soubor nastavení — commity, které pojmenovávají modely od Sonnet 4.5 po Opus 5.5. Apiiro poznamenává, že chování je vlastní Claude Codeovi, nikoli modelu: firma jej reprodukovala jak pomocí Opus 5.5, tak Fable 5.1.

Měřítko expozice

Apiiro napočítal 104 185 veřejných kopií `.claude/settings.local.json` na GitHubu. Z nich 1122 obsahuje alespoň jedno skutečné tajemství. Výzkumníci nalezli 1 160 dalších tajemství, která se skrývají v historii git repozitáře, ve sdílených souborech `settings.json`, které týmy záměrně spáchaly, a v uložených přepisech chatů agentů zkontrolovaných v repozitářích.

Příklady dokumentů Apiiro se čtou jako kontrolní seznam nejhorších postupů. Dodavatel databáze odhalil svůj vlastní klíč cloudového rozhraní API na úrovni správce – s přístupem pro správu a bez vypršení platnosti – spolu se svým hostitelem clusteru. Spuštění B2B uniklo produkční heslo Azure Postgres. Softwarová agentura odhalila přístupový token Square Production. Firma poskytující IT služby, která vytváří aplikaci pro lékařské záznamy, prozradila heslo vlastníka této databáze. Open-source projekty si nevedly o nic lépe: jeden s více než 1000 hvězdičkami zveřejnil klíč API ve formátu OpenAI, další token npm.

Bezpečnostní kontext nález zhoršuje. Malware pro krádeže přihlašovacích údajů již ve velkém zametá vývojářské stroje – Apiiro poukazuje na červa Shai-Hulud npm, který spustil skener TruffleHog nad soubory obětí. Tentýž skener by označil 643 z 1 122 uniklých souborů, které Apiiro našel. Znepokojivější je zbytek: jeden z pěti uniklých souborů není označen ani TruffleHogem, ani gitleaks, obvykle proto, že tajemstvím je heslo napsané uvnitř příkazu spíše než klíč v rozpoznatelném formátu tokenu. Jinými slovy, tajné skenery jsou vůči této třídě úniků strukturálně slepé.

Co by měly postižené týmy dělat

Apiirovo navádění k nápravě začíná určením poloměru výbuchu. Vyhledejte ve své organizaci GitHub `.claude/settings.local.json` a `.claude/settings.json` – každý zásah je soubor, který si kdokoli může přečíst právě teď. Zkontrolujte historii git každého úložiště pro daný soubor, i když byl smazán, protože každý rozvětvení a klon uchovává vše, co historie obsahuje. Poté proveďte audit lokálních kopií na každém vývojářském počítači: každá položka v seznamu povolených je příkaz, který někdo schválil, s tím, co do něj bylo napsáno.

Na objednávání firmy záleží: nejprve otočte, potom ukliďte. Odstranění souboru z úložiště nedělá nic s přihlašovacími údaji, které již byly veřejné, a historie git udržuje odhalená tajemství při životě donekonečna.

Vzor, ne jednorázový

Pro společnost Anthropic došlo k nálezu týden poté, co byl Claude Code přistižen, jak unikal uživatelské e-mailové adresy na každou webovou stránku, kterou navštívil, prostřednictvím hlaviček User-Agent – chyba opravená odesláním úpravy ochrany soukromí, kterou kritici nazývali náplast. Tyto dva incidenty sdílejí hlavní příčinu: agenta, který zpracovává výkonný kontext – přihlašovací údaje, kontaktní údaje, interní názvy hostitelů – a činí výchozí rozhodnutí o tom, kam tento kontext cestuje.

Lekce zobecňuje mimo Claude Code. S tím, jak se kódovací agenti stávají standardním vybavením, se soubory, které zapisují, aby si sami organizovali, stávají novým, nenaskenovaným koutkem dodavatelského řetězce softwaru. Čísla společnosti Apiiro naznačují, že koutek již uniká v míře, kterou většina organizací nezačala měřit.

Udržujte si náskok před AI

Nástroje umělé inteligence se dodávají rychleji, než stačí jejich bezpečnostní hodnocení. Sledujte každý vývoj v našem zpravodajství o AI.

Přečtěte si další zprávy o AI →