← Все статьи

llms.txt Sårbarhed: Hvordan AI-agenter automatisk installerer ondsindet kode via dokumentationsfiler

llms.txt Sårbarhed: Hvordan AI-agenter automatisk installerer ondsindet kode via dokumentationsfiler

Torsdag den 27. august kl.Ars Technica offentliggjorde en undersøgelsedet burde få enhver udvikler, der bruger AI-kodningsagenter, til at genoverveje deres sikkerhed. Forskere fra en israelsk stealth-startup scannede 6.214 domæner tilhørende Fortune 500-virksomheder, forsvarsentreprenører og Big Tech - og fandt 120 llms.txt-filer, der får AI-agenter til automatisk at installere ikke-eksisterende pakker fra PyPI og npm.

Problemet er enkelt og skræmmende: llms.txt er i bund og grund "robots.txt for AI" - en markdown-sitemap-fil, der hjælper agenter med hurtigt at forstå dokumentationsstrukturen. Men specifikationen inkluderer ingen godkendelse, ingen signaturer, ingen integritetstjek. Hvis en sådan fil indeholder pip install non-existent-package eller npm install non-existent-package, og agenten har tilladelse til at køre kommandoer - vil den simpelthen installere, hvad der er skrevet der.

Hvordan det virker

Forskerne fandt 8.265 llms.txt og llms-full.txt filer (mange websteder hoster begge). I 120 af dem - på tværs af 120 forskellige domæner - var der referencer til pakker eller domæner, der ikke findes i registrene. En angriber behøver kun at registrere et sådant navn og uploade ondsindet kode.

For at verificere angrebet registrerede forskerne selv flere "gratis" navne og placerede harmløse pakker, der blot pinger deres server med "Jeg startede". Inden for en time fik de et svar fra et Fortune 500-firma. Med tiden kom der dusinvis flere svar - fra andre giganter og startups. Procestelemetri viste præcis, hvem der installerede pakkerne:Claude Code, OpenAI Codex og Hermes fra Nous Research.

llms.txt attack diagram

Den grimmeste sag — clerk.com

På det legitime clerk.com-websted indeholdt filen llms.txt npx clerk-next-fix-auth-protection. I modsætning til en almindelig npm install kan npx hente en pakke ind i npms cache og udføre dens binære fil uden at tilføje den til projektets afhængighedsmanifest. Nogen formåede at gøre krav på dette gratis navn og uploade faktisk malware. Ekspedient løste problemet, men mønsteret er allerede i produktion.

Hvorfor dette ikke bare er en "modelfejl"

Dette er ikke en hallucination eller en sandkasseflugt. Filen ligger på virksomhedens officielle domæne, serveret over HTTPS, i et standardiseret format designet til AI-forbrug. Agenten har ingen grund til at tvivle på det - filenermyndigheden. Problemet er, at standarden llms.txt (foreslået af Jeremy Howard fra Answer.AI i september 2024) ikke indeholder nogen som helst sikkerhedsbestemmelser: ingen signaturer, ingen oprindelsesbekræftelse, ingen pakkebekræftelse.

Tillidskæden er transitiv: llms.txt behøver ikke at sidde på Fortune 500's eget websted – det kan være på en partners dokumenter, en leverandørs SDK-reference, et fællesskabsprojekts opsætningsvejledning. Hvis agenten har tillid til denne tredjepart, og denne tredjepart peger på en uregistreret pakke - fungerer kæden på samme måde.

Hvad skal man gøre lige nu

  1. Revidere.Tjek dine llms.txt og llms-full.txt. Sørg for, at hver nævnte pakke, domæne og URL findes, er under din kontrol og har en identificeret vedligeholder. Fjern referencer til afhængigheder, du ikke kan forklare, fra hukommelsen.
  2. Proxy mellem agenter og registre.Bloker nye pakker (slopsquatted-pakker er nye per definition), håndhæv en 24-72 timers nedkøling efter enhver afhængigheds første udgivelse, bekræft provenance (SLSA/Sigstore) før installation.
  3. Giv ikke agenter --yolo, --dangerously-skip-permissions, --trust-all-tools.Disse flag eksisterer, så udvikleren tager ansvar. Hvis en agent installerer pakker uden din bekræftelse — har du givet den nøglerne til din infrastruktur.

Bundlinjen

Kapløbet om at gøre websteder læsbare for agenter kolliderede netop med kapløbet om at udnytte softwareforsyningskæden. Dette er ikke én models eller én leverandørs fejl - det er en designfejl i en standard, som ingen tænkte på som eksekverbar kode. Indtil industrien gennemtvinger validering af, hvad agenter læser på nettet, er enhver dårlig llms.txt et potentielt adgangspunkt til dit netværk.

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

Vil du teste dine AI-arbejdsgange for sikkerhed? NeuralSpace lader dig køre kodegenerering og teste agenter i et isoleret miljø —prøv chattenellerkodetilstand.