axios npm-package gekaapt, vormt nieuw supply chain-gevaar

dinsdag, 31 maart 2026 (09:26) - Techzine

In dit artikel:

Op 31 maart 2026 zijn twee kwaadaardige releases van de veelgebruikte JavaScript-library axios gepubliceerd op npm: axios@1.14.1 en axios@0.30.4. Securitybedrijf StepSecurity ontdekte dat deze builds via het gekaapte npm-account van hoofdmaintainer jasonsaayman zijn gepusht. De aanvaller veranderde het account-e-mailadres naar een anoniem ProtonMail-adres en publiceerde de pakketten handmatig met de npm CLI, buiten het normale GitHub Actions CI/CD-proces om.

In plaats van directe malware in axios zelf te plaatsen, injecteerde de aanvaller een vervalste dependency plain-crypto-js@4.2.1 die zich voordoet als de legitieme crypto-js-library (zelfde omschrijving, auteursnaam en repository-URL). Die dependency voert tijdens postinstall een verborgen dropper-script (setup.js) uit dat een cross-platform Remote Access Trojan (RAT) installeert en zichzelf daarna probeert te verbergen door het postinstall-hook en zichzelf te verwijderen en een schijnbaar schoon package.json terug te zetten. De aanwezigheid van de map node_modules/plain-crypto-js is daardoor het enige duidelijke teken dat de dropper actief is geweest.

Het dropper-script levert platformgerichte payloads: op macOS wordt een RAT-binary weggeschreven naar /Library/Caches/com.apple.act.mond (een pad dat lijkt op een legitiem Apple-proces); op Windows kopieert het een PowerShell-executable naar %PROGRAMDATA%\wt.exe en draait een verborgen PowerShell-script; op Linux wordt een Python-script gedownload naar /tmp/ld.py. Alle payloads contacteerden volgens StepSecurity dezelfde command-and-control-server op sfrclak.com:8000. Tijdens runtime-analyse met hun Harden-Runner-tool werd netwerkaansluiting naar dat C2-domein al 1,1 seconde na starten van npm install waargenomen.

De aanval was voorbereid: op 30 maart publiceerde de aanvaller eerst een schone plain-crypto-js@4.2.0 om publicatiegeschiedenis op te bouwen; bijna achttien uur later gevolgd door de malafide 4.2.1 en binnen een uur daarop de besmette axios-versies. Axios heeft wereldwijd enorme verspreiding (meer dan 300 miljoen wekelijkse downloads), waardoor zo’n geïnjecteerde dependency een groot besmettingspotentieel heeft. De tactiek weerspiegelt eerdere supply-chain incidents, zoals de Shai-Hulud 2.0-worm en de compromises van Chalk en Debug.

Aanbevolen maatregelen: ga ervan uit dat systemen met axios@1.14.1 of axios@0.30.4 gecompromitteerd zijn; downgrade naar axios@1.14.0 of axios@0.30.3; verwijder node_modules/plain-crypto-js en herinstalleer met npm install --ignore-scripts; roteer alle credentials (npm-tokens, cloud-keys, SSH-sleutels, CI/CD-secrets); en zet --ignore-scripts als veiligheidsmaatregel in CI/CD-pipelines om uitvoering van postinstall-scripts te blokkeren.