← Все статьи

Chyba zabezpečenia llms.txt: Ako agenti AI automaticky inštalujú škodlivý kód prostredníctvom súborov dokumentácie

Chyba zabezpečenia llms.txt: Ako agenti AI automaticky inštalujú škodlivý kód prostredníctvom súborov dokumentácie

Vo štvrtok 27.8.Ars Technica zverejnila vyšetrovanieto by malo prinútiť každého vývojára, ktorý používa kódovacích agentov AI, prehodnotiť svoju bezpečnosť. Výskumníci z izraelského stealth startupu naskenovali 6 214 domén patriacich spoločnostiam z rebríčka Fortune 500, dodávateľom obrany a Big Tech – a našli 120 súborov llms.txt, ktoré spôsobujú, že agenti AI automaticky inštalujú neexistujúce balíky z PyPI a npm.

Problém je jednoduchý a desivý: llms.txt je v podstate „robots.txt pre AI“ – súbor s mapou stránky, ktorý agentom pomáha rýchlo pochopiť štruktúru dokumentácie. Špecifikácia však neobsahuje žiadnu autentifikáciu, žiadne podpisy, žiadne kontroly integrity. Ak takýto súbor obsahuje pip install non-existent-package alebo npm install non-existent-package a agent má povolenie spúšťať príkazy – jednoducho nainštaluje čokoľvek, čo je tam napísané.

Ako to funguje

Výskumníci našli 8 265 súborov llms.txt a llms-full.txt (mnoho stránok je hostiteľom oboch). V 120 z nich – v 120 rôznych doménach – boli odkazy na balíky alebo domény, ktoré v registroch neexistujú. Útočníkovi stačí takéto meno zaregistrovať a nahrať škodlivý kód.

Na overenie útoku samotní výskumníci zaregistrovali niekoľko „voľných“ mien a umiestnili neškodné balíčky, ktoré jednoducho pingli na ich server s „Začal som“. Do hodiny dostali odpoveď od spoločnosti Fortune 500. Postupom času prišli desiatky ďalších odpovedí – od iných gigantov a startupov. Procesná telemetria presne ukázala, kto nainštaloval balíčky:Claude Code, OpenAI Codex a Hermes z Nous Research.

llms.txt attack diagram

Najhorší prípad — clerk.com

Na legitímnej stránke clerk.com súbor llms.txt obsahoval npx clerk-next-fix-auth-protection. Na rozdiel od bežného npm install môže npx načítať balík do vyrovnávacej pamäte npm a spustiť jeho binárne súbory bez toho, aby ho pridal do manifestu závislosti projektu. Niekomu sa podarilo získať tento bezplatný názov a nahrať skutočný malvér. Clerk problém vyriešil, ale vzor je už vo výrobe.

Prečo to nie je len „chyba modelu“

Toto nie je halucinácia alebo únik z pieskoviska. Súbor sa nachádza na oficiálnej doméne spoločnosti, obsluhovanej cez HTTPS, v štandardizovanom formáte určenom na spotrebu AI. Agent nemá dôvod o tom pochybovať — spisjeorgánu. Problém je v tom, že štandard llms.txt (navrhnutý Jeremym Howardom z Answer.AI v septembri 2024) neobsahuje žiadne bezpečnostné ustanovenia: žiadne podpisy, žiadne overenie pôvodu, žiadne overenie balíka.

Reťazec dôvery je prechodný: llms.txt nemusí sedieť na vlastnej stránke Fortune 500 – môže to byť v dokumentoch partnera, v referencii SDK dodávateľa, v sprievodcovi nastavením komunitného projektu. Ak agent tejto tretej strane dôveruje a táto tretia strana poukazuje na neregistrovaný balík – reťazec funguje rovnakým spôsobom.

Čo robiť práve teraz

  1. Audit.Skontrolujte svoje llms.txt a llms-full.txt. Uistite sa, že každý uvedený balík, doména a adresa URL existuje, je pod vašou kontrolou a má identifikovaného správcu. Odstráňte z pamäte odkazy na závislosti, ktoré nemôžete vysvetliť.
  2. Proxy medzi agentmi a registrami.Blokujte nové balíky (slopsquatované balíky sú podľa definície nové), vynucujte 24–72-hodinové vychladnutie po prvom vydaní akejkoľvek závislosti, pred inštaláciou overte provenance (SLSA/Sigstore).
  3. Nedávajte agentom --yolo, --dangerously-skip-permissions, --trust-all-tools.Tieto príznaky existujú, takže vývojár preberá zodpovednosť. Ak agent nainštaluje balíky bez vášho potvrdenia – odovzdali ste mu kľúče od vašej infraštruktúry.

Spodný riadok

Preteky o to, aby boli webové stránky čitateľné pre agentov, sa práve zrazili s pretekmi vo využívaní dodávateľského reťazca softvéru. Toto nie je chyba jedného modelu alebo jedného dodávateľa – je to chyba dizajnu v štandarde, ktorý nikto nepovažoval za spustiteľný kód. Kým priemysel nevynúti overenie toho, čo agenti čítajú na webe, každý zlý llms.txt je potenciálnym vstupným bodom do vašej siete.

llms.txt attack diagram: agent reads file, finds install command for non-existent package, executes it, loads malware

Chcete otestovať svoje pracovné postupy AI z hľadiska bezpečnosti? NeuralSpace vám umožňuje spúšťať generovanie kódu a testovanie agentov v izolovanom prostredí —skús chatalebokódový režim.