Der Angriff auf die Lieferkette von Axios untergräbt das Vertrauen in npm

| März 31, 2026
Das Logo für den Axios-HTTP-Client, das lediglich aus dem Wort „AXIOS“ in violetter Schrift besteht

Forscher stellten fest, dass manipulierte Axios-Versionen einen Fernzugriffstrojaner installierten.

Axios ist ein Promise-basierter HTTP-Client für Node.js, im Grunde ein Hilfswerkzeug, das Entwickler im Hintergrund nutzen, damit Apps mit dem Internet kommunizieren können. Axios macht beispielsweise Anfragen wie „Hole meine Nachrichten vom Server ab“ oder „Sende dieses Formular an die Website“ für Programmierer einfacher und zuverlässiger und erspart ihnen, selbst viel Low-Level-Netzwerkcode schreiben zu müssen.

Da es sowohl im Browser als auch auf Servern (Node.js) funktioniert, wird es in vielen modernen JavaScript-basierten Projekten als Standardkomponente verwendet. Selbst wenn Sie Axios nie selbst installieren, könnten Sie indirekt damit in Berührung kommen, wenn Sie:

  • Verwenden Sie Webanwendungen, die mit Frameworks wie React, Vue oder Angular erstellt wurden.
  • Verwenden Sie mobile Apps oder Desktop-Apps, die mit Webtechnologien wie Electron, React Native und anderen entwickelt wurden.
  • Entdecken Sie kleinere Software-as-a-Service-Tools (SaaS), Admin-Panels oder selbst gehostete Dienste, die von Entwicklern erstellt wurden, die sich für Axios entschieden haben.

Man könnte es mit den Wasserleitungen in Ihrem Haus vergleichen. Normalerweise nimmt man die Rohre gar nicht wahr, aber sie leiten das Wasser dorthin, wo Sie den Wasserhahn aufdrehen. Und man muss auch nicht wissen, wo sie verlaufen, bis ein Leck auftritt.

Was ist passiert?

Unter Verwendung der gestohlenen Zugangsdaten eines leitenden Betreuers von Axios veröffentlichte ein Angreifer manipulierte Pakete auf npm: axios@1.14.1 und axios@0.30.4. Die schädlichen Versionen fügen eine neue Abhängigkeit ein, plain-crypto-js@4.2.1, das nirgendwo im Axios-Quellcode importiert wird. 

Zusammen verzeichnen die beiden betroffenen Pakete auf npm bis zu 100 Millionen Downloads pro Woche, was bedeutet, dass sie enorme Auswirkungen auf Webanwendungen, Dienste und Pipelines haben.

Es ist wichtig zu beachten, dass die betroffene Axios-Version nicht in den offiziellen GitHub-Tags des Projekts aufgeführt ist. Das bedeutet, dass die betroffenen Personen und Projekte Entwickler und Umgebungen sind, die den Befehl „npm install“ ausgeführt haben, der zu folgendem Ergebnis führte:

  • axios@1.14.1 oder axios@0.30.4, oder
  • die Abhängigkeit plain-crypto-js@4.2.1.

Jeder Workflow, bei dem eine dieser Versionen mit aktivierten Skripten installiert wurde, hat möglicherweise alle eingebetteten Geheimnisse (Cloud-Schlüssel, Repo-Deploy-Schlüssel, npm-Token usw.) einem interaktiven Angreifer zugänglich gemacht, da das Postinstall-Skript (node setup.js), das bei einem npm-Install automatisch ausgeführt wird, einen verschleierten Dropper heruntergeladen hat, der eine plattformspezifische RAT-Nutzlast für macOS, Windows oder Linux abruft.

Wenn Sie als Entwickler Axios einsetzen, sollten Sie jeden Rechner, auf dem die fehlerhaften Versionen installiert wurden, als potenziell vollständig kompromittiert betrachten und Ihre Geheimdaten regelmäßig austauschen. Der Angreifer hat möglicherweise Zugriff auf das Repository, Signaturschlüssel, API-Schlüssel oder andere Geheimdaten erlangt, die dazu genutzt werden können, zukünftige Releases mit Hintertüren zu versehen oder Ihr Backend und Ihre Nutzer anzugreifen.

Nutzer von mit Axios entwickelten Apps haben keinen direkten Grund zur Sorge. Wenn Sie Ihre App lediglich in einem Browser laden, führen Sie diese RAT nicht direkt über Axios aus. Der Infektionsweg liegt im Installations- bzw. Erstellungsschritt, nicht in der Laufzeit der App.

Indikatoren für Kompromisse (IOCs)

Wie die Forscher feststellten, beseitigt der Malware-Dropper die Spuren seiner eigenen Aktivitäten:

„Bei jeder Überprüfung von `node_modules/plain-crypto-js/package.json` nach einer Infektion wird ein völlig sauberes Manifest angezeigt. Es gibt kein Postinstall-Skript, keine `setup.js`-Datei und keinen Hinweis darauf, dass jemals schädliche Software installiert wurde. Weder die Ausführung von `npm audit` noch die manuelle Überprüfung des Verzeichnisses mit den installierten Paketen lassen die Kompromittierung erkennen.“

Sie können also nach folgenden IOCs Ausschau halten:

Domain: sfrclak[.]com

IP-Adresse: 142.11.206.73

(beide von Malwarebytes blockiert)

Dateien:

  • macOS: /Library/Caches/com.apple.act.mond
  • Linux: /tmp/ld.py 
  • Windows: %PROGRAMDATA%\wt und %TEMP%\6202033.vbs/.ps1, die nur kurzzeitig während der Ausführung existieren

Schädliche npm-Pakete:

axios@1.14.1, SHA-256-Prüfsumme: 2553649f2322049666871cea80a5d0d6adc700ca

axios@0.30.4 -SHA-256-Prüfsumme: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71

plain-crypto-js@4.2.1 -SHA-256-Prüfsumme: 07d889e2dadce6f3910dcbc253317d28ca61c766


Wir berichten nicht nur über Bedrohungen - wir beseitigen sie

Cybersecurity-Risiken sollten nie über eine Schlagzeile hinausgehen. Laden Sie noch heute Malwarebytes herunter, um Bedrohungen von Ihren Geräten fernzuhalten.

Über den Autor

Pieter Arntz

Malware-Forscher

War 12 Jahre in Folge Microsoft MVP im Bereich Verbrauchersicherheit. Spricht vier Sprachen. Riecht nach edlem Mahagoni und ledergebundenen Büchern.