- Seitsemässä Adspect-naamioidussa npm-paketissa käytettiin liikenteen suodatusta, väärennettyjä CAPTCHA-varmennuksia ja tutkimuksen vastaisia temppuja; yksi toimi houkutusvälineenä.
- Laajamittainen ”IndonesianFoods”-niminen roskaposti hyödynsi passiivisia komentosarjoja, kuvioituja nimeämiskäytäntöjä ja riippuvuuksien ketjuttamista rekisterin tulvittamiseksi.
- Laajuus laajeni kymmenistä tuhansista yli 150 000 pakettiin; Amazon Inspector ja OpenSSF koordinoivat MAL-ID:itä ja poistoja.
- Lievennyksiin kuuluvat riippuvuustarkastukset, rajoitetut julkaisuoikeudet, SCA passiivisille tiedostoille, määrärajoitus, SBOM:t ja vahvempi tilin vahvistus.
JavaScript-ekosysteemin vilkkaimpana keskuksena npm-rekisteri käsittelee kahta hyvin erilaista uhkaa samanaikaisesti: pieni joukko paketteja, jotka hiljaisesti ohjaavat käyttäjiä uudelleen naamioinnin avulla, ja laaja kampanja, joka julkaisee massamateriaalia kryptopalkkioiden perässä. Molemmat ongelmat, vaikka ne ovatkin erilaisia, paljastavat tuttuja aukkoja toimitusketjun puolustusmekanismit.
Useiden tutkimusryhmien tutkijat raportoivat, että hyökkääjät yhdistivät liikenteen naamioinnin, automaation ja avoimen lähdekoodin jakelun joko ohjatakseen uhrit hämäräperäisiin kohteisiin tai tulvittaakseen indeksin ennennäkemättömän laajasti vähäarvoisilla paketeilla. Nämä tapaukset korostavat, miten kannustimet ja työkalut voidaan kääntää yhteisöä vastaan, kun kaiteet jäävät hyökkääjän luovuuden jälkeen.
Peittämiseen perustuvat uudelleenohjaukset muuttavat npm-paketit liikenneporteiksi
Tutkijat tunnistivat seitsemän yhteen toimijaan liittyvää npm-pakettia, jotka käytä Adspect-palvelua erottaaksesi oikeat käyttäjät tutkijoista ja piilota todellinen hyötykuormaPaketit, jotka on liitetty nyttemmin poistettuun tiliin nimeltä "dino_reborn", ilmestyivät syyskuun ja marraskuun 2025 välisenä aikana, ja niiden latausmäärät olivat vain muutama sata.
Kuusi paketeista sisälsi noin 39 kB:n komponentin, joka sormenjäljet ympäristöstä, estää kehittäjätyökalujen käytön selaimessa (analyysin vaikeuttamiseksi) ja suoritetaan välittömästi JavaScriptin IIFE-mallin kautta tuonnin jälkeen. Seitsemäs paketti, ”signals-embed”, erottui joukosta toimittamalla harmittoman valkoisen sivun houkuttimena pikemminkin kuin avoimen ilkeämielistä käytöstä.
Kun istutetut sivustot ladataan, liikenne lähetetään välityspalvelimen päätepisteen kautta osoitteessa Association-googlexyz/adspect-proxyphp, joka auttaa päättämään, näyttääkö vierailija uhrilta vai tutkijalta. Jos käyttäjä merkitään uhriksi, hän näkee väärennetyn CAPTCHA-koodin, joka lopulta eteenpäin kryptoaiheisille sivuille, jotka tekeytyvät toisiksi palveluiksi (esim. StandX). Jos sivu merkitään todennäköiseksi analyytikoksi, se näyttää pelkän harhautusnäkymän ja sisältää jopa kaavamaisen kuvauksen fiktiivisestä yrityksestä nimeltä Offlido.
Adspect markkinoi itseään nimellä pilvipeittopalvelu ei-toivotun liikenteen, kuten bottien tai virustorjuntaohjelmien, estämiseksi, tarjoten porrastettuja paketteja ja lupaamalla "luodinkestävää naamiointia". Nähdessään tämän mainosteknologiaa muistuttavan suodatuksen upotettu npm-paketeissa on edelleen epätavallista, ja tutkijat panevat sen tehokkaasti merkille käärii liikenteenohjauksen logiikan avoimen lähdekoodin jakeluun joten koodi päättää reaaliajassa, kuka saa todellisen hyötykuorman.
Koska logiikka suoritetaan heti resurssin latauduttua, käyttäjän toimia ei tarvita toiminnan käynnistämiseksiTuo välitön suoritusvirta – ja selaintason lohkot kehittäjätyökaluissa – monimutkaistavat analyysia ja auttavat pitämään järjestelmän poissa näkyvistä satunnaiselta tarkastelulta.
Laaja npm-roskapostioperaatio, jota ohjaavat token-palkinnot
Erillisessä kehityshankkeessa turvallisuustiimit paljastivat laajan joukon roskapostia sisältävät npm-paketit julkaistu aallonharjoituksissa noin kahden vuoden aikana, jotka aluksi näyttivät hyvänlaatuisilta, mutta jotka oli suunniteltu kopiointia ja taloudellista hyötyä varten. Yhteisesti nimellä ”IndonesianFoods” tunnetussa hankkeessa käytettiin johdonmukaista nimeämisjärjestelmää, joka yhdistää satunnaisia indonesialaisia etunimiä ruokatermien kera ja erilaisia päätteitä tuhansien uskottavilta kuulostavien pakettien luomiseksi.
Pinnalta katsottuna monet merkinnät näyttivät laillisilta – jotkut jopa lähettivät toiminnalliset Next.js-mallitMutta sen sisällä oli käyttämättömiä tiedostoja, kuten auto.js or publishScript.js että manuaalisesti ajettaessa ulos uusia paketteja kovalla vauhdilla, viritettyjä versioita ja poistettuja yksityisyyden suojakaiteita. Juuri tämä helposti käynnistettävä automaatio – eikä niinkään aidosti autonominen matomainen toiminta – vauhditti nopeaa skaalautumista.
Roskapostiverkko viittasi usein kahdeksaan tai kymmeneen muuhun tekaistuun riippuvuuteen, vaikutuksen paisuttaminen riippuvuusketjujen kauttaAsenna yksi, ja npm saattaa hiljaa hakea kymmeniä lisää, mikä lisää rekisterin sotkua ilman välitöntä, ilmeistä haittaa kehittäjien koneille.
Monetisointi näyttää olevan yhteydessä TEA-protokollan avoimen lähdekoodin palkinnotUseita paketteja mukana teetä.yaml viittaa tiettyihin tileihin ja lompakoiden osoitteisiin – mikä viittaa pyrkimykseen paisuta vaikutuspisteitä ja poimi token-voitotJoissakin tapauksissa dokumentaatio jopa mainitsi nämä tuotot, mikä vahvisti käsitystä koordinoidusta, voittoa tavoittelevasta suunnitelmasta satunnaisen kokeilun sijaan.
Eri tutkimusryhmät mittasivat aaltoa eri vaiheissa: tulokset vaihtelivat noin 43 000 roskapostilatausta kampanjan alkuvaiheessa yli 100 000:een myöhemmin, Amazon Inspector raportoi lopulta yli 150 000 paketista useilla tileillä marraskuun 2025 puoliväliin mennessä. Kasvu paljasti rekisterin rajoitukset, metatietojen tarkistukset ja kuvion tunnistus huomiota vaativina alueina.
Miksi skannerit eivät huomanneet sitä ja mikä muuttui
Yksi keskeinen syy kampanjan pitkälle kestämiselle on se, että useimmat automatisoidut työkalut etsivät asennusaikana tapahtuva haittaohjelma– esimerkiksi epäilyttävä asennuksen jälkeen koukkuja tai tiedostojärjestelmän toimintaa. Tässä hyötykuorma oli käyttämättömänä ja siihen ei viitattu, joten yleiset heuristiikat leimasivat sen vaarattomaksi. Ilman aktiivisia laukaisimia skannerit usein käsitteli ylimääräisiä tiedostoja hyvänlaatuisena sotkuna.
Toinen tekijä oli julkaisemisen laajuus ja tahti: skriptit voisivat lähettää uusia paketteja muutaman sekunnin välein, mikä loi valtavan määrän laukaisematta klassisia haittaohjelmatunnisteita. Raporteissa todetaan, että useita tietoturvajärjestelmiä tulvi varoituksilla, mukaan lukien massiiviset piikit OSV-linkitetyt hälytykset.
Lokakuun 2025 loppuun mennessä Amazon Inspector otti käyttöön uuden tunnistussäännön yhdistettynä tekoälypohjaiseen kuviointiin havaitakseen paljastavia piirteitä, kuten tea.yaml-tiedoston läsnäolon, kloonatun tai minimaalisen koodin, ennustettavan nimeämisen, automaattisen generoinnin sormenjäljet ja kehämäiset riippuvuusketjut. Vahvistettuaan mallit marraskuun alussa tiimi koordinoi Avoimen lähdekoodin tietoturvasäätiö (OpenSSF) MAL-ID:iden nopeaan määrittämiseen – keskimääräinen käsittelyaika oli noin 30 minuuttia.
Yksi tärkeä vivahde: joissakin varhaisissa kommenteissa kampanjaa kutsuttiin "madoksi". Myöhemmät päivitykset selvensivät, että replikaatiologiikka ei ole itseään levittävää; se on pantava täytäntöön. Tuo korjaus on tärkeä, mutta lopputulos—nopea, teollistunut pakkaustulva—edelleen kireällä rekisteri-infrastruktuurilla ja luottamuksella.
Käytännön toimenpiteet altistumisen vähentämiseksi
Organisaatioiden tulisi lähestyä npm-riskien vähentämistä seuraavasti: jatkuva, kerroksellinen prosessi, yhdistämällä ennakoivan riippuvuushygienian käytäntöihin ja rekistereihin perustuviin hallintatoimiin. Seuraavat toimenpiteet heijastavat tutkijoiden ja ekosysteemien hoitajien neuvoja.
- Tarkista riippuvuudet tunnettujen haitallisten julkaisijoiden luetteloita vasten ja poista epäilyttävät tai heikkolaatuiset paketit.
- Rajoita NPM-julkaisua käyttöoikeudet CI/CD:lle ja tarkastetuille ylläpitäjille; estää replikointiskriptien vahingossa tapahtuvan suorittamisen.
- Ota käyttöön ohjelmistokoostumusanalyysi (SCA), joka kykenee passiivisten tiedostojen merkitseminen, kuviollinen nimeäminen tai kehämäiset riippuvuusverkot.
- Esitellä nopeuden rajoittaminen ja käyttäytymisen seuranta Suuremmissa lähetysmäärissä harkitse CAPTCHA-tarkistusta ja tiukempaa tilin vahvistusta.
- Vahvista putkistoasi SBOMit, version kiinnitys ja eristetty CI/CDsekä tiukat allekirjoitus- ja alkuperätarkastukset.
Yhdessä nämä toimenpiteet vähentää rekisterikohinaa ja helpottaa samalla haitallisen tai manipuloivan toiminnan havaitsemistaNe myös pienentävät räjähdyssädettä, jos viallinen paketti pääsee kuvaajan sisään.
Molemmissa tapauksissa läpimenolinja on yksinkertainen: hyökkääjät seuraavat kannustimia ja sokeita pisteitäOlipa kyse sitten analyytikoiden suodattamisesta uhreista naamiointilogiikalla tai automatisoidusta token-farmingista, joka hukuttaa alleen laillisen työn, vastaus piilee paremmassa näkyvyydessä, nopeammassa yhteistyössä ja käytännöissä, jotka tekevät väärinkäytöksistä vaikeampia ja kalliimpia laajamittaisessa käytössä.
