llms.txt-haavoittuvuus: AI-agentit asentavat haitallisen koodin automaattisesti dokumentaatiotiedostojen kautta
Torstaina 27. elokuutaArs Technica julkaisi tutkimuksenTämän pitäisi saada jokainen tekoälykoodausagentteja käyttävä kehittäjä miettimään uudelleen turvallisuuttaan. Israelilaisen varkain startup-yrityksen tutkijat skannasivat 6 214 verkkotunnusta, jotka kuuluivat Fortune 500 -yrityksille, puolustusurakoitsijoille ja Big Techille – ja löysivät 120 llms.txt tiedostoa, jotka saavat tekoälyagentit asentamaan automaattisesti olemattomia paketteja PyPI:stä ja npm:stä.
Ongelma on yksinkertainen ja pelottava: llms.txt on pohjimmiltaan "robots.txt for AI" – sivukarttatiedosto, joka auttaa agentteja ymmärtämään dokumentaation rakenteen nopeasti. Mutta erittely ei sisällä todennusta, ei allekirjoituksia, ei eheystarkastuksia. Jos tällainen tiedosto sisältää pip install non-existent-package tai npm install non-existent-package ja agentilla on lupa suorittaa komentoja - se yksinkertaisesti asentaa sen, mitä siellä on kirjoitettu.
Miten se toimii
Tutkijat löysivät 8 265 llms.txt- ja llms-full.txt-tiedostoa (monet sivustot isännöivät molempia). Niistä 120:ssä – 120 eri verkkotunnuksessa – oli viittauksia paketteihin tai verkkotunnuksiin, joita ei ole rekistereissä. Hyökkääjän tarvitsee vain rekisteröidä tällainen nimi ja ladata haitallinen koodi.
Vahvistaakseen hyökkäyksen tutkijat rekisteröivät itse useita "ilmaisia" nimiä ja asettivat vaarattomia paketteja, jotka yksinkertaisesti pingivät heidän palvelimelleen "Aloitin". Tunnin sisällä he saivat vastauksen Fortune 500 -yritykseltä. Ajan myötä saapui kymmeniä lisää vastauksia – muilta jättiläisiltä ja startup-yrityksiltä. Prosessin telemetria osoitti tarkalleen, kuka paketit asensi:Claude Code, OpenAI Codex ja Hermes Nous Researchista.

Pahin tapaus - clerk.com
Laillisessa clerk.com-sivustossa llms.txt-tiedosto sisälsi npx clerk-next-fix-auth-protection. Toisin kuin tavallinen npm install, npx voi hakea paketin npm:n välimuistiin ja suorittaa sen binaaritiedoston lisäämättä sitä projektin riippuvuusluetteloon. Joku onnistui lunastamaan tämän ilmaisen nimen ja lataamaan todellisen haittaohjelman. Virkailija korjasi ongelman, mutta malli on jo tuotannossa.
Miksi tämä ei ole vain "mallivirhe"
Tämä ei ole hallusinaatio tai hiekkalaatikkopako. Tiedosto sijaitsee yrityksen virallisella verkkotunnuksella, palvellaan HTTPS:n kautta standardoidussa muodossa, joka on suunniteltu tekoälyn käyttöön. Agentilla ei ole syytä epäillä sitä - tiedostoonviranomainen. Ongelmana on, että llms.txt-standardi (Jeremy Howardin Answer.AI:sta syyskuussa 2024 ehdottama) ei sisällä minkäänlaisia turvallisuusmääräyksiä: ei allekirjoituksia, ei alkuperän varmennusta, ei paketin vahvistusta.
Luottamusketju on transitiivinen: llms.txt ei tarvitse olla Fortune 500:n omalla sivustolla – se voi olla kumppanin asiakirjoissa, toimittajan SDK-viittauksessa tai yhteisöprojektin asennusoppaassa. Jos agentti luottaa kyseiseen kolmanteen osapuoleen ja tämä kolmas osapuoli viittaa rekisteröimättömään pakettiin, ketju toimii samalla tavalla.
Mitä tehdä juuri nyt
- Tarkastaa.Tarkista
llms.txtjallms-full.txt. Varmista, että jokainen mainittu paketti, verkkotunnus ja URL-osoite ovat olemassa, ovat hallinnassasi ja että niillä on tunnistettu ylläpitäjä. Poista viittaukset riippuvuuksiin, joita et voi selittää muistista. - Välityspalvelin agenttien ja rekisterien välillä.Estä uudet paketit (slopsquatted-paketit ovat määritelmän mukaan uusia), pakota 24–72 tunnin jäähdytys minkä tahansa riippuvuuden ensimmäisen julkaisun jälkeen, tarkista
provenance(SLSA/Sigstore) ennen asennusta. - Älä anna agentteja
--yolo,--dangerously-skip-permissions,--trust-all-tools.Nämä liput ovat olemassa, joten kehittäjä ottaa vastuun. Jos agentti asentaa paketteja ilman vahvistusta, olet luovuttanut sille infrastruktuurisi avaimet.
Lopputulos
Kilpa saada verkkosivustoista agenttien luettavaksi törmäsi kilpailuun ohjelmistojen toimitusketjun hyödyntämisestä. Tämä ei ole yhden mallin tai yhden toimittajan vika – se on suunnitteluvirhe standardissa, jota kukaan ei pitänyt suoritettavana koodina. Kunnes teollisuus pakottaa vahvistamaan sen, mitä agentit lukevat verkossa, jokainen huono llms.txt on mahdollinen sisääntulopiste verkkoosi.

Haluatko testata tekoälyn työnkulkujasi turvallisuuden vuoksi? NeuralSpacen avulla voit ajaa koodin luontia ja testata agentteja eristetyssä ympäristössä —kokeile chattiataikooditila.