Brzi odgovor: NPM napadi na lanac snabdijevanja funkcionišu tako što kompromituju pouzdani račun održavatelja ili CI/CD token, objavljivanje zlonamjerne verzije paketa kojem programeri već vjeruju i prepuštanje instalacijskim skriptama ili logici crva tog paketa da urade ostalo. Između augusta 2025. i sredine 2026. godine, ovaj obrazac je proizveo najveći val napada na lanac snabdijevanja npm paketa u historiji registra, uključujući chalk/debug hijack, Šaj-Hulud crv, i zlonamjerni softver nacionalnih država skriven u paketu koji se preuzima 100 miliona puta sedmično. Rješenje nije skeniranje koda nakon što se pojavi. Ono hvata zlonamjerne pakete prije nego što se instaliraju i prati... pipeline za tačno ponašanje koje ovi napadi dijele.
Svaka instalacija je čin povjerenja, a napadači to znaju
Programer pokreće npm installIza te jedne komande nalazi se stablo zavisnosti sa stotinama, ponekad hiljadama, paketa, od kojih je većinu napisao i održavaju ljudi koje programer nikada neće sresti. Niko ne pregleda to stablo liniju po liniju. Niko nema vremena za to.
To povjerenje je meta. Jeftinije je za napadača da fishuje jednog NPM održavatelja sa 2.6 milijardi sedmičnih preuzimanja nego da pronađe zero-day napad u Fortune 500 firewallu. Napadi na NPM lanac snabdijevanja iskorištavaju upravo ovu asimetriju, a talas iz 2025-2026 pokazuje koliko se taj iskorištavanje proširilo: od izolirano tiposquatting do samorazmnožavajućih crva koji objavljuju vlastite zlonamjerne pakete brže nego što bilo koji čovjek može reagirati.
Šta se računa kao NPM napad na lanac snabdijevanja
Napad na lanac snabdijevanja NPM-a je svaki incident u kojem napadač ubacuje zlonamjerni kod u distribuciju NPM-a. pipeline umjesto u vlastitu kodnu bazu mete, tako da zlonamjerni softver stiže prerušen u rutinsko ažuriranje zavisnosti. Ulazna tačka je obično jedna od tri stvari: ukradeni akreditivi održavatelja, ukradena objava ili CI/CD token ili kompromitovana verzija pipeline koji se prevari da objavi u ime napadača. Budući da npm paketi automatski povlače tranzitivne zavisnosti, jedan kompromitovani paket može doći do aplikacija koje ga nikada nisu deklarisale kao direktnu zavisnost.
Vremenski okvir: najveći napadi na lanac snabdijevanja NPM-a u periodu 2025-2026.
Obrazac iza svakog napada na lanac snabdijevanja npm paketa
Ako izostavimo specifičnosti, gotovo svaki gore navedeni incident slijedi ista četiri koraka:
- Kompromitujte identitet, a ne sistem. Kradljivač podataka od strane korisnika koji je koristio phishing, procurili npm token, ukradeni GitHub PAT ili OIDC token izvučen iz CI/CD memorija trkača. Napadač ne probija registar. Oni posuđuju nečiji ključ za njega.
- Objavite pod imenom kojem programeri već vjeruju. Nije potrebno ispravljanje tipografskih grešaka kada pravi naziv paketa funkcioniše. To je ono što ove napade čini tako efikasnim protiv automatizovanog ažuriranja. pipelines: ažuriranje izgleda potpuno legitimno.
- Trči prije nego što ga iko pregleda. Zlonamjerni instalacijski skripti, obfusirani korisni sadržaji ili kod za spavanje koji se aktivira samo pod određenim uvjetima izvršavaju se u trenutku npm install pokreće se, često na laptopu programera, mnogo prije nego što bi ga planirano sigurnosno skeniranje ikada otkrilo.
- Istrajati i, sve više, širiti se. Shai-Hulud i njegovi potomci koriste ukradene podatke za automatsko objavljivanje sljedećeg zaraženog paketa, pretvarajući jednokratni kompromitirajući paket u lančanu reakciju na grafu ovisnosti.
Zašto uobičajene odbrane to propuštaju
Većina AppSec alata je napravljena da analizira ono što se već nalazi u repozitoriju: poznate CVE, statičke obrasce koda, probleme s licencama. To je neophodno, ali strukturno stiže prekasno za ovu klasu napada. Dok skener uoči zavisnost, instalacijska skripta je možda već izvršena na računaru programera. Tradicionalni antivirus i EDR prate operativni sistem, a ne registre paketa, tako da nemaju koncept "novog npm izdanja" kao jedinice rizika. A kao što pokazuju incidenti TanStack i Red Hat, čak i atestacije integriteta izgradnje poput... SLSA provenance ne pomažu kada je napadač legitimno uhvatio identitet koji ih potpisuje: potpis je važeći, paket je i dalje zlonamjeran.
Praznina koju ovi NPM napadi u lancu snabdijevanja iskorištavaju nalazi se posebno u trenutku objavljivanja i instalacije, prije nego što postoji potpis za zlonamjerni softver i prije nego što se paket pokrene bilo gdje gdje bi tradicionalni skener tražio.
Kako zaustaviti sljedeći napad na lanac snabdijevanja putem NPM-a
Dio ovoga je procesna disciplina koju svaki inženjerski tim danas može usvojiti:
- Zavisnosti pinova i commit zaključane datoteke, tako da automatsko ažuriranje ne može tiho preuzeti upravo objavljenu zlonamjernu verziju.
- Onemogućite ili zaštitno okruženje za skripte nakon instalacije po defaultu; većina paketa ne mora izvršavati proizvoljni kod prilikom instalacije.
- Primijenite hardverski podržanu MFA za npm objavljujuće račune, zatvarajući tačnu phishing putanju koja je kompromitovala Chalk, Debug i Qixov račun.
- Opseg i rotacija CI/CD agresivno žetone, i tretirati OIDC tokene u memoriji trkača kao akreditiv vrijedan zaštite, a ne kao detalj implementacije.
- Pazite na obrazac otključavanja-ubrizgavanja-ponovnog zaključavanja in CI/CD: pravilo zaštite grane onemogućeno, a commit potisnuto, pravilo ponovo omogućeno, sve u uskom vremenskom okviru. To je ponavljajući potpis pipelinekompromis u lancu snabdijevanja na nivou.
Gdje procesna disciplina prestaje
Procesna disciplina smanjuje izloženost. Ne otkriva zlonamjerni paket u trenutku njegovog objavljivanja, niti otkriva crva koji se već širi kroz graf brže nego što čovjek može izvršiti trijažu. To je sloj za koji je Xygenijev Supply Chain Security izgrađen.
Xygeni's MEW (Rano upozorenje o zlonamjernom softveru) Kontinuirano analizira nove pakete objavljene na npm, PyPI i Maven, hvatajući zlonamjerni softver prije nego što postoji potpis, a ne nakon toga, i vraćajući potvrđene prijetnje nazad u Xygeni's vlastiti mehanizam za detekciju. Zaštitni zid zavisnosti Skenira npm, PyPI, Maven, NuGet i RubyGems u realnom vremenu i blokira zlonamjerne instalacije prije nego što dođu do mašine programera ili verzije. CI/CD detekcija anomalija satovi pipelines za tačno obrazac ponašanja koji stoji iza incidenata poput kompromitovanja TanStacka, uključujući sekvencu otključavanja-ubrizgavanja-ponovnog zaključavanja, sa potpunom revizijskom evidencijom. I zato što je Xygenijev Trijaža i sanacija uz pomoć umjetne inteligencije primjenjuju se i na nalaze skenera trećih strana, timovi ne moraju iskorištavati postojeće alate kako bi zatvorili ovu prazninu.
Često postavljana pitanja: napadi na lanac snabdijevanja putem NPM-a
Šta je NPM napad na lanac snabdijevanja?
To je napad u kojem zlonamjerni kod dospijeva do ciljne aplikacije putem pouzdane npm zavisnosti, a ne putem vlastitog koda ciljane aplikacije, obično zato što je napadač kompromitovao račun održavatelja, token za objavljivanje ili CI/CD pipelineidentitet.
Koji je bio najveći napad na lanac snabdijevanja NPM-a?
Po radijusu eksplozije, otmica chalk/debug-a iz septembra 2025. je među najvećima: 18 paketa sa ukupno 2.6 milijardi sedmičnih preuzimanja kompromitovana su putem jednog fiširanog računa održavatelja. Po tehničkoj novosti, Shai-Hulud je bio značajnija prekretnica, kao prvi samorazmnožavajući crv u historiji npm-a.
Kako obično počinje napad na lanac snabdijevanja npm paketa?
Gotovo uvijek s ukradenim identitetom: phished održavatelj, procurili token za objavljivanje ili ukradeni CI/CD akreditiv kao što je OIDC token izvučen iz memorije trkača, umjesto tehničkog prodora u sam npm.
Može li antivirus ili EDR zaustaviti napad na lanac snabdijevanja putem NPM-a?
Nije pouzdano. EDR prati operativni sistem i ne razumije registre paketa, a antivirusni program je zasnovan na potpisima, što ne uspijeva protiv zlonamjernog softvera objavljenog prije nego što postoji bilo kakav potpis. Zaustavljanje ove klase napada zahtijeva praćenje u trenutku objavljivanja i instalacije, ne samo na krajnjoj tački.
Da li SLSA provenance ili izgradnja atesta spriječiti ovo?
To dokazuje pipeline sam po sebi nije bio mijenjan tokom izgradnje. To ne dokazuje da identitet koji je pokrenuo izgradnju nije bio kompromitovan, kao što su incidenti TanStack i Red Hat pokazali važećim potvrdama priloženim uz zlonamjerne pakete.
Kako tim može otkriti zlonamjerni npm paket prije nego što bude instaliran?
Pokretanjem kontinuirane analize zlonamjernog softvera prije potpisivanja na novo objavljenim paketima, za što su dizajnirani sistem ranog upozoravanja na zlonamjerni softver i zaštitni zid zavisnosti, umjesto oslanjanja isključivo na post-hoc skeniranje ranjivosti koda koji se već nalazi u repozitoriju.
Gdje započeti
Napadi na lanac snabdijevanja NPM-a se ne usporavaju, a trend od Shai-Huluda ukazuje na veću automatizaciju, a ne manju. Timovi koji su najbolje pozicionirani za sljedeću kampanju su oni koji su prestali tretirati svaku instalaciju NPM-a kao rutinski događaj i počeli pratiti registar, pipeline, a krajnja tačka kao jedna povezana površina napada.
Xygenijev plan za razvojne programere uključuje MEW i Dependency Firewall pokriće za do 25 repozitorija bez ikakvih troškova. To je razumno mjesto za vidjeti šta se već nalazi u stablu zavisnosti.





