Cybersecurity-onderzoekers hebben details bekendgemaakt van wat wordt beschreven als een “aanhoudende en gerichte” spear-phishing-campagne die meer dan twintig pakketten naar het npm-register heeft gepubliceerd om diefstal van inloggegevens te vergemakkelijken.
De activiteit, waarbij 27 npm-pakketten van zes verschillende npm-aliassen werden geüpload, was volgens Socket vooral gericht op verkoop- en commercieel personeel bij organisaties die aan de kritieke infrastructuur grenzen in de VS en de geallieerde landen.
“Een operatie van vijf maanden heeft 27 npm-pakketten omgezet in duurzame hosting voor browser-run-lokmiddelen die portals voor het delen van documenten en Microsoft-aanmelding nabootsen, gericht op 25 organisaties in de productie, industriële automatisering, plastics en gezondheidszorg voor diefstal van inloggegevens”, aldus onderzoekers Nicholas Anderson en Kirill Boychenko.
De namen van de pakketten staan hieronder vermeld –
- adril7123
- ardril712
- arrdril712
- androidvoues
- activaweelderig
- axerificatie
- erificatie
- erificatie
- verschrikking
- eruificatie
- hgfiuythdjfhgff
- homiersla
- houimlogs22
- iuythdjfghgff
- iuythdjfhgff
- iuythdjfhgffdf
- iuythdjfhgffs
- iuythdjfhgffyg
- jwoiesk11
- modules9382
- onedrive-verificatie
- sarrdril712
- scriptstierium11
- beveiligde-docs-app
- synchronisatie365
- ttetrificatie
- vampuleerl
In plaats van gebruikers te verplichten de pakketten te installeren, is het einddoel van de campagne om npm en pakketcontentleveringsnetwerken (CDN’s) te herbestemmen als hostinginfrastructuur, door deze te gebruiken om HTML- en JavaScript-lokmiddelen aan de clientzijde te leveren die het veilig delen van documenten nabootsen en die rechtstreeks in phishing-pagina’s zijn ingebed, waarna slachtoffers worden doorgestuurd naar Microsoft-inlogpagina’s met het e-mailadres dat vooraf in het formulier is ingevuld.
Het gebruik van pakket-CDN’s biedt verschillende voordelen, waarvan de belangrijkste de mogelijkheid is om van een legitieme distributieservice een infrastructuur te maken die bestand is tegen verwijderingen. Bovendien maakt het het voor aanvallers gemakkelijk om over te schakelen naar andere uitgeveraliassen en pakketnamen, zelfs als de bibliotheken worden opgehaald.
Het is gebleken dat de pakketten verschillende controles aan de clientzijde bevatten om analyse-inspanningen uit te dagen, waaronder het filteren van bots, het ontwijken van sandboxen en het vereisen van muis- of aanraakinvoer voordat de slachtoffers naar de door bedreigingsactoren gecontroleerde infrastructuur voor het verzamelen van inloggegevens worden gebracht. De JavaScript-code is ook versluierd of sterk verkleind om geautomatiseerde inspectie moeilijker te maken.
Een ander cruciaal anti-analysemechanisme dat door de bedreigingsacteur wordt toegepast, heeft betrekking op het gebruik van honeypot-formuliervelden die voor echte gebruikers aan het zicht onttrokken zijn, maar waarschijnlijk worden bevolkt door crawlers. Deze stap fungeert als een tweede verdedigingslaag en voorkomt dat de aanval verder gaat.

Socket zei dat de domeinen die in deze pakketten zijn verpakt, overlappen met de phishing-infrastructuur van Adversary-in-the-Middle (AitM) die is gekoppeld aan Evilginx, een open-source phishing-kit.
Dit is niet de eerste keer dat npm is getransformeerd in phishing-infrastructuur. In oktober 2025 heeft het softwareleveranciersbeveiligingsbedrijf een campagne beschreven genaamd Beamglea, waarbij onbekende bedreigingsactoren 175 kwaadaardige pakketten uploadden voor aanvallen op het verzamelen van inloggegevens. Er wordt aangenomen dat de laatste aanvalsgolf verschilt van Beamglea.
“Deze campagne volgt hetzelfde kernscenario, maar met verschillende leveringsmechanismen”, aldus Socket. “In plaats van minimale omleidingsscripts te leveren, leveren deze pakketten een op zichzelf staande, door de browser uitgevoerde phishing-stroom als een ingebedde HTML- en JavaScript-bundel die wordt uitgevoerd wanneer deze in een paginacontext wordt geladen.”
Bovendien is gebleken dat de phishing-pakketten 25 e-mailadressen hebben gecodeerd die zijn gekoppeld aan specifieke personen, die werken bij accountmanagers, verkoop- en bedrijfsontwikkelingsvertegenwoordigers in de productie, industriële automatisering, toeleveringsketens voor kunststoffen en polymeren, en in de gezondheidszorgsectoren in Oostenrijk, België, Canada, Frankrijk, Duitsland, Italië, Portugal, Spanje, Zweden, Taiwan, Turkije, het VK en de VS.
Het is momenteel niet bekend hoe de aanvallers aan de e-mailadressen zijn gekomen. Maar gezien het feit dat veel van de beoogde bedrijven bijeenkomen op grote internationale beurzen, zoals Interpack en K-Fair, wordt vermoed dat de dreigingsactoren de informatie van deze sites hebben gehaald en gecombineerd met algemene open-webverkenning.
“In verschillende gevallen verschillen de doellocaties van het hoofdkantoor van het bedrijf, wat consistent is met de focus van de bedreigingsactor op regionaal verkooppersoneel, landmanagers en lokale commerciële teams in plaats van alleen op bedrijfs-IT”, aldus het bedrijf.
Om het risico van de dreiging tegen te gaan, is het essentieel om strenge afhankelijkheidsverificatie af te dwingen, ongebruikelijke CDN-verzoeken uit niet-ontwikkelingscontexten te loggen, phishing-resistente multi-factor authenticatie (MFA) af te dwingen en te controleren op verdachte gebeurtenissen na authenticatie.
De ontwikkeling komt zoals Socket zei dat het een gestage toename van destructieve malware heeft waargenomen in de npm-, PyPI-, NuGet Gallery- en Go-module-indexen met behulp van technieken zoals vertraagde uitvoering en op afstand bediende kill-switches om vroege detectie te omzeilen en uitvoerbare code tijdens runtime op te halen met behulp van standaardtools zoals wget en curl.

“In plaats van schijven te versleutelen of zonder onderscheid bestanden te vernietigen, werken deze pakketten vaak operatief”, zegt onderzoeker Kush Pandya.
“Ze verwijderen alleen wat voor ontwikkelaars van belang is: Git-repository’s, bronmappen, configuratiebestanden en CI-build-uitvoer. Ze mengen deze logica vaak in anderszins functionele codepaden en vertrouwen op standaard lifecycle-hooks om uit te voeren, wat betekent dat de malware misschien nooit expliciet hoeft te worden geïmporteerd of aangeroepen door de applicatie zelf.”