Hackers maken gebruik van Ethereum-smart contracts om malware-scripts in ogenschijnlijk onschuldige npm-pakketten te verbergen, een tactiek die de blockchain omzet in een robuust commandokanaal en het moeilijker maakt om de aanvallen te stoppen. ReversingLabs heeft twee npm-pakketten, colortoolsv2 en mimelib2, gedetailleerd beschreven. Deze pakketten lezen een contract op Ethereum om een URL voor een tweede fase downloader op te halen, in plaats van infrastructuur direct in het pakket te coderen. Dit minimaliseert statische indicatoren en laat minder sporen achter in de broncode.
Deze pakketten verschijnen voor het eerst in juli en werden na bekendmaking verwijderd. ReversingLabs heeft hun promotie teruggeleid naar een netwerk van GitHub-repositories die zich voordeden als handelsbots, waaronder solana-trading-bot-v2, met nep-sterren, opgeblazen commitgeschiedenissen en schijn-onderhouders. Deze sociale laag leidde ontwikkelaars naar de schadelijke afhankelijkheidsketen. Hoewel het aantal downloads laag was – zeven voor colortoolsv2 en slechts één voor mimelib2 – spreekt de gebruikte methode boekdelen. Het blijft een kans voor opportunistische ontwikkelaars. Snyk en OSV hebben inmiddels beide pakketten als kwaadaardig geclassificeerd, wat snelle controles voor teams die historische builds auditen vergemakkelijkt.
Het gebruik van de blockchain als commando-kanaal weerspiegelt een breder campagne die onderzoekers eind 2024 hebben gevolgd, waarin honderden npm typosquats werden uitgevoerd. In die golf voerden pakketten install- of preinstall-scripts uit die een Ethereum-contract consulteerden, een basis-URL opvroegen en vervolgens OS-specifieke payloads downloadden met namen als node-win.exe, node-linux of node-macos. Checkmarx documenteerde een kerncontract op 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b in combinatie met een wallet-parameter 0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84. Daarbij werden infrastructuren waargenomen zoals 45.125.67.172:1337 en 193.233.201.21:3001.
Phylum’s deobfuscation laat zien hoe de ethers.js oproep naar getString(address) op hetzelfde contract werkte, evenals de rotatie van C2-adressen over tijd. Dit gedrag verandert de contractstatus in een beweegbare aanwijzer voor het ophalen van malware. Socket heeft onafhankelijk de typosquat-vloed in kaart gebracht en bijpassende Indicatoren van Compromittering (IOCs) gepubliceerd, wat de consistentie tussen bronnen bevestigt.
ReversingLabs positioneert de pakketten van 2025 als een voortzetting van de techniek, eerder dan van de schaal, met de nuance dat het smart contract de URL voor de volgende fase huisvest, in plaats van de payload zelf. De distributie via GitHub, met nep-sterren en triviale commits, is gericht op het doorstaan van informele due diligence en maakt gebruik van automatische afhankelijkheidsupdates binnen klonen van de neprecpositories.
Dit ontwerp vertoont gelijkenissen met eerdere toepassingen van externe platforms voor indirectie, zoals GitHub Gist of cloudopslag. Echter, on-chain opslag biedt onwrikbaar bewijs, publieke leesbaarheid en een neutrale omgeving die niet eenvoudig door verdedigers kan worden offline gehaald. Volgens ReversingLabs omvatten concrete IOCs de Ethereum-contracten 0x1f117a1b07c108eae05a5bccbe86922d66227e2b, gerelateerd aan de juli-pakketten, en het 2024-contract 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b, evenals de wallet 0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84. De hostpatronen 45.125.67.172 en 193.233.201.21 draaien rond poorten 1337 of 3001, met de eerder genoemde payload-namen. Hashes voor de tweede fase van 2025 bevatten 021d0eef8f457eb2a9f9fb2260dd2e391f009a21, en voor de golf van 2024 vermeldt Checkmarx de SHA-256-waarden voor Windows, Linux en macOS. ReversingLabs heeft ook SHA-1-hashes voor elke kwaadaardige npm-versie gepubliceerd, wat teams helpt bij het scannen van artifactstores op eerdere blootstellingen.
Wat betreft de verdediging is de onmiddellijke controle het voorkomen van het uitvoeren van lifecycle-scripts tijdens installatie en continue integratie (CI). npm documenteert de --ignore-scripts vlag voor npm ci en npm install, en teams kunnen deze globaal instellen in .npmrc en vervolgens selectief noodzakelijke builds toestaan met een aparte stap. De Node.js beveiligingsrichtlijnen adviseren dezelfde aanpak, met daarnaast het vastzetten van versies via lockfiles en een striktere beoordeling van onderhouders en metadata.
Het blokkeren van uitgaand verkeer naar de bovengenoemde IOCs en het alarmeren van buildlogs die ethers.js initialiseren voor het oproepen van getString(address) bieden praktische detecties die aansluiten bij het C2-ontwerp op basis van de keten. De pakketten zijn weliswaar verdwenen, het patroon blijft bestaan, en on-chain indirectie staat nu naast typosquats en neprecpositories als een herleidbare manier om ontwikkelaarsmachines te bereiken.
Wat zijn de belangrijkste risico’s van de nieuwe malware-tactieken?
De nieuwe tactieken stellen ontwikkelaars bloot aan sneaky aanvallen via ogenschijnlijk onschuldige pakketten, die bij een aanval kunnen leiden tot datalekken of systeemcompromitteringen. Het gebruik van blockchain-technologie complicateert detectie en mitigatie, waardoor een nauwkeurige aanvalspreventie cruciaal is.
Hoe moeten ontwikkelteams zich beschermen?
Ontwikkelteams moeten lifecycle-scripts uitschakelen tijdens installaties, goedkeuring van afhankelijkheden strenger handhaven en hun configuratiebestanden aanpassen voor verbeterde beveiliging. Het monitoren van het netwerkverkeer en buildlogs is eveneens essentieel voor vroege detectie van verdachte activiteiten.
Wat betekent dit voor de toekomst van de cryptomarkt?
Deze incidenten benadrukken de noodzaak voor verbeterde beveiligingsprotocollen binnen de cryptomarkt. In een tijd van groei en ontwikkeling is het essentieel dat ontwikkelaars en investeerders zich bewust zijn van potentiële kwetsbaarheden en samenwerkingsverbanden aangaan om weerbaarheid tegen cyberdreigingen te verhogen.
