Cybersecurity-onderzoekers hebben een nieuwe supply chain-aanval ontdekt waarbij legitieme pakketten op npm en de Python Package Index (PyPI)-repository zijn gecompromitteerd om kwaadaardige versies te pushen om diefstal van portefeuillegegevens en het uitvoeren van externe code te vergemakkelijken.
De gecompromitteerde versies van de twee pakketten worden hieronder vermeld:
“De pakketten @dydxprotocol/v4-client-js (npm) en dydx-v4-client (PyPI) bieden ontwikkelaars tools voor interactie met het dYdX v4-protocol, inclusief het ondertekenen van transacties, het plaatsen van orders en portefeuillebeheer”, aldus Socket-beveiligingsonderzoeker Kush Pandya. “Toepassingen die deze pakketten gebruiken, kunnen gevoelige cryptocurrency-bewerkingen verwerken.”
dYdX is een niet-bewarende, gedecentraliseerde cryptocurrency-uitwisseling voor handelsmarge en eeuwigdurende swaps, terwijl gebruikers de volledige controle over hun activa kunnen behouden. Op haar website zegt de DeFi-beurs dat het een cumulatief handelsvolume van $1,5 biljoen heeft overschreden.
Hoewel dit momenteel de manier is waarop deze vergiftigde updates werden gepusht, wordt vermoed dat het een geval is van het compromitteren van ontwikkelaarsaccounts, aangezien de frauduleuze versies zijn gepubliceerd met legitieme publicatiegegevens.
Het is gebleken dat de door de bedreigingsactoren geïntroduceerde veranderingen zowel het JavaScript- als het Python-ecosysteem met verschillende payloads aanvallen. In het geval van npm fungeert de kwaadaardige code als een cryptocurrency-portemonnee-diefstal die zaadzinnen en apparaatinformatie overhevelt. Het Python-pakket bevat daarentegen ook een trojan voor externe toegang (RAT) samen met de functionaliteit voor het stelen van portemonnees.
De RAT-component, die wordt uitgevoerd zodra het pakket is geïmporteerd, maakt contact met een externe server (“dydx.priceoracle(.)site/py”) om opdrachten op te halen voor latere uitvoering op de host. Op Windows-systemen maakt het gebruik van de vlag “CREATE_NO_WINDOW” om ervoor te zorgen dat het wordt uitgevoerd zonder consolevenster.
“De bedreigingsacteur demonstreerde gedetailleerde kennis van de interne onderdelen van het pakket, door kwaadaardige code in te voegen in de kernregisterbestanden (registry.ts, register.js, account.py) die zouden worden uitgevoerd tijdens normaal pakketgebruik”, aldus Pandya.
“De verduistering van 100 iteraties in de PyPI-versie en de gecoördineerde implementatie tussen ecosystemen suggereren dat de dreigingsactor directe toegang had tot de publicatie-infrastructuur in plaats van misbruik te maken van een technische kwetsbaarheid in de registers zelf.”
Na een verantwoorde openbaarmaking op 28 januari 2026 erkende dYdX het incident in een reeks berichten op X en drong er bij gebruikers die mogelijk de gecompromitteerde versies hadden gedownload op aan om de getroffen machines te isoleren, geld van een schoon systeem naar een nieuwe portemonnee te verplaatsen en alle API-sleutels en inloggegevens te rouleren.
“De versies van dydx-v4-clients die worden gehost in het dydxprotocol Github bevatten de malware niet”, voegde het eraan toe.
Dit is niet de eerste keer dat het dYdX-ecosysteem het doelwit is van supply chain-aanvallen. In september 2022 rapporteerden Mend en Bleeping Computer een soortgelijk geval waarbij het npm-account van een dYdX-medewerker werd gekaapt om nieuwe versies te publiceren van meerdere npm-pakketten die code bevatten om inloggegevens en andere gevoelige gegevens te stelen.

Twee jaar later maakte de beurs ook bekend dat de website die geassocieerd was met het inmiddels stopgezette dYdX v3-platform gecompromitteerd was om gebruikers om te leiden naar een phishing-site met als doel hun portemonnee leeg te maken.
“Bezien naast het npm-compromis in de toeleveringsketen uit 2022 en het DNS-kapingincident uit 2024, benadrukt deze aanval een aanhoudend patroon van tegenstanders die zich richten op dYdX-gerelateerde activa via vertrouwde distributiekanalen”, aldus Socket.
“De vrijwel identieke implementaties van identiteitsdiefstal in verschillende talen duiden op een doelbewuste planning. De bedreigingsacteur handhaafde consistente exfiltratie-eindpunten, API-sleutels en apparaatvingerafdruklogica terwijl hij ecosysteemspecifieke aanvalsvectoren inzette. De npm-versie richt zich op diefstal van inloggegevens, terwijl de PyPI-versie persistente systeemtoegang toevoegt.”
Supply Chain-risico’s met niet-bestaande pakketten
De onthulling komt op het moment dat Aikido gedetailleerd uitlegde hoe npm-pakketten waarnaar wordt verwezen in README-bestanden en -scripts, maar die nooit daadwerkelijk zijn gepubliceerd, een aantrekkelijke aanvalsvector in de toeleveringsketen vormen, waardoor een bedreigingsacteur pakketten onder die namen kan publiceren om malware te verspreiden.
De ontdekking is de nieuwste manifestatie van de toenemende verfijning van bedreigingen voor de softwaretoeleveringsketen, waardoor kwaadwillende actoren meerdere gebruikers tegelijk kunnen compromitteren door misbruik te maken van het vertrouwen dat gepaard gaat met open-sourcerepository’s.
“Geavanceerde aanvallers bewegen zich stroomopwaarts in de software-toeleveringsketen omdat deze een diep, geluidsarm initieel toegangspad biedt naar stroomafwaartse omgevingen”, aldus Omer Kidron van Sygnia.
“Dezelfde aanpak ondersteunt zowel precisiecompromissen (een specifieke leverancier, beheerder of build-identiteit) als opportunistische aanvallen op schaal (‘spray’) via algemeen vertrouwde ecosystemen – waardoor het relevant wordt voor alle organisaties, ongeacht of ze zichzelf als primair doelwit zien.”
Uit de analyse van Aikido bleek dat de 128 fantoompakketten tussen juli 2025 en januari 2026 gezamenlijk 121.539 downloads genereerden, met een gemiddelde van 3.903 downloads per week en een piek van 4.236 downloads vorige maand. De pakketten met de meeste downloads staan hieronder vermeld –
- openapi-generator-cli (48.356 downloads), die @openapitools/openapi-generator-cli nabootst
- komkommer-js (32.110 downloads), die @cucumber/cucumber nabootst
- depcruise (15.637 downloads), die de dependency-cruiser nabootst
- jsdoc2md (4.641 downloads)
- grpc_tools_node_protoc (4.518 downloads)
- vue-demi-switch (1.166 downloads)
“Openapi-generator-cli zag 3.994 downloads in de afgelopen zeven dagen”, zei beveiligingsonderzoeker Charlie Eriksen. “Dat is bijna 4.000 keer dat iemand een opdracht probeerde uit te voeren die niet bestaat. In één week.”
De bevindingen benadrukken een blinde vlek in de typosquatting-beveiligingen van npm, die, hoewel ze actief pogingen blokkeren om namen te claimen met een soortgelijke spelling als die van bestaande pakketten, een gebruiker er niet van weerhoudt pakketten te maken met namen die nooit zijn geregistreerd, omdat er niets is om mee te vergelijken.
Om dit risico met npx-verwarring te beperken, raadt Aikido aan de volgende stappen te nemen:
- Gebruik “npx –no-install” om terugval in het register te blokkeren, waardoor een installatie mislukt als een pakket lokaal niet wordt gevonden
- Installeer CLI-tools expliciet
- Controleer of een pakket bestaat als de documentatie gebruikers vraagt het uit te voeren
- Registreer voor de hand liggende aliassen en spelfouten om te voorkomen dat een slechte acteur deze claimt
“Het npm-ecosysteem heeft miljoenen pakketten”, zei Eriksen. “Ontwikkelaars voeren npx-opdrachten duizenden keren per dag uit. Het gat tussen ‘handige standaard’ en ‘willekeurige code-uitvoering’ is één niet-geclaimde pakketnaam.”