← Alle artikler

llms.txt Sårbarhet: Hvordan AI-agenter automatisk installerer skadelig kode via dokumentasjonsfiler

llms.txt Sårbarhet: Hvordan AI-agenter automatisk installerer skadelig kode via dokumentasjonsfiler

Torsdag 27. august kl.Ars Technica publiserte en undersøkelsesom burde få enhver utviklere som bruker AI-kodingsagenter til å revurdere sikkerheten sin. Forskere fra en israelsk stealth-oppstart skannet 6214 domener som tilhører Fortune 500-selskaper, forsvarsentreprenører og Big Tech – og fant 120 llms.txt-filer som får AI-agenter til å automatisk installere ikke-eksisterende pakker fra PyPI og npm.

Problemet er enkelt og skremmende: llms.txt er i hovedsak "robots.txt for AI" - en nedmerkingsfil for nettstedskart som hjelper agenter raskt å forstå dokumentasjonsstrukturen. Men spesifikasjonen inkluderer ingen autentisering, ingen signaturer, ingen integritetssjekker. Hvis en slik fil inneholder pip install non-existent-package eller npm install non-existent-package, og agenten har tillatelse til å kjøre kommandoer - vil den ganske enkelt installere det som er skrevet der.

Hvordan det fungerer

Forskerne fant 8265 llms.txt og llms-full.txt filer (mange nettsteder er vert for begge). I 120 av dem - på tvers av 120 forskjellige domener - var det referanser til pakker eller domener som ikke eksisterer i registrene. En angriper trenger bare å registrere et slikt navn og laste opp skadelig kode.

For å bekrefte angrepet registrerte forskerne selv flere «gratis» navn og plasserte ufarlige pakker som ganske enkelt pinger serveren deres med «Jeg startet». I løpet av en time fikk de svar fra et Fortune 500-selskap. Over tid kom det flere titalls flere svar - fra andre giganter og startups. Prosesstelemetri viste nøyaktig hvem som installerte pakkene:Claude Code, OpenAI Codex og Hermes fra Nous Research.

llms.txt attack diagram

Den ekleste saken — kontorist.com

På den legitime clerk.com-siden inneholdt llms.txt-filen npx clerk-next-fix-auth-protection. I motsetning til en vanlig npm install, kan npx hente en pakke inn i npms hurtigbuffer og kjøre binæren uten å legge den til prosjektets avhengighetsmanifest. Noen klarte å kreve dette gratisnavnet og laste opp faktisk skadelig programvare. Kontorist løste problemet, men mønsteret er allerede i produksjon.

Hvorfor dette ikke bare er en "modellfeil"

Dette er ikke en hallusinasjon eller en sandkasseflukt. Filen ligger på selskapets offisielle domene, servert over HTTPS, i et standardisert format designet for AI-forbruk. Agenten har ingen grunn til å tvile på det - filenermyndigheten. Problemet er at llms.txt-standarden (foreslått av Jeremy Howard fra Answer.AI i september 2024) inneholder ingen sikkerhetsbestemmelser overhodet: ingen signaturer, ingen opprinnelsesverifisering, ingen pakkeverifisering.

Tillitskjeden er transitiv: llms.txt trenger ikke å sitte på Fortune 500s eget nettsted – det kan være på en partners dokumenter, en leverandørs SDK-referanse, et fellesskapsprosjekts oppsettsveiledning. Hvis agenten stoler på den tredjeparten, og den tredjeparten peker på en uregistrert pakke - fungerer kjeden på samme måte.

Hva du skal gjøre akkurat nå

  1. Revidere.Sjekk llms.txt og llms-full.txt. Sørg for at hver nevnte pakke, domene og URL eksisterer, er under din kontroll og har en identifisert vedlikeholder. Fjern referanser til avhengigheter du ikke kan forklare fra minnet.
  2. Fullmakt mellom agenter og registre.Blokker nye pakker (slopsquatted-pakker er nye per definisjon), håndhev en 24–72 timers nedkjøling etter enhver avhengighets første utgivelse, bekreft provenance (SLSA/Sigstore) før installasjon.
  3. Ikke gi agenter --yolo, --dangerously-skip-permissions, --trust-all-tools.Disse flaggene eksisterer så utvikleren tar ansvar. Hvis en agent installerer pakker uten din bekreftelse – har du gitt den nøklene til infrastrukturen din.

Bunnlinjen

Kappløpet om å gjøre nettsteder lesbare for agenter kolliderte nettopp med kappløpet om å utnytte programvareforsyningskjeden. Dette er ikke én modells eller én leverandørs feil – det er en designfeil i en standard ingen tenkte på som kjørbar kode. Inntil industrien håndhever validering av hva agenter leser på nettet, er hver dårlig llms.txt et potensielt inngangspunkt til nettverket ditt.

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

Vil du teste AI-arbeidsflytene dine for sikkerhet? NeuralSpace lar deg kjøre kodegenerering og teste agenter i et isolert miljø —prøv chattenellerkodemodus.