llms.txt biztonsági rése: Hogyan telepítik az AI-ügynökök automatikusan a rosszindulatú kódot dokumentációs fájlok segítségével
augusztus 27-én, csütörtökönAz Ars Technica vizsgálatot tett közzéez arra készteti az AI kódoló ügynököket használó fejlesztőket, hogy újragondolják a biztonságukat. Egy izraeli lopakodó startup kutatói 6214 tartományt vizsgáltak meg, amelyek a Fortune 500-as cégekhez, védelmi vállalkozókhoz és a Big Techhez tartoznak – és 120 llms.txt fájlt találtak, amelyek hatására az AI-ügynökök automatikusan nem létező csomagokat telepítenek PyPI-ből és npm-ből.
A probléma egyszerű és félelmetes: az llms.txt lényegében a „robots.txt for AI” – egy leértékelési webhelytérkép-fájl, amely segít az ügynököknek gyorsan megérteni a dokumentáció szerkezetét. De a specifikáció nem tartalmaz hitelesítést, aláírásokat, integritás-ellenőrzéseket. Ha egy ilyen fájl tartalmazza az pip install non-existent-package vagy npm install non-existent-package fájlt, és az ügynöknek van engedélye parancsok futtatására, akkor egyszerűen telepíti az ott leírtakat.
Hogyan működik
A kutatók 8265 llms.txt és llms-full.txt fájlt találtak (sok webhely mindkettőt tárolja). Ezek közül 120-ban – 120 különböző tartományban – olyan csomagokra vagy domainekre utaltak, amelyek nem léteznek a nyilvántartásokban. A támadónak csak regisztrálnia kell egy ilyen nevet, és rosszindulatú kódot kell feltöltenie.
A támadás igazolására a kutatók maguk regisztráltak több "ingyenes" nevet, és ártalmatlan csomagokat helyeztek el, amelyek egyszerűen megpingelték a szerverüket az "én kezdtem" kifejezéssel. Egy órán belül választ kaptak egy Fortune 500-as cégtől. Idővel további tucatnyi válasz érkezett – más óriáscégektől és startupoktól. A folyamat telemetriája pontosan megmutatta, hogy ki telepítette a csomagokat:Claude Code, OpenAI Codex és Hermes a Nous Researchtől.

A legrosszabb eset – clerk.com
A törvényes clerk.com webhelyen az llms.txt fájl a következőt tartalmazta: npx clerk-next-fix-auth-protection. A szokásos npm install-tól eltérően az npx képes letölteni egy csomagot az npm gyorsítótárába, és végrehajtani a bináris fájlt anélkül, hogy hozzáadná a projekt függőségi jegyzékéhez. Valakinek sikerült megszereznie ezt az ingyenes nevet, és tényleges rosszindulatú programot feltöltenie. Az ügyintéző kijavította a problémát, de a minta már gyártásban van.
Miért nem ez csak egy "modellhiba"
Ez nem hallucináció vagy homokozó menekülés. A fájl a vállalat hivatalos domainjén található, HTTPS-en keresztül szolgálva, szabványos, mesterséges intelligencia felhasználásra tervezett formátumban. Az ügynöknek nincs oka kételkedni ebben – az aktavana hatóság. A probléma az, hogy az llms.txt szabvány (amelyet Jeremy Howard, az Answer.AI munkatársa javasolt 2024 szeptemberében) semmilyen biztonsági előírást nem tartalmaz: nincs aláírás, nincs eredet-ellenőrzés, nincs csomagellenőrzés.
A bizalmi lánc tranzitív: az llms.txt-nak nem kell a Fortune 500 saját webhelyén ülnie – lehet egy partner dokumentumaiban, egy szállító SDK-referenciájában, vagy egy közösségi projekt beállítási útmutatójában. Ha az ügynök megbízik ebben a harmadik félben, és ez a harmadik fél egy nem regisztrált csomagra mutat, a lánc ugyanúgy működik.
Mit kell tenni most
- Könyvvizsgálat.Ellenőrizze
llms.txtésllms-full.txt. Győződjön meg arról, hogy minden említett csomag, domain és URL létezik, az Ön irányítása alatt áll, és rendelkezik azonosított karbantartóval. Távolítsa el a memóriából megmagyarázhatatlan függőségekre való hivatkozásokat. - Proxy ügynökök és nyilvántartások között.Blokkolja az új csomagokat (a slopsquatted csomagok definíció szerint újak), kényszerítsen ki 24–72 órás lehűlést bármely függőség első kiadása után, ellenőrizze az
provenance(SLSA/Sigstore) fájlt a telepítés előtt. - Ne adjon meg ügynököket:
--yolo,--dangerously-skip-permissions,--trust-all-tools.Ezek a jelzők léteznek, így a fejlesztő vállalja a felelősséget. Ha egy ügynök az Ön jóváhagyása nélkül telepít csomagokat – Ön átadta neki az infrastruktúra kulcsait.
A lényeg
A webhelyek ügynökök számára olvashatóvá tételéért folytatott verseny ütközött a szoftverellátási lánc kiaknázásáért folytatott versenyfutással. Ez nem egy modell vagy egy gyártó hibája – ez egy olyan szabványos tervezési hiba, amelyet senki sem gondol végrehajtható kódnak. Amíg az iparág nem kényszeríti ki annak ellenőrzését, hogy mit olvasnak az ügynökök a weben, minden rossz llms.txt potenciális belépési pont a hálózatba.

Szeretné tesztelni a mesterséges intelligencia munkafolyamatait a biztonság érdekében? A NeuralSpace lehetővé teszi kódgeneráló és tesztelő ügynökök futtatását elszigetelt környezetben –próbáld ki a chat-etvagykód mód.