drošība · 4 min · 11.07.2026

HalluSquatting: AI asistenti instalē ļaunprogrammatūru no repozitorijiem, kurus paši izdomā

Pētnieki no Telavivas Universitātes, Technion un Intuit publicēja pētījumu par uzbrukuma tehniku, ko sauc par HalluSquatting. Uzbrucējs iepriekš reģistrē repozitorija vai npm/PyPI pakotnes nosaukumu, ko AI koda asistenti bieži halucinē, atbildot uz izstrādātāju lūgumiem. Kad lietotājs palūdz asistentam uzstādīt kādu rīku vai bibliotēku, asistents var “izdomāt” šo nosaukumu, lejupielādēt uzbrucēja versiju un to automātiski palaist ar lietotāja tiesībām.

Pārbaudītie rīki: Cursor, Windsurf, GitHub Copilot, Cline, Gemini CLI un OpenClaw. Halucināciju biežums repozitoriju klonēšanas uzdevumos sasniedza 85%, skill instalācijās — dažos scenārijos 100%.

Kā uzbrucējs atrod halucinētos nosaukumus

Uzbrukuma sagatavošana ir izpēte. Uzbrucējs nosūta daudzus līdzīgus lūgumus vairākiem AI modeļiem — “uzstādi Python bibliotēku JWT parsēšanai” vai “klonē github rīku log analīzei” — un fiksē katras atbildes. Ja vairāki modeļi atkārtoti minē vienu un to pašu nosaukumu, kurš neeksistē nevienā reģistrā, tas ir kandidāts. Pēc tam uzbrucējs to reģistrē npm, PyPI vai GitHub.

Pētnieki demonstrēja, ka procesu var automatizēt. Saskaņā ar GBHackers pētījuma atradumiem ar pietiekamu vaicājumu skaitu atrodami desmitiem nosaukumu, ko modeļi halucinē ar 20% un augstāku biežumu. Katra modeļa atjauninājums var mainīt, kuri nosaukumi tiek halucinēti, tāpēc uzbrucēji var uzturēt portfeli ar “nākotnes halucinācijām” — reģistrētiem nosaukumiem, kurus nākamā modeļa versija varbūt sāks rekomendēt.

Atšķirība no typosquatting

Typosquatting prasa, lai lietotājs kļūdītos rakstot. HalluSquatting neprasa neko. Lietotājs vispār neko neievada manuāli — AI asistents pats izdomā nosaukumu un pats to arī lejupielādē, izmantojot iebūvēto terminālī. Dažiem testētajiem rīkiem izpilde notiek pirms lietotājs redz komandu.

Pētnieki šo paņēmienu apraksta kā “untargeted promptware” — uzbrucējam nav jāzina konkrēts upuris un nav vajadzīga tieša mijiedarbība. Uzbrukuma mērogs pieaug pasīvi: jo vairāk izstrādātāju paļaujas uz AI asistentiem ikdienas darbā, jo vairāk iespēju uzbrucēja reģistrētā pakotne tiks pieprasīta.

Cik bieži modeļi halucinē konkrētus nosaukumus

Pētnieki testēja visus sešus rīkus ar vairākiem desmitiem uzdevumu formulējumu. Repozitoriju klonēšanas scenārijos biežums svārstījās starp 12% un 85% atkarībā no modeļa versijas un lūguma formulējuma. Skill instalācijās atsevišķos testos neviena no atbildēm neminēja reālu pakotni — 100% halucināciju biežums.

Saskaņā ar SecurityWeek pētnieku secinājumiem halucinētie nosaukumi ir konsistenti: viens un tas pats modelis mēdz “izdomāt” to pašu neeksistējošo nosaukumu vairākas reizes. Šī konsistence padara uzbrukumu prognozējamu — uzbrucējs var ar ticamību paredzēt, kurus nosaukumus nākamreiz rekomendēs modelis.

Aģentiskie botneti un risks izstrādātāju videi

Mirai 2016. gadā izmantoja vājas IoT ierīces paroles un pārvērta par robottīklu vairāk nekā 600 000 ierīces. HalluSquatting mērķis ir daudz vērtīgāks: izstrādātāja darba vieta ar SSH atslēgām, git repozitorijiem, API tokenēm un piekļuvi ražošanas sistēmām.

Pētnieki no CybersecurityNews dokumentēja, ka HalluSquatting var izveidot t.s. “aģentiskos botnetus” — ierīces, kurās AI asistents pats sazinās ar komandas serveri un izpilda turpmākus uzdevumus bez lietotāja iesaistīšanās. Salīdzinājumā ar Mirai, kur katru jauno ierīci vajadzēja aktīvi meklēt, aģentiskais botnet pieaug katru reizi, kad kāds izstrādātājs jautā savai AI kodniecei par jaunu bibliotēku.

Kā samazināt risku

Pašlaik neviens no ražotājiem nav izlaidis ielāpu, kas novērstu halucinācijas kā tādas. Daži praktiski soļi:

  • Ieslēgt AI asistenta “approval mode” — konfigurāciju, kurā katru terminālā izpildāmu komandu apstiprina lietotājs manuāli pirms izpildes.
  • Izstrādes vidēs izmantot venv vai Docker, kas ierobežo instalēto pakotņu piekļuvi failu sistēmai un tīklam.
  • Pirms jaunu repozitoriju klonēšanas pārliecināties, ka nosaukums eksistē npm, PyPI vai GitHub reģistros.
  • Fiksēt atkarības package-lock.json vai requirements.txt, lai asistents neizvēlētos pakotnes pats.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no drošībasaistītie