← Összes cikk

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

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.

llms.txt attack diagram

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

  1. Könyvvizsgálat.Ellenőrizze llms.txt és llms-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.
  2. 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.
  3. 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.

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

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.