Napadi čučnjem

Napadi s promašajem: Kako je pogreška umjetne inteligencije postala novi način ulaska u vaš lanac opskrbe softverom

Problem u jednoj rečenici

Sljedeći put AI asistent preporučuje paket za instalaciju, hoćete li zapravo provjeriti postoji li taj paket? Većina programera nije. Taj jaz između prijedloga i provjere upravo je mjesto gdje počinju napadi slopsquattingom i zato je razumijevanje evolucije slopsquattinga i praktična prevencija slopsquattinga postala pravi prioritet za AppSec i DevSecOps timove.

Što je napad čučnjem?

Napad čučnjem je varijanta tipo skvotiranje (praksa registracije naziva domene ili paketa koji oponaša legitimni naziv putem uobičajene pravopisne pogreške, kao što je zahtjevi umjesto zahtjeva, nadajući se da će ga korisnikova vlastita tipografska pogreška odvesti ravno do njega), ali s važnom razlikom u tome odakle pogreška potječe. Typosquatting iskorištava ljudske tipografske pogreške. Slopsquatting napad iskorištava pogreške koje čine veliki jezični modeli: LLM "halucinira" naziv paketa koji zvuči savršeno legitimno, ali ne postoji ni u jednom javnom registru, a napadač prvi dolazi tamo registrirajući točno taj naziv prije nego što to učini bilo tko s dobrim namjerama. 

Mehanizam iza tipičnog napada čučnjem je jednostavan, i upravo ta jednostavnost ga čini učinkovitim:

  • Programer traži od AI asistenta da mu pomogne riješiti problem s kodiranjem.
  • Model generira rješenje koje uvozi ili preporučuje instaliranje paketa koji nikada nije postojao.
  • Napadač koji je primijetio da nekoliko modela ponavlja isto halucinirano ime registrira taj paket na npm-u, PyPI-ju ili nekom drugom javnom registru, sa zlonamjernim kodom unutra. To je trenutak kada se halucinacija pretvara u pravi napad slopsquattingom.
  • Sljedeći programer koji dobije isti prijedlog i ne ga provjeri, instalira sada već pravi paket, koji predstavlja stražnja vrata u njihovo okruženje.

Izraz „slopsquatting“ skovao je Seth Larson, rezidentni sigurnosni razvojni inženjer u Python Software Foundationu, a popularizirao ga je Andrew Nesbitt, kako bi opisao upravo ovaj obrazac: „halucinacija paketa“ pretvorena u vektor napada.

Evolucija nemarnog pristupa: kako je istraživačka znatiželja prerasla u stvarnu prijetnju

Ono što je značajno u evoluciji slopsquattinga nije samo koncept; već i to koliko se brzo premjestio od istraživačkog promatranja do dokumentirane, mjerljive klase napada.

2023: Prvi znak upozorenja. Istraživač sigurnosti Bar Lanyado primijetio je da je nekoliko LLM-ova više puta preporučilo paket pod nazivom huggingface-cli, koji ne postoji (pravi paket je instaliran s pip instalacija -U “huggingface_hub[cli]”). Kako bi demonstrirao rizik, prenio je praznu verziju tog paketa u javni registar. U roku od tri mjeseca, imao je preko 30 000 preuzimanja, bez ikakve promocije. Halucinirano ime se čak pojavilo u README datoteci repozitorija povezanog s istraživanjem tvrtke Alibaba, rano pokazujući kako bi ta „lažna“ imena mogla procuriti u stvarnu dokumentaciju i postaviti temelje za napade koji bi uslijedili.

2024.: Rizik se seli s bloga istraživača na mainstream tehnološko izvještavanje. U ožujku 2024, Registar izvještavalo je o tome kako su modeli umjetne inteligencije samouvjereno izmišljali nazive softverskih paketa koje su potom programeri preuzimali, a neki od njih potencijalno su bili zaraženi zlonamjernim softverom. To izvještavanje nije bilo toliko važno zbog onoga što je tehnički otkrilo, a više zbog onoga što je signaliziralo: slučaj huggingface-cli više nije bio jednokratna zanimljivost; bio je to prvi znak obrasca dovoljno ozbiljnog da ga istakne mainstream tehnološki tisak, prije velike akademske studije koja će potvrditi opseg godinu dana kasnije.

2025: Prvo rigorozno mjerenje problema velikih razmjera. Rad „Imamo paket za vas! Sveobuhvatna analiza halucinacija paketa pomoću LLM-ova za generiranje koda“ (Spracklen i sur., predstavljen na Sigurnosni simpozij USENIX) testirali su 16 modela generiranja koda, i komercijalnih (GPT-4, GPT-3.5) i otvorenog koda (CodeLlama, DeepSeek, WizardCoder, Mistral), na 576 000 uzoraka Python i JavaScript koda. Nalazi označavaju jasnu točku u evoluciji slopsquattinga, pomičući ga od anegdote do podataka:

  • 19.7% paketa koje su preporučili modeli nisu postojali.
  • Modeli otvorenog koda halucinirali su daleko češće (21.7% u prosjeku) od komercijalnih modela (5.2%).
  • U svim testiranim modelima, istraživači su zabilježili preko 205 000 jedinstvenih haluciniranih naziva paketa, što je dovoljno velik skup da potakne kontinuirane napade nemarnog pristupa u više ekosustava.

Ključni detalj iz studije, i vjerojatno razlog zašto se evolucija slopsquattinga ubrzala, a ne ugasila, jest taj što halucinirana imena nisu slučajna i ne mijenjaju se pri svakom pokušaju. Isti modeli imaju tendenciju ponavljati ista izmišljena imena kada im se daju slični upiti, što znači da napadač ne mora pogađati. Samo treba promatrati ponašanje modela, identificirati imena koja se ponavljaju i registrirati ih prije nego što to učini pravi programer. Naknadna analiza ove ponovljivosti otkrila je da kada su istraživači ponovno pokrenuli identične upite deset puta svaki, 43% haluciniranih imena paketa pojavilo se pri svakom pojedinom pokretanju, što dokazuje da je većina halucinacija ponovljivi artefakti, a ne jednokratni šum. Ta ponovljivost je ono što jednokratnu halucinaciju pretvara u skalabilan napad slopsquattinga.

2026: Od izoliranih paketa do autonomnih agenata. Od izoliranih paketa do autonomnih agenata. Ova godina je dosad pružila najjasnije dokaze da se aljkavo korištenje više ne ograničava na kopiranje i lijepljenje predložene naredbe pip install ili npm install od strane programera. U siječnju 2026., istraživač sigurnosti Charlie Eriksen otkrio je da su agenti za umjetnu inteligenciju (AI) kodiranje već proširili upute koje se odnose na halucinirani npm paket, react-codeshift (naziv koji vjerojatno spaja dva stvarna alata, jscodeshift i react-codemod), u 237 repozitorija, a agenti su ga i dalje svakodnevno pokušavali instalirati. Eriksen je sam registrirao naziv, obrambeno, prije nego što ga je napadač mogao iskoristiti kao oružje. Odvojeno, pravi zlonamjerni paket pod nazivom unused-imports, haluciniran umjesto legitimnog eslint-plugin-unused-imports, još uvijek je bilježio otprilike 233 tjedna preuzimanja početkom 2026. unatoč tome što ga je npm stavio pod sigurnosnu blokadu, što je znak koliko dugo napad aljkavim korištenjem može privlačiti žrtve čak i nakon što je označen. Nedavno, u srpnju 2026., istraživači su opisali srodnu tehniku, nazvanu „HalluSquatting“, koja povezuje AI halucinaciju s promptom injekcijom tako da se AI kodirajući agent koji dohvaća halucinirani resurs u ime korisnika može preusmjeriti na pokretanje koda koji je dostavio napadač, proširujući evoluciju slopsquattinga od pasivnog rizika instalacije do aktivnog vektora udaljenog izvršavanja koda unutar tijekova rada agentskog razvoja.

Zašto je "vibracijsko kodiranje" proširilo površinu za napade slopsquattingom

Napadi s "slopsquattingom" ne bi bili od velike važnosti da je kod generiran umjetnom inteligencijom nišna praksa. Nije. Pojava asistenata za kodiranje, autonomnih agenata i tijekova rada "vibe kodiranja", gdje programeri pregledavaju sve manje i manje koda prije pokretanja, promijenila je površinu softverskih napada na dva konkretna načina, a oba ubrzavaju evoluciju "slopsquattinga":

  • Ulazna točka više nije samo programer. Napad tiposquattingom prije se oslanjao na jednu osobu koja je napravila tipografsku pogrešku. Sada pogreška može nastati unutar samog modela i proširiti se na stotine različitih programera koji postavljaju slična pitanja i dobivaju istu haluciniranu preporuku, umnožavajući doseg jednog samog napada tiposquattingom.
  • Površina napada se pomaknula dalje uz lanac. Više nije dovoljno gledati kod koji piše čovjek. Timovi također moraju pratiti ovisnosti koje predlaže AI asistent, MCP poslužitelje na koje se povezuje i agente koji autonomno instaliraju pakete bez izravnog ljudskog pregleda. Tradicionalni AppSec, izgrađen za pregled repozitorija i ljudskih resursa. commits, nikada nije bio dizajniran da promatra ovu novu interakciju između programera, umjetne inteligencije i registra paketa, što je upravo mjesto gdje se sada skrivaju napadi nemarnog korištenja.

Ništa od ovoga ne znači da je generativna umjetna inteligencija inherentno nesigurna. To znači da uvodi novu vrstu rizika za lanac opskrbe koji tradicionalni sigurnosni alati nisu mogli uhvatiti, a koji zahtijeva iste principe provjere koje već primjenjujemo na bilo koju vanjsku ovisnost: ne vjerujte po defaultu, provjerite izvor i automatizirajte tu provjeru umjesto da se oslanjate na pamćenje ili budnost svakog programera. Ta automatizacija je temelj svake prave strategije sprječavanja nemarnog korištenja resursa.

Sprječavanje squattinga: što timovi mogu učiniti danas

Dobra je vijest da sprječavanje nemarnog korištenja ne zahtijeva egzotične alate. Zahtijeva sustavnu primjenu praksi higijene ovisnosti koje već postoje, ali mnogi se timovi opuštaju u trenutku kada umjetna inteligencija kojoj vjeruju "predloži" kod. Učinkovit pristup sprječavanju nemarnog korištenja obično kombinira sljedeće:

  • Ručno provjerite svaki novi paket prije instalacije, posebno kada dolazi na prijedlog AI asistenta. Potvrdite da postoji u službenom registru, tko ga održava, kada je objavljen i izgledaju li brojke preuzimanja stvarno. Ova pojedinačna navika najjeftiniji je oblik sprječavanja čučnjeva dostupan bilo kojem timu.
  • Nikada nemojte pretpostavljati da je kod generiran umjetnom inteligencijom siguran po defaultu. Isječak koda koji "radi" ne znači da su njegove ovisnosti legitimne. Pregled ovisnosti trebao bi biti dio pregleda koda, a ne iznimka.
  • Koristite lockfiles i provjeru hash-a za pričvršćivanje točnih verzija i sprječavanje tihog ažuriranja da zamijeni paket koji se razlikuje od onog koji je izvorno revidiran.
  • Implementirajte skeniranje ovisnosti koje označava obrasce rizika izvan poznatih CVE-ova: anomalni paketi, imena sumnjivo slična postojećima, novi održavatelji bez ikakve povijesti ili instaliranje skripti s neobičnim ponašanjem. Novo objavljeni paket gotovo bez povijesti koji blisko oponaša ime nečega "gotovo" poznatog upravo je obrazac koji stoji iza većine do sada dokumentiranih napada "slopsquattinga".
  • S istim skeptizmom tretirajte javne registrecism kao i bilo koji drugi neprovjereni vanjski izvor. Činjenica da se pip instalirati or npm instalirati ne baca grešku nije dokaz legitimnosti.
  • Obučite razvojne timove na činjenici da kodiranje uz pomoć umjetne inteligencije ne uklanja odgovornost za provjeru onoga što se instalira; samo dodaje korak koji treba ugraditi u tijek rada kao dio svakog ozbiljnog plana sprječavanja nemarnog korištenja usluga.

Nijedna od ovih mjera nije nova sama po sebi. Ono što se promijenilo jest opseg: kada prijedlog ovisnosti više ne dolazi od Stack Overflowa ili kolege, već od modela koji može ponoviti istu haluciniranu pogrešku tisućama različitih programera, ručna provjera, iako je i dalje potrebna, prestaje biti sama po sebi dovoljna. Zato sve više timova automatizira ovaj sloj sprječavanja nemarnosti unutar svojih Analiza sastava softvera (SCA) alati, umjesto da se to prepusti disciplini pojedinačnih programera.

Ovo je prethodnociszašto ASPM platforme poput Xygeni ugraditi detekciju sumnjivih ovisnosti, koja obuhvaća tipografske pogreške, zbrku ovisnosti i poznate zlonamjerne pakete, u istu analizu ovisnosti otvorenog koda i umjetne inteligencije pipeline, tako da sprječavanje nemarnog korištenja ne ovisi o tome hoće li se svaki programer sjetiti provjeriti to svaki put kada AI asistent predloži novu ovisnost.

Česta pitanja

Je li napad slopsquattingom isti kao napad tiposquattingom?

Ne baš. Oba uključuju registraciju lažnog naziva paketa kako bi se prevario onaj tko ga instalira, ali izvor pogreške se razlikuje. Typosquatting iskorištava ljudske pogreške u tipkanju. Slopsquatting napad iskorištava nazive paketa izmišljene (halucinirane) od strane AI modela, koje napadač zatim registrira prije nego što ikada legitimno postoje.

Može li upravitelj paketa automatski spriječiti ovu vrstu napada?

Ne u potpunosti, što je upravo razlog zašto se sprječavanje nemarnim pristupom ne može zaustaviti na razini upravitelja paketa. Ako napadač registrira halucinirani paket prije nego što ga programer pokuša instalirati, instalacija će se dovršiti bez ikakve pogreške jer paket zaista postoji, iako je zlonamjeran. Učinkovita prevencija zahtijeva dodatnu provjeru podrijetla i ponašanja paketa.

Utječe li ovo samo na modele otvorenog koda?

Ne. Studija Spracklena i suradnika otkrila je halucinacije u svakom testiranom modelu, uključujući i komercijalne, iako u znatno nižoj stopi (5.2% u odnosu na 21.7% za procijenjene modele otvorenog koda). Nijedan model nije u potpunosti oslobođen problema, što je dijelom razlog zašto evolucija slopsquattinga prati rast kodiranja uz pomoć umjetne inteligencije općenito.

Je li ovo teoretski rizik ili je već iskorišten?

The huggingface-cli Slučaj praznog paketa koji je istraživač prenio, a koji je preuzet više od 30 000 puta u tri mjeseca bez ikakve promocije, pokazuje da rizik nije samo teoretski: halucinirano ime samo treba biti dovoljno dosljedno u različitim uputama da bi ga netko pretvorio u pravi napad aljkavošću.

alati-za-analizu-sastava-softvera-sca-tools
Prioritizirajte, sanirajte i osigurajte softverske rizike
Nabavite svoj besplatni račun.
Nije potrebna kreditna kartica.

Osigurajte svoj razvoj i isporuku softvera

s Xygeni paketom proizvoda