Kas yra pritūpimas tuščiaviduriu žingsniu? Tai yra ataka kai kenkėjiški veikėjai užregistruoja tikslius paketų pavadinimus, kuriuos haliucinavo dirbtinio intelekto kodavimo asistentai, tada įkelia į tuos paketus kenkėjiška programa ir laukia, kol kūrėjas jas įdiegs. Tai nėra kraštutinis atvejis. Tyrime, pristatytame adresu USENIX saugumas 2025 m., 19.7 % dirbtinio intelekto kodavimo modelių rekomenduojamų paketų iš 576 000 kodo pavyzdžių neegzistavo, o visuose išbandytuose modeliuose tyrėjai užfiksavo daugiau nei 205 000 unikalių haliucinuotų pavadinimų.
Suprasti, kas yra kliūtinis pritūpimas (ir kaip tai atrodo praktiškai), svarbu, nes tai ne tik dirbtinio intelekto ypatybė. Kliūtinis pritūpimas yra dirbtinio intelekto eros įpėdinis... klaidų rašymas, su vienu esminiu skirtumu: spausdinimo klaida įvyksta dėl žmogaus spausdinimo klaidos, o prastas rašymas – dėl modelio klaidos, kuri kartojasi pakankamai nuspėjamai, kad užpuolikas galėtų ja pasinaudoti dideliu mastu. Šiame vadove paaiškinama, kas yra prastas rašymas, kodėl jis plinta greičiau, nei gali jį aptikti paketų peržiūra, kokią riziką jis kelia ir kaip organizacijos gali jį aptikti ir užkirsti jam kelią, kol jis nepasiekia gamybinės aplinkos.
Slopsquatting reikšmė: apibrėžimas #
„Slopsquatting“ (oficialiai tai reiškia: paketo pavadinimo, kurį haliucina didelis kalbos modelis, išgalvoto pavadinimo, kuris skamba įtikinamai, bet neegzistuoja jokiame viešajame registre, registravimo praktika ir kenkėjiško kodo įkėlimas į jį. prieš tai, kai tikras kūrėjas jį įdiegia remdamasis dirbtinio intelekto pasiūlymu.
Šis terminas išplečia rašybos klaidų (paketo pavadinimo, kuris imituoja tikrą pavadinimą dėl įprastos rašybos klaidos), sąvoką iki specifinio generatyvinio dirbtinio intelekto gedimo režimo. Kai rašybos klaidų taisymas išnaudoja žmogaus rašybos klaidą, o prastas klaidų taisymas išnaudoja... Dirbtinio intelekto modelio haliucinacijosnKodavimo asistentas rekomenduoja naudoti „pip install“ arba „npm install“ paketui, kuris niekada neegzistavo, o užpuolikas, pastebėjęs tą patį sugalvotą pavadinimą pasikartojantį skirtinguose raginimuose, jį užregistruoja pirmiausia.
Praktiškai „slopsquatting“ reiškia štai ką: tiekimo grandinės ataka, kuri modelio klaidą paverčia veikiančiu spraga, be jokių žmogiškų klaidų, išskyrus pasitikėjimą dirbtinio intelekto pasiūlymu. Tai nėra teorinis sprendimas. Vienas haliucinacijų paketas, įdiegtas kaip gerybinis testas 2023 m., per tris mėnesius be jokios reklamos sulaukė daugiau nei 30 000 atsisiuntimų ir patvirtino, kad kenkėjiški variantai, išnaudojantys būtent šį modelį, jau šiandien yra viešuosiuose registruose.
Pritūpimai su nusvirusiais ir pritūpimai su rašybos pratimais: kuo skiriasi? #
„Slopsquatting“ ir „typosquatting“ turi tą patį rezultatą (kūrėjas įdiegia kenkėjišką paketą manydamas, kad jis yra teisėtas), tačiau klaidos šaltinis yra kategoriškai skirtingas.
Spausdinimo klaidos priklauso nuo žmogaus spausdinimo klaidos: kūrėjas nori įvesti užklausas ir vietoj jų įveda „requests“, o užpuolikas, užregistravęs tą neteisingai parašytą vardą, laukia. Rizika susijusi su vienu kūrėjo klavišo paspaudimu, viena neatidumo akimirka.
„Slopsquatting“ visiškai pašalina žmogiškąją klaidą ir pakeičia ją modelio klaida, kuri dideliu mastu kartojasi kiekvienam kūrėjui, gaunančiam panašų raginimą. Tolesnė analizė parodė, kad kai tyrėjai dešimt kartų pakartojo identiškus raginimus, 43 % haliucinuotų paketų pavadinimų pasirodydavo kiekvieno paleidimo metu, o 58 % pasikartojo daugiau nei vieną kartą. Šis kartojamumas yra tai, kas leidžia išnaudoti „slopsquatting“: užpuolikui nereikia spėlioti rašybos klaidos. Jam tereikia stebėti, kokį haliucinuotą pavadinimą modelis kartoja, ir jį užregistruoti anksčiau nei tikras kūrėjas.
Didžiausias skirtumas yra mastelis. Paketas su klaidomis laukia spausdinimo klaidos. Paketas su netvarka laukia, kol ta pati dirbtinio intelekto sugeneruota rekomendacija pasieks kitą kūrėją, o tada dar vieną, ir dar vieną – visose organizacijose, naudojančiose tą patį modelį.
Kodėl verta rinktis „slopsquatting“? #
„Slopsquatting“ plinta dėl tos pačios priežasties, kaip ir „typosquatting“ visada: užpuolikai išnaudoja nuspėjamą modelį, kuriuo kūrėjai pagal nutylėjimą pasitiki. Nauja yra pasitikėjimo mastas.
Dirbtinio intelekto padedamo kodavimo iškilimas, autonominiai agentai ir „vibe coding“ darbo eigos, kai kūrėjai prieš paleisdami kodą peržiūri vis mažiau jo, pakeitė programinės įrangos atakų paviršių dviem konkrečiais būdais:
Įėjimo taškas nebėra vien kūrėjas. Spausdinimo klaidos ataka priklauso nuo vieno žmogaus spausdinimo klaidos. Spausdinimo klaidos gali kilti pačiame modelyje ir išplisti tarp šimtų skirtingų kūrėjų, kurie užduoda panašius klausimus ir gauna tą pačią haliucinuotą rekomendaciją, taip padidindami vienos atakos aprėptį.
Atakos paviršius pasistūmėjo aukščiau grandinėje. Nebeužtenka peržiūrėti žmogaus parašyto kodo. Komandos taip pat turi stebėti DI asistento siūlomas priklausomybes, MCP serverius, prie kurių jis jungiasi, ir agentus, kurie automatiškai diegia paketus be tiesioginės žmogaus peržiūros. Tradicinis programų saugumas, sukurtas saugykloms ir žmogui peržiūrėti. commits niekada nebuvo sukurtas stebėti šios naujos sąveikos tarp kūrėjo, dirbtinio intelekto ir paketų registro, o būtent čia slypi aplaidumas.
Šlubčiojimo rizika #
Nesibaigiantis pardavimas kelia riziką tarp tarpusavyje susijusių dimensijų, ir ši tendencija spartėja, o ne nyksta.
- Pakartotinis išnaudojimas. Kadangi haliucinacijos vardai nėra atsitiktiniai, tas pats netikras vardas nuspėjamai pasirodo skirtinguose seansuose ir modeliuose. Užpuolikams nereikia spėlioti; jiems tereikia stebėti modelio elgesį ir užregistruoti nuolat pasikartojančius vardus, paverčiant vienkartinę haliucinaciją keičiamo dydžio, pasikartojančia ataka.
- Agentinis dauginimas. Nevykęs diegimas nebėra apsiribojamas kūrėjo siūlomos diegimo komandos nukopijavimu ir įklijavimu. 2026 m. sausio mėn. tyrėjai nustatė, kad dirbtinio intelekto kodavimo agentai jau buvo išplatinę instrukcijas, kuriose nurodomas haliucinuotas npm paketas, 237 saugyklose, o agentai vis dar bando jį įdiegti kasdien, o žmogus nedalyvauja ir nepastebi klaidos.
- Vardo panašumo vengimas. Maždaug 38 % haliucinuotų paketų pavadinimų labai panašūs į tikrus paketus, todėl sumažėja tikimybė, kad kūrėjas iš karto pastebės pakeitimą. Kenkėjiškas paketas, kuriame vienas simbolis yra atskirtas nuo patikimos priklausomybės, neatrodo įtartinai; tai atrodo kaip rašybos klaida, kurią padarytumėte pats.
- Nuolatinis poveikis po aptikimo. Haliucinuotas paketas, pakeitęs teisėtą „ESLint“ įskiepį, vis dar fiksavo savaitinius atsisiuntimus net ir po to, kai registras jį sustabdė saugos režimu. Tai įrodymas, kad netinkamai įdiegto paketo pažymėjimas iš karto nesustabdo jo diegimo.
Kur slepiasi Slopsquatting #
Sunkiausia pastebėti „slopsquatting“ yra tai, kad tuo metu, kai įvyksta, tai neatrodo kaip ataka; atrodo kaip įprastas sėkmingai atliktas „pip“ arba „npm“ diegimas, nes paketas iš tikrųjų egzistuoja, kai užpuolikas jį užregistruoja.
Šlubčiojimas paprastai patenka per:
- Dirbtinio intelekto kodavimo asistentai ir antrieji pilotai. Pradinis pasiūlymas – išgalvotas paketo pavadinimas, pateiktas kartu su teisėtu, veikiančiu kodu – ir yra pažeidžiamumo priežastis. Aplinkiniame kode niekas neatrodo blogai, nes paprastai taip ir nėra; netikra yra tik priklausomybė.
- Autonominiai kodavimo agentai. Agentiniai darbo eigos, kurios diegia priklausomybes be žmogaus peržiūros, pašalina vieną kontrolinį tašką – kūrėjo sustojimą, kad patikrintų vardą, kuris kitaip aptiktų haliucinuotą paketą dar prieš jam pasiekiant projektą.
- Paketų tvarkyklės be patvirtinimo veiksmo. Nei „pip install“, nei „npm install“ neparodo klaidos, kai tikslinis paketas yra kenkėjiškas. Diegimas baigiamas normaliai, nes, paketų tvarkyklės požiūriu, nieko blogo nėra.
Kaip atrasti ir išvengti slopsquatting #
Norint išvengti neorganizuoto kodo diegimo, nereikia jokių egzotiškų įrankių. Reikia sistemingai taikyti jau egzistuojančias priklausomybių higienos praktikas, o ne jas sušvelninti vos tik dirbtinis intelektas „pasiūlo“ kodą.
Prieš diegdami bet kokį naują paketą, patikrinkite jį, ypač jei jį siūlo dirbtinio intelekto asistentas. Įsitikinkite, kad jis yra oficialiame registre, kas jį tvarko, kada jis buvo paskelbtas ir ar jo atsisiuntimų skaičiai atrodo tikri.
Niekada nemanykite, kad dirbtinio intelekto generuojamas kodas pagal nutylėjimą yra saugus.Tai, kad kodas „veikia“, dar nereiškia, kad jo priklausomybės yra teisėtos. Priklausomybių peržiūra turėtų būti kodo peržiūros dalis, o ne išimtis.
Įdiekite priklausomybių nuskaitymą, kuris pažymėtų rizikos modelius, neapsiribojančius žinomais CVE: anomalius paketus, įtartinai panašius į esamus pavadinimus, naujus kūrėjus be jokios patirties arba neįprastai veikiančius diegimo scenarijus.
Taikyti AI-SPM kaip valdymo sluoksnį. Dirbtinio intelekto saugumo padėties valdymas – tai praktika, skirta aptikti būtent tokio tipo dirbtinio intelekto sukeltą riziką dideliu mastu, nuolat atrandant dirbtinio intelekto siūlomas priklausomybes ir jas vertinant dar prieš žmogui prisimenant patikrinti rankiniu būdu.
Apsauga nuo pritūpimų naudojant „Xygeni“ #
Vien kūrėjų budrumas negali užkirsti kelio nekontroliuojamam diegimui. Politika, nurodanti „patikrinti kiekvieną dirbtinio intelekto siūlomą paketą“, netaikoma visoje organizacijoje, kurioje priklausomybių pasiūlymai pateikiami greičiau, nei gali suspėti bet kuris žmogaus atliekamas peržiūros procesas.
Ksigenis metodas tai traktuoja kaip nuolatinio aptikimo problemą: DI inventorius ir DI BOM paviršius kiekvienas dirbtinio intelekto pristatytas priklausomybė visoje SDLC, suteikdamas komandoms tiesioginį įrašą apie tai, ką DI asistentas iš tikrųjų pasiūlė ir įdiegė. „Xygeni“ Shield, Powered by MEW (kenkėjiškų programų ankstyvasis įspėjimas), aptinka ir blokuoja kenkėjiškus paketus, įskaitant ir netikslius, dar prieš atsirandant parašui, taip užpildydamas tą pačią spragą, kurią palieka parašu pagrįsti skaitytuvai.
Jei jūsų komandos naudoja dirbtinio intelekto programavimo asistentus, aplaidumo problema jau egzistuoja. Kyla klausimas, ar kitas haliucinuotas vardas bus užfiksuotas prieš jam įdiegiant.

DUK #
„Slopsquatting“ – tai tiekimo grandinės ataka, kai kenkėjiški veikėjai užregistruoja tikslius neegzistuojančius paketų pavadinimus, kuriuos dirbtinio intelekto kodavimo asistentai nuolat haliucina, ir įkelia juos kenkėjiška programa prieš tai, kai kūrėjas įdiegia ją pagal dirbtinio intelekto pasiūlymą.
Užpuolikai stebi, kurie paketų pavadinimai DI modeliuose haliucinacijas sukelia pakartotinai, o tada užregistruoja tuos pačius pavadinimus kenkėjiškame kode anksčiau, nei tai padaro tikras kūrėjas. Kadangi haliucinacijos sukeliamas pavadinimas nuspėjamai kartojasi skirtingose užklausose ir sesijose, vienas užregistruotas modifikuotas paketas gali pasiekti kiekvieną kūrėją, kuris gauna panašų DI pasiūlymą, paversdamas vieną modelio ydą keičiamo mastelio ataka prieš visą vartotojų bazę.
Efektyvus aptikimas reiškia, kad dirbtinio intelekto siūlomas priklausomybes reikia traktuoti kaip atskirą rizikos kategoriją, o ne kaip įprastų atvirojo kodo priklausomybių pogrupį. Tam reikia matyti, ką iš tikrųjų siūlo ir įdiegia dirbtinio intelekto kodavimo asistentai ir agentai, palyginti su registro duomenimis (paskelbimo data, priežiūros istorija, atsisiuntimo modeliai) ir elgesiu pagrįstu kenkėjiškų programų aptikimu, o ne pasikliauti vien tik parašais pagrįstu nuskaitymu.
