Cybersecurity-onderzoekers hebben een nieuwe reeks kwaadaardige pakketten ontdekt via npm en de Python Package Index (PyPI)-repository, gekoppeld aan een nepcampagne met rekruteringsthema, georkestreerd door de aan Noord-Korea gelieerde Lazarus Group.
De gecoördineerde campagne heeft de codenaam graphalgo gekregen, verwijzend naar het eerste pakket dat in het npm-register werd gepubliceerd. Er wordt geschat dat het actief is sinds mei 2025.
“Ontwikkelaars worden benaderd via sociale platforms zoals LinkedIn en Facebook, of via vacatures op forums als Reddit”, zegt ReversingLabs-onderzoeker Karlo Zanki in een rapport. “De campagne bevat een goed georkestreerd verhaal rond een bedrijf dat zich bezighoudt met blockchain- en cryptocurrency-uitwisselingen.”
Eén van de geïdentificeerde npm-pakketten, bigmathutils, werd met name meer dan 10.000 keer gedownload nadat de eerste, niet-kwaadaardige versie was gepubliceerd, en voordat de tweede versie met een kwaadaardige lading werd uitgebracht. De namen van de pakketten staan hieronder vermeld –
npm –
- grafischgo
- grafiekritme
- grafiekstructuur
- graphlibcore
- netstructuur
- grafennetwerkx
- terminalkleur256
- graphkitx
- grafiekketen
- grafiekflux
- graforbit
- grafnet
- grafiekhub
- terminal-kleur
- grafiek
- bignumx
- grootgetalx
- grootnumex
- grootmathex
- grootmathlib
- bigmathutils
- grafieklink
- bigmatix
- graphflowx
PyPI –
- grafischgo
- grafex
- grafieklibx
- grafdict
- grafiekflux
- grafknoop
- grafsynchronisatie
- grote pyx
- groot
- grootmathex
- bigmatix
- bigmathutils
Zoals bij veel op banen gerichte campagnes die worden uitgevoerd door Noord-Koreaanse bedreigingsactoren, begint de aanvalsketen met het opzetten van een nepbedrijf als Veltrix Capital in de blockchain- en cryptocurrency-handelsruimte, en vervolgens het opzetten van het noodzakelijke digitale onroerend goed om een illusie van legitimiteit te creëren.
Dit omvat het registreren van een domein en het creëren van een gerelateerde GitHub-organisatie om verschillende opslagplaatsen te hosten voor gebruik bij codeerbeoordelingen. Er is vastgesteld dat de repositories projecten bevatten die zijn gebaseerd op Python en JavaScript.
“Onderzoek van deze repository’s bracht geen duidelijke kwaadaardige functionaliteit aan het licht”, zei Zanki. “Dat komt omdat de kwaadaardige functionaliteit niet rechtstreeks via de repository’s voor sollicitatiegesprekken werd geïntroduceerd, maar indirect – via afhankelijkheden die worden gehost op de open-sourcepakketrepository’s van npm en PyPI.”
Het idee achter het opzetten van deze opslagplaatsen is om kandidaten die op de vacatures op Reddit en Facebook Groups solliciteren, te misleiden om de projecten op hun machines uit te voeren, waardoor de kwaadaardige afhankelijkheid effectief wordt geïnstalleerd en de infectie wordt geactiveerd. In sommige gevallen worden slachtoffers rechtstreeks gecontacteerd door schijnbaar legitieme recruiters op LinkedIn.
De pakketten fungeren uiteindelijk als kanaal om een trojan voor externe toegang (RAT) in te zetten die periodiek opdrachten van een externe server ophaalt en uitvoert. Het ondersteunt verschillende opdrachten voor het verzamelen van systeeminformatie, het opsommen van bestanden en mappen, het weergeven van actieve processen, het maken van mappen, het hernoemen van bestanden, het verwijderen van bestanden en het uploaden/downloaden van bestanden.
Interessant is dat de command-and-control (C2)-communicatie wordt beschermd door een op tokens gebaseerd mechanisme om ervoor te zorgen dat alleen verzoeken met een geldig token worden geaccepteerd. De aanpak werd eerder waargenomen in campagnes uit 2023 die verband hielden met een Noord-Koreaanse hackgroep genaamd Jade Sleet, ook bekend als TraderTraitor of UNC4899.

Het werkt in essentie zo: de pakketten sturen systeemgegevens als onderdeel van een registratiestap naar de C2-server, die antwoordt met een token. Dit token wordt vervolgens bij volgende verzoeken teruggestuurd naar de C2-server om vast te stellen dat deze afkomstig zijn van een reeds geregistreerd geïnfecteerd systeem.
“De op tokens gebaseerde aanpak is in beide gevallen een overeenkomst (…) en is voor zover wij weten niet door andere actoren gebruikt in malware die wordt gehost op openbare pakketopslagplaatsen”, vertelde Zanki destijds aan The Hacker News.
De bevindingen tonen aan dat door de Noord-Koreaanse staat gesponsorde dreigingsactoren open-source-ecosystemen blijven vergiftigen met kwaadaardige pakketten in de hoop gevoelige gegevens te stelen en financiële diefstal uit te voeren, een feit dat blijkt uit de controles van de RAT om te bepalen of de MetaMask-browserextensie op de machine is geïnstalleerd.
“Er zijn aanwijzingen dat dit een zeer geavanceerde campagne is”, aldus ReversingLabs. “De modulariteit, het langlevende karakter, het geduld bij het opbouwen van vertrouwen tussen verschillende campagne-elementen en de complexiteit van de meerlaagse en gecodeerde malware wijzen op het werk van een door de staat gesponsorde dreigingsactor.”
Meer kwaadaardige npm-pakketten gevonden
De onthulling komt op het moment dat JFrog een geavanceerd, kwaadaardig npm-pakket ontdekte met de naam “duer-js”, gepubliceerd door een gebruiker met de naam “luizaearlyx”. Hoewel de bibliotheek beweert een hulpprogramma te zijn om “het consolevenster beter zichtbaar te maken”, herbergt het een Windows-informatiesteler genaamd Bada Stealer.
Het is in staat Discord-tokens, wachtwoorden, cookies en gegevens voor automatisch aanvullen van Google Chrome, Microsoft Edge, Brave, Opera en Yandex Browser, cryptocurrency-portemonneegegevens en systeeminformatie te verzamelen. De gegevens worden vervolgens geëxfiltreerd naar een Discord-webhook, evenals naar de Gofile-bestandsopslagservice als back-up.
“Naast het stelen van informatie van de host die het heeft geïnfecteerd, downloadt het kwaadaardige pakket ook een secundaire lading”, zegt beveiligingsonderzoeker Guy Korolevski. “Deze payload is ontworpen om te draaien bij het opstarten van de Discord Desktop-app, met mogelijkheden om zichzelf bij te werken en er rechtstreeks van te stelen, inclusief de door de gebruiker gebruikte betalingsmethoden.”
Het valt ook samen met de ontdekking van een andere malwarecampagne die npm inzet om cryptocurrency-betalingen van ontwikkelaars af te persen tijdens de installatie van pakketten met behulp van de opdracht “npm install”. De campagne, voor het eerst opgenomen op 4 februari 2026, werd door OpenSourceMalware XPACK ATTACK genoemd.
De namen van de pakketten, allemaal geüpload door een gebruiker met de naam “dev.chandra_bose”, staan hieronder vermeld –
- xpack-per-gebruiker
- xpack-per-apparaat
- xpack-sui
- xpack-abonnement
- xpack-arc-gateway
- xpack-video-inzending
- test-npm-stijl
- xpack-abonnement-test
- testpakket-xdsfdsfsc
“In tegenstelling tot traditionele malware die inloggegevens steelt of reverse shells uitvoert, maakt deze aanval op innovatieve wijze misbruik van de HTTP 402 ‘Payment Required’-statuscode om een ogenschijnlijk legitieme betalingsmuur te creëren”, aldus beveiligingsonderzoeker Paul McCarty. “De aanval blokkeert de installatie totdat de slachtoffers 0,1 USDC/ETH aan de portemonnee van de aanvaller betalen, terwijl ze GitHub-gebruikersnamen en apparaatvingerafdrukken verzamelen.”
“Als ze weigeren te betalen, mislukt de installatie eenvoudigweg nadat ze meer dan vijf minuten van hun ontwikkeltijd hebben verspild, en realiseren ze zich misschien niet eens dat ze malware zijn tegengekomen in plaats van wat een legitieme betaalmuur leek voor pakkettoegang.”