Přejít k hlavnímu obsahu

AI agenti instalují do firem malware přes llms.txt. Jak útok funguje a jak se bránit

Ilustrační obrázek
Představte si, že si do firmy pustíte šikovného asistenta, který za vás hledá v dokumentaci, co a jak nainstalovat. A on poslušně stáhne a spustí kód z adresy, kterou někdo napsal do souboru na cizím webu. Bezpečnostní výzkumníci teď popisují přesně tenhle scénář: AI agenti, které dnes běžně používáte k programování, instalují do firemních sítí kód, který ve skutečnosti nikdo nevlastní. A útočníci se to naučili zneužívat.

Jak se z dokumentace stane past

Všechno točí kolem souborů llms.txt a llms-full.txt. Jde o poměrně nový, ale rychle se šířící standard, který webům umožňuje nabídnout AI agentům obsah ve formě, kterou model snadno přečte. Místo aby agent procházel HTML plné reklam a menu, stáhne si čistý text s návody, příklady a příkazy k instalaci.

Problém je v tom, co se v těch souborech píše. Autoři dokumentací do nich dávají instalační příkazy typu „spusťte pip install nějaký-balíček“ nebo „přidejte si tuhle knihovnu z npm“. Jenže spousta z nich odkazuje na knihovny, které už neexistují, byly přejmenované, nebo je dokonce nikdy nikdo nevydal.

Tady nastupuje útok, kterému výzkumníci říkají AI package hallucination. Když agent na takový neexistující balíček narazí, buď ho sám „vyrobí“ — tedy napíše kód, který si vymyslí — anebo ho vyhledá v registru a doporučí nainstalovat něco, co mu tam přistálo. Útočník mezitím zaregistroval volné jméno balíčku na PyPI nebo npm a nahrál do něj škodlivý kód. Agent pak tuhle návnadu poslušně doporučí k instalaci přímo uvnitř firemní sítě.

Claude, Codex i Hermes v hledáčku

Podle zprávy TechRadaru se problém týká mimo jiné vývojářských nástrojů jako Claude od Anthropicu, Codex od OpenAI nebo Hermes od Nous Research. Tyto nástroje procházejí dokumentaci, přebírají z ní příkazy a řada z nich je pak dokáže rovnou spustit — to je celý smysl „agenta“, který vám úkol nejen poradí, ale i dokončí.

Právě tahle autonomie je dvojsečná. Když agent instaluje balíček do izolovaného sandboxu, riziko je omezené. Když ale běží s právy, která má běžný vývojář — a ve firmách se to tak dělá, jinak by agent nic nezmohl — může spuštěný kód sáhnout na citlivá data, interní systémy nebo otevřít zadní vrátka pro další útok.

Čísla, která by měla znepokojit

Výzkum není jen teoretický. Badatelé našli neobsazené reference na soubory llms.txt na 120 doménách. Spustitelný kód, který směřoval na nikým nevlastněné balíčky, se objevil v dokumentaci na více než 100 webech — a část z nich patří společnostem z žebříčku Fortune 500. V korporátních dokumentech pak celkem narazili na 227 instalačních příkazů, které ukazovaly na kód, jejž nikdo oficiálně nespravuje.

Nejde přitom jen o hypotetickou hrozbu. V červenci 2026 už kampaň označovaná jako FakeAgent zneužila prostředí Claude k tomu, aby do organizací dostala malware SectopRAT — nástroj, který útočníkovi dává vzdálený přístup k napadenému počítači. Samostatné červencové zneužití funkce Claude Artifacts pak zasáhlo nejméně 29 organizací.

Proč je to teď jiné než dřív

Dodavatelské řetězce se zneužívaly vždycky — typografické přepisy názvů balíčků (takzvaný typosquatting) zná kyberbezpečnost roky. Nové je to, že útočník nemusí čekat, až vývojář udělá překlep. AI agent udělá „chybu“ za něj, a navíc ji udělá konzistentně, rychle a v měřítku. Když stovky agentů po celém světě zpracovávají stejnou špatnou dokumentaci, útočník dostane jednu návnadu do desítek firem najednou.

Druhá změna je v tom, kdo čte dokumentaci. Dřív ji četl člověk, který obvykle pozná, že něco nehraje — odkaz vede na podivnou doménu, balíček má podezřele málo stažení. Agent tuhle intuici nemá. Vidí instalační příkaz a považuje ho za součást zadání, které má splnit.

Co s tím: ověřování patří zpátky do hry

Obrana není žádná magie, ale vyžaduje kázeň. Základem je nenechat agenta nic instalovat bez dohledu — ideálně vše pouštět v izolovaném prostředí, kde škodlivý kód nemá kam utéct. Dále se vyplatí udržovat vlastní, kontrolované registry balíčků a povolovat jen prověřené zdroje. A hlavně: když agent navrhne balíček, měl by jeho název, autora a počet stažení zkontrolovat člověk, než se dostane do produkce.

Pro české firmy je tady jeden konkrétní háček. Řada z nich teď agentní vývojové nástroje nasazuje s nadšením, protože slibují rychlejší vývoj a úsporu práce. Jenže souběžně s tím platí evropská směrnice NIS2, která po dodavatelích a firmách v klíčových odvětvích vyžaduje řízení rizik dodavatelského řetězce — a to včetně toho, odkud se bere kód. Nekontrolovaný agent, který instaluje neznámé balíčky, je přesně ten typ rizika, který NIS2 myslí vážně. Kdo agenta pustí do firmy bez dohledu, dřív nebo později narazí nejen na útočníka, ale i na audit.

Nejde o důvod AI agenty zahodit. Jde o to, že autonomie bez ověřování je dluh, který se platí v nejméně vhodnou chvíli.

Co přesně je soubor llms.txt?

Je to textový soubor, který web vystavuje speciálně pro AI agenty. Obsahuje zjednodušenou, čistě textovou verzi dokumentace, aby ji jazykový model snadno přečetl. Problém je, že může obsahovat instalační příkazy odkazující na knihovny, které nikdo nespravuje.

Může se to stát i mně, když programuji sám bez AI agenta?

Riziko existuje hlavně u autonomních agentů, kteří příkazy spouštějí automaticky. Pokud si kód instalujete ručně a kontrolujete, odkud pochází, je riziko výrazně nižší — klíčové je neinstalovat neznámé balíčky jen proto, že je někdo doporučil v dokumentaci.

Jak poznám, že je balíček v registru důvěryhodný?

Zkontrolujte jméno autora, datum prvního vydání, počet stažení a zda balíček udržuje známá organizace. Podezřelé jsou čerstvě nahrané balíčky s názvem podobným známé knihovně a malou nebo žádnou historií.

Diskuze

Zatím žádné komentáře — buďte první, kdo se podělí o svůj názor.
X

Nezmeškejte novinky!

Přihlaste se k odběru novinek a aktualit.