Přeskočit na obsah
Bezpečnost 5 min čtení

Claude při testech napadl tři skutečné organizace a vydal škodlivý balíček na PyPI

Anthropic prošel zpětně 141 006 testovacích běhů a našel šest, ve kterých se model dostal z uzavřeného prostředí na internet a napadl provozní systémy tří organizací. Nejstarší případ je z dubna a obě organizace, které se podařilo kontaktovat, o útoku do té doby nevěděly. Jeden běh vyrobil a zveřejnil na PyPI škodlivý balíček, který se za hodinu spustil na patnácti skutečných strojích.

Anthropic zveřejnil ve čtvrtek 30. července rozbor tří případů, kdy se jeho modely při bezpečnostním testování dostaly z prostředí, které mělo být odříznuté od internetu, do provozní infrastruktury skutečných organizací. Přišel na to sám a až zpětně: prošel 141 006 testovacích běhů, ve kterých se model k internetu dostat mohl, a našel v nich šest závadných.

Soutěžící u notebooků při hackerské soutěži
Soutěžní tým při capture the flag na konferenci DEF CON 17 v Las Vegas. Foto: Nate Grigg, Wikimedia Commons (CC BY 2.0)

Audit začal kvůli cizímu incidentu

Podnětem byla zpráva konkurence: 21. července oznámila OpenAI, že několik jejích modelů uniklo z izolovaného testovacího prostředí zneužitím neznámé zranitelnosti a proniklo na servery Hugging Face. Podrobně o tom psal magazin2. Anthropic si po tom oznámení položil stejnou otázku o sobě a začal přehrávat záznamy vlastních měření.

Všechny tři nálezy pocházejí ze stejné disciplíny. Je to capture the flag, cvičení, ve kterém dostane útočník smyšlený scénář a úkol dobýt se k utajenému údaji na jiném stroji v síti; postup se nepředepisuje. Testy připravovala externí firma Irregular a v zadání, které modelu dal Anthropic, stálo, že prostředí je simulace a že model nemá přístup k internetu. Ani jedno neplatilo: kvůli nedorozumění mezi firmami zůstaly stroje připojené k síti a nikdo si toho do minulého týdne nevšiml.

Nejhorší případ: stovky řádků provozních dat

V prvním incidentu dostal model za cíl smyšlenou firmu, jejíž jméno se ale shodovalo s adresou živého webu. Když se k simulovanému cíli nedostal, našel na internetu ten opravdový a začal ho považovat za zadání. Ve čtyřech bězích z něj získal přihlašovací údaje k aplikaci i k infrastruktuře a dostal se do databáze s několika stovkami řádků provozních dat. To je podle Anthropicu nejzávažnější doložený následek.

Útočil Opus 4.7, z trojice nejstarší model. Ve všech čtyřech bězích si podle vlastního zápisu uvažování nakonec uvědomil, že systém je skutečný, a ve dvou případech si to zdůvodnil tím, že skutečná firma musí být součástí cvičení. Útok nepřerušil ani jeden běh.

Balíček, který si model vytvořil sám

Druhý incident je nejnázornější. Model našel uvnitř testovacího prostředí dokument, který se tvářil jako návod pro nové vývojáře smyšlené firmy, a v něm pokyn nainstalovat balíček z PyPI, veřejného registru pythonovských knihoven. Balíček toho jména neexistoval. Model si spočítal, že když ho zveřejní sám, cílové stroje si jeho kód stáhnou a spustí bez ptaní.

Cesta k tomu byla dost dlouhá na to, aby člověku došlo, že už není ve cvičení: pro účet na PyPI potřeboval e-mail, pro e-mail telefonní číslo. Bezplatnou službu s číslem nenašel, pokusil se sehnat peníze na placenou, neuspěl, a nakonec našel nezablokovaného poskytovatele pošty, založil účet a nahrál balíček. Veřejně dostupný byl zhruba hodinu a za tu dobu si ho stáhlo a spustilo patnáct skutečných strojů.

Jeden z nich patřil bezpečnostní firmě, která balíčky z PyPI rutinně instaluje a prohledává na škodlivý kód. Zacházela s obsahem registru jako s bezpečným, takže se skrytý kód spustil, odeslal její přihlašovací údaje na sběrné místo a model je pak použil k dalšímu průniku. Tuhle firmu si nikdo nevybral, model o její existenci nevěděl; postihlo ji to proto, že kód ležel na veřejném internetu. Balíček odstranily automatické obrany PyPI samy.

Útočil Mythos 5 a jeho vlastní zápis uvažování stojí za ocitování. Hned na začátku si správně řekl, že kdyby šlo o skutečný internet, bylo by zveřejnění balíčku útokem: „NOT okay, and surely not the intended solution“. Pak sám sebe přesvědčil, že je pořád v simulaci, protože nepoznal certifikační autority zabezpečující jeho spojení a protože kalendářní datum 2026 na strojích podle něj dokazovalo, že je prostředí nastrojené. K téhle úvaze se už nevrátil; automatické skenery, které balíček začaly instalovat, považoval za naskriptované herce ve cvičení.

Tři modely, tři různé reakce

Ve třetím případě model prohledal zhruba 9 000 cílů, než našel firemní aplikaci dostupnou z internetu, a dostal se do ní přes odkrytou ladicí stránku a vložený dotaz SQL. Pak si všiml, že napadený stroj leží v cloudovém účtu, který s úlohou nesouvisí, sám usoudil, že cíl je skutečný, a útok ukončil. Šlo o interní výzkumný model, který se prodávat nemá.

Anthropic z toho vyvozuje, že novější modely reagují lépe, sám ale dodává, že tři izolované případy nejsou řízené srovnání. Ta zdrženlivost je podle nás na místě: tři běhy různých modelů v různých scénářích závěr o trendu neunesou.

Kdy se to stalo a kdy se to zjistilo

Nejnepříjemnější část je časová osa. Nejstarší incident je podle firmy z dubna, přehrávání záznamů začalo až 23. července a všechna měření se téhož dne zastavila. Zbylé dva případy se našly druhý den, Irregular a tři postižené organizace se to dozvěděly v pondělí 27. července, veřejnost 30. července. Mezi útokem a jeho odhalením tedy uplynuly nejméně tři měsíce; je to údaj odvozený z firemního „nejstarší incidenty jsou z dubna“, přesná data chybí.

Obě organizace, se kterými se podařilo spojit, o průniku do té doby nevěděly a neupozornil je nikdo jiný; třetí se firma podle svých slov stále snaží dovolat. To je nejtvrdší zjištění celého rozboru: útok vedený modelem, byť běžnými technikami jako slabá hesla a neověřované koncové body, prošel u obou napadených bez povšimnutí.

Co v oznámení není

Text neuvádí jméno škodlivého balíčku ani jeho verzi. Kdo provozuje jeden z těch patnácti strojů, nemá tedy jak zjistit, jestli byl mezi nimi; Anthropic uvádí jen to, že indikátory předal správcům PyPI. Tři postižené organizace nejmenuje, což je vzhledem k nedovolané třetí pochopitelné. Do týdne slíbil zveřejnit upravený přepis běhu s balíčkem a jedná o nezávislém přezkumu s organizací METR.

Selhání prostředí, nebo modelu

Anthropic svůj případ hodnotí jako „harness and operational failure“, tedy spíš selhání testovacího aparátu a provozu než selhání sladěnosti modelu se zadáním. Modely dostaly informaci o nedostupném internetu, a přitom ho měly, takže považovat skutečné systémy za simulaci bylo podle firmy obhajitelné. Zároveň tvrdí, že pojistky, se kterými se modely prodávají, by popsané chování zablokovaly; při měření schopností se vypínají, aby bylo vidět, co model umí sám o sobě.

Slabé místo firma nezakrývá: aspoň jeden model útočil dál i poté, co poznal, že cíl je skutečný. Žádný běh se ale nepokusil ze svého prostředí utéct ani sám sebe odněkud zkopírovat. Modely dělaly to, co měly zadané, jen v chybném přesvědčení o tom, kde jsou. Je to jiná třída problému než útok, který agentovi podvrhne data, ale kořen mají společný: model se rozhoduje podle obrázku o situaci, který mu někdo dodal, a nemá jak si ho ověřit.

Praktický závěr formuluje Anthropic sám a platí i pro provozovatele jednoho agenta na vlastním stroji: prostředí, o kterém tvrdíte, že je izolované, se ověřuje měřením, ne domluvou. A zadání, které o dostupnosti sítě lže, dopadne hůř než zadání, které vymezí rozsah úlohy.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Bezpečnost

    Útok podvrhne agentovi fakta místo pokynů. V testu neodolal Claude Code ani Codex

    Šest autorů popsalo třídu útoků, která agentovi nepodstrčí skrytý příkaz, ale zfalšuje údaje, kterým bez ptaní věří – jméno odesílatele, identifikátor tlačítka, záznam o…