Aptuveni katrā piektajā koda paraugā, ko uzraksta liels valodas modelis, parādās vismaz viens pakotnes nosaukums, kas neeksistē. Modelis to uzraksta pārliecināti, nosaukums iederas ekosistēmā, un ja izstrādātājs vai kodēšanas aģents to instalē bez pārbaudes, viņš instalē to, kas atrodas aiz šī nosaukuma. Sākumā tas bija tikai kaitinošs troksnis. Tagad uzbrucēji ir iemācījušies to vadīt.
8. jūlijā Telavivas Universitātes pētnieku grupa Bena Nasi vadībā kopā ar kolēģiem no Tehniona un Intuit publicēja darbu, kas šo troksni pārvērš mērķētā uzbrukumā. Metodi viņi nosauca par HalluSquatting. Tā vietā, lai gaidītu, kad modelis nejauši uzminēs kādu nosaukumu, ko uzbrucējs jau ir reģistrējis, pētnieki uzrādīja universālu tekstu, kas piespiež aģentu izdomāt tieši to nosaukumu, ko uzbrucējs vēlas.
Kā izdomāta pakotne kļūst par ieroci
Uzbrukuma pamatā ir slopsquatting — nosaukums, kas savieno “AI slop” ar tipkvotēšanu (typosquatting). Shēma ir vienkārša. Uzbrucējs atrod pakotnes nosaukumu, ko modelis mēdz izdomāt, reģistrē to npm vai PyPI, ieliek iekšā ļaunu kodu un gaida. Kad nākamais modelis šo pašu nosaukumu ieraksta package.json vai requirements.txt, upuris pats instalē uzbrucēja kodu.
Cik plaša ir problēma, parāda 2025. gada USENIX pētījums, uz kuru atsaucas drošības firma Aikido. Pētnieki ģenerēja 576 000 koda paraugu ar 16 modeļiem, ieguva 2,23 miljonus pakotņu atsauču, un 19,7% no tām bija izdomātas — kopā 205 474 unikāli nosaukumi. No izdomātajiem 51% bija tīras fabrikācijas, 38% sajauca divas reālas lietas kopā (piemēram, express-mongoose), un 13% bija drukas variācijas.
No gaidīšanas uz komandu pēc pieprasījuma
Vecais slopsquatting balstījās uz veiksmi: uzbrucējs reģistrē nosaukumu un cer, ka modelis to kādreiz uzrakstīs. HalluSquatting šo nejaušību noņem. Nasi grupa atrada tekstu, ko var pievienot pieprasījumam un kas visos pārbaudītajos modeļos izsauc vienu un to pašu izdomāto nosaukumu — repozitoriju vai spraudni, kas nepastāv, līdz uzbrucējs to reģistrē.
Pārbaudē grupa piespieda aģentu atgriezt to pašu izdomāto nosaukumu līdz 85% repozitoriju pieprasījumu un 100% spraudņu instalāciju. Kad aģents nosaukumu ir izdomājis, tas pats to lejupielādē un palaiž caur savu iebūvēto termināli. Pēc The Hacker News ziņotā, veiksmīgi pārbaudīti Cursor, Windsurf, GitHub Copilot, Cline, Google Gemini CLI un OpenClaw saime.
Ja viens ievietots nosaukums nostrādā uz daudziem modeļiem un daudziem lietotājiem, no tā var salikt botnetu — atkārto to ar pietiekami populāru resursu, un viena pakotne sasniedz simtiem mašīnu.
Tieši tāpēc pētnieki savu darbu nosauca “Beware of Agentic Botnets”. Aģents, kas darbojas auto-run režīmā bez apstiprinājuma, kļūst par izplatīšanas kanālu, kuru vada teksts pieprasījumā, nevis pati pakotne.
Modeļi izdomā vienu un to pašu
Varētu domāt, ka katrs modelis halucinē savus nosaukumus un tāpēc mērķis ir izplūdis. Tā nav. Atkārtots novērtējums 2026. gadā uz jaunāko modeļu paaudzi (arXiv 2605.17062) parādīja, ka jaunie modeļi halucinē retāk — 4,6% līdz 6,1% gadījumu — bet atrada 127 nosaukumus, ko pieci dažādi modeļi izdomāja identiski. No tiem 109 attiecās uz PyPI un 18 uz npm. Uzbrucējam pietiek reģistrēt šos 127, lai noķertu lietotājus neatkarīgi no tā, kuru rīku viņi izmanto.
Šī nav teorija. Pakotne unused-imports ir apstiprināts ļauns npm ieraksts, ko modeļi raksta īstā eslint-plugin-unused-imports vietā; februāra sākumā tā joprojām vilka 233 lejupielādes nedēļā. Python pusē izdomātā huggingface-cli trīs mēnešos savāca vairāk nekā 30 000 īstu lejupielāžu, kaut pareizā komanda ir pip install -U "huggingface_hub[cli]". Vēl viens nosaukums, react-codeshift, bija paguvis izplatīties 237 repozitorijos caur forkiem, pirms pētnieks to reģistrēja, lai kāds cits to neizmantotu ļaunprātīgi.
Ko darīt
Pirmais solis ir izslēgt aģentu auto-run pēc noklusējuma. Ja rīks pats lejupielādē un izpilda pakotni bez cilvēka apstiprinājuma, tieši šo soli uzbrukums izmanto. Otrais — pieprasīt, lai aģents veic reālu meklēšanu un pārbauda, vai nosaukums vispār atrisinās uz esošu, uzticamu avotu, pirms to ņem.
Komandām noderēs software composition analysis, kas skenē visu atkarību koku, nevis tikai tiešās pakotnes. Aikido iesaka arī SafeChain — atvērtā koda npm apvalku, kas pirms instalācijas salīdzina pakotni ar draudu izlūkdatiem. Un vienkāršs ieradums, kas noķer lielu daļu gadījumu: pakotni vērtē pēc tā, kas to publicējis, nevis pēc lejupielāžu skaita, jo skaitli uzbrucēji uzpūš mākslīgi.
Halucinētie nosaukumi nepazudīs, kamēr modeļi ģenerē kodu. Kamēr aģentiem ir atļauts lejupielādēt un palaist to, ko tie paši izdomā, reģistrēts nosaukums un viens rūpīgi sagatavots teksts pieprasījumā ir viss, kas uzbrucējam vajadzīgs.
Avoti
- The Hacker News — New HalluSquatting Attack Could Trick AI Coding Assistants
- SecurityWeek — HalluSquatting Turns AI Hallucinations Into Botnet Delivery Mechanism
- arXiv 2605.17062 — Re-evaluating LLM Package Hallucinations on the 2026 Frontier-Model Cohort
- Aikido — Slopsquatting: The AI Package Hallucination Attack Already Happening
- CybeDefend — What Is Slopsquatting? (+ the HalluSquatting Attack)
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.