Als je de afgelopen tien jaar ooit een website hebt gebouwd, een startup hebt gerund of welke software dan ook hebt verzonden, is de kans groot dat je axios hebt gebruikt. Het is een van de softwaretools die enorme delen van het internet aandrijft. Het is een JavaScript-bibliotheek die de fundamentele maar essentiële taak van het ophalen van gegevens van servers afhandelt. Miljoenen ontwikkelaars en geautomatiseerde systemen downloaden het elke week.
Deze week probeerden hackers het plat te branden in een van de meest operationeel geavanceerde supply chain-aanvallen ooit uitgevoerd op een npm-pakket. Axios is een npm-pakket – een npm (Node Package Manager) is als een App Store voor code, en ontwikkelaars gebruiken het om vooraf gebouwde softwaretools te downloaden.
Volgens een rapport van cybersecurity-startup StepSecurity slaagde een bedreigingsacteur erin om Akios in gevaar te brengen, waardoor mogelijk een achterdeur werd gecreëerd naar de machines van elke ontwikkelaar die ongelukkig genoeg was om op het verkeerde moment een routinematige pakketinstallatie uit te voeren.
Een gestolen wachtwoord
De aanval begon met een gestolen wachtwoord. De aanvaller kaapte de npm-accountgegevens van een hoofdonderhouder van Axios (iemand die updates naar de software pusht) en veranderde vervolgens snel het bijbehorende e-mailadres van het account in een anoniem ProtonMail-adres. Hierdoor werd de echte eigenaar effectief buitengesloten voordat deze kon reageren.
Met deze sleutels in de hand had de aanvaller geen haast. Achttien uur voordat hij iets publiceerde, uploadde de hacker stilletjes een kwaadaardig pakket naar npm met de naam ‘plain-crypto-js’ en liet het daar achter. Deze voorbereidende fase is wat een opportunistische hack onderscheidt van een berekende operatie: de aanvaller had al afzonderlijke payloads gebouwd voor macOS, Windows en Linux, zodat geen enkele ontwikkelaar op welk platform dan ook gespaard zou blijven.
Toen kwam de executie. Er werden twee vergiftigde versies van axios gepubliceerd – ‘axios@1.14.1’ en ‘axios@0.30.4’ – en beide kwamen terecht in de belangrijkste releasebranches die ontwikkelaars actief gebruiken. Beiden waren binnen 39 minuten na elkaar live, aldus het rapport van StepSecurity.
Als een ontwikkelaar of een geautomatiseerd systeem beide versies had gedownload en de code had geopend, zouden ze niets duidelijk verkeerd hebben gevonden. De Axios-code zelf was schoon. Er zat geen malware verborgen in de functies, geen verdachte scripts verborgen in de bibliotheek. Een ontwikkelaar die een snelle controle zou uitvoeren, zou tevreden zijn weggelopen.
Een niveau dieper
De echte hack zat een niveau dieper, omdat de aanvallers stilletjes ‘plain-crypto-js’ – het pakket dat 18 uur eerder werd geënsceneerd – als afhankelijkheid vermeldden. Wanneer npm een pakket installeert, worden ook automatisch alle afhankelijkheden ervan geïnstalleerd.
Dus terwijl ontwikkelaars dachten dat ze alleen maar een vertrouwde tool aan het updaten waren, haalden ze in stilte ook een Remote Access Trojan (RAT) neer: malware die een hardnekkige achterdeur opent naar de geïnfecteerde machine en een externe aanvaller volledige toegang geeft tot de inhoud ervan.
Tot overmaat van ramp is de malware zo gebouwd dat hij zichzelf bij uitvoering vernietigt, waardoor sporen van zichzelf worden gewist, wat forensische analyse bemoeilijkt. En de aanval omzeilde het normale releaseproces volledig: er is nergens een 1.14.1-tag in de axios GitHub-repository, volgens het rapport van het cyberbeveiligingsbedrijf. Het werd rechtstreeks vrijgegeven aan npm, waarbij de geautomatiseerde testpijplijnen en codebeoordelingsprocessen die precies dit soort dingen zouden moeten opvangen, werden omzeild.
Impact op de eindgebruiker
Eindgebruikers van websites en apps installeren geen npm-pakketten, maar gebruiken software die is gebouwd door ontwikkelaars die dat wel doen. Als de machine van een ontwikkelaar door een dergelijke aanval wordt aangetast, wordt alles waartoe de ontwikkelaar toegang heeft een potentieel doelwit, inclusief productiedatabases en gebruikersgegevens. De explosieradius van één enkel gecompromitteerd ontwikkelaarsaccount bij het juiste bedrijf kan enorm zijn. Gebruikers kunnen dit niet zelf patchen, dus bedrijven die dergelijke software gebruiken, moeten betere beveiligingsmaatregelen implementeren rond de release van pakketten.
Wat deze aanval zo verontrustend maakt, is dat de hackers alleen maar het wachtwoord van een van de Axios-beheerders hoefden te stelen. Dat gaf hen toegang tot het installeren van twee malwares die door miljoenen nietsvermoedende ontwikkelaars als vertrouwde pakketten waren gedownload. Het open source-ecosysteem draait op vertrouwen en gemak, en deze twee zijn de grootste zwakte van het systeem geworden.
Zolang een enkel gecompromitteerd account stilletjes kan publiceren naar een pakket dat meer dan een miljard keer per maand wordt gedownload, zijn we allemaal op de een of andere manier één phishing-e-mail verwijderd van een ramp.
Wat moet je nu doen?
Als u ‘axios@1.14.1’ of ‘axios@0.30.4’ hebt geïnstalleerd, is de aanbevolen volgende stap om van het ergste uit te gaan en uw machines als volledig gecompromitteerd te behandelen. Dat betekent dat elk geheim dat de machine ooit heeft aangeraakt onmiddellijk moet worden geroteerd: API-sleutels, SSH-sleutels, databasewachtwoorden, omgevingsvariabelen, OAuth-tokens, het hele ding. Inloggegevens die openbaar zijn gemaakt, moeten worden gevolgd op alle systemen waartoe zij toegang bieden.
Ontwikkelaars moeten teruggaan naar ‘axios@1.14.0’ of ‘axios@0.30.3’ – beide zijn schoon, volgens het StepSecurity-rapport. Het is ook belangrijk om netwerklogboeken te controleren op verdachte uitgaande verbindingen (vooral alles wat buitenlandse externe servers bereikt), aangezien een RAT via het netwerk terug communiceert met de command-and-control-server van een aanvaller.
Uitgegeven – 2 april 2026 om 13:29 IST


