axios kompromittiert: Remote-Access-Trojaner in einer der meistgenutzten JS-Bibliotheken

15. April 2026 Thomas K.

Ende März wurden über ein gekapertes Maintainer-Konto manipulierte Versionen der HTTP-Bibliothek axios veröffentlicht, die einen Remote-Access-Trojaner installierten. Wir erklären, was passiert ist, wie Sie Ihre Projekte prüfen und wie Sie Ihre npm-Installationen dauerhaft absichern.

Was ist passiert?

Am 31. März 2026 erschienen auf npm die Versionen axios@1.14.1 und axios@0.30.4. Veröffentlicht wurden sie über das Konto eines der Hauptmaintainer, das die Angreifer zuvor übernommen hatten. Laut StepSecurity wurde die hinterlegte E-Mail-Adresse auf eine ProtonMail-Adresse der Angreifer geändert; die Pakete wurden manuell veröffentlicht, am regulären CI/CD-Prozess des Projekts vorbei. Nach dem Post-Mortem des Maintainers ging der Übernahme gezieltes Social Engineering voraus.

Am Quellcode von axios selbst änderte sich nichts. Die manipulierten Versionen fügten lediglich eine neue Abhängigkeit hinzu: plain-crypto-js@4.2.1. Deren postinstall-Skript lud je nach Betriebssystem einen Trojaner für macOS, Windows oder Linux nach und verwischte anschließend seine Spuren, indem es die eigene package.json durch eine saubere Version ersetzte. Eine harmlose Vorversion des Pakets war bereits rund 18 Stunden vorher veröffentlicht worden, um unauffälliger zu wirken.

npm entfernte die beiden axios-Versionen nach etwa zwei bis drei Stunden. Laut Techzine wird axios wöchentlich mehr als 300 Millionen Mal heruntergeladen – selbst ein kurzes Zeitfenster reicht also für eine große Zahl betroffener Installationen.

Warum betrifft Sie das?

axios steckt in unzähligen Web-Frontends, Node.js-Backends und Build-Werkzeugen, oft auch als indirekte Abhängigkeit. Der Schadcode lief bereits während npm install – auf Entwicklerrechnern ebenso wie in CI-Pipelines. Dort liegen typischerweise genau die Daten, die Angreifer suchen: npm-Tokens, Cloud-Zugangsdaten, SSH-Schlüssel und Deployment-Secrets.

Was Sie jetzt tun sollten

  • Lockfiles prüfen: Suchen Sie in allen Repositories nach den betroffenen Versionen und nach dem Paket plain-crypto-js:
Terminal
# Installierte axios-Versionen (auch indirekte) anzeigen
npm ls axios plain-crypto-js --all

# Lockfiles nach dem Schadpaket durchsuchen
grep -rn "plain-crypto-js" \
  --include=package-lock.json --include=yarn.lock --include=pnpm-lock.yaml .
  • Spuren suchen: Ein Verzeichnis node_modules/plain-crypto-js zeigt laut StepSecurity, dass der Dropper ausgeführt wurde – auch wenn die package.json darin harmlos aussieht.
  • Zurück auf sichere Versionen: Verwenden Sie axios@1.14.0 bzw. axios@0.30.3 und erzwingen Sie diese bei Bedarf per overrides in der package.json.
  • Betroffene Systeme als kompromittiert behandeln: Wurde eine der Versionen installiert, sollten Sie den Rechner neu aufsetzen und sämtliche dort verfügbaren Zugangsdaten von einem sauberen System aus rotieren. Bei CI-Runnern betrifft das alle Secrets des jeweiligen Laufs.
  • Install-Skripte in CI abschalten: Viele Projekte brauchen keine postinstall-Skripte. Installieren Sie in Pipelines reproduzierbar aus dem Lockfile:
Terminal
npm ci --ignore-scripts
  • Wartezeit für neue Versionen einführen: Manipulierte Releases werden meist innerhalb von Stunden entdeckt. Eine Mindestwartezeit („Cooldown") verhindert, dass brandneue Versionen sofort installiert werden. In pnpm etwa per pnpm-workspace.yaml (Angabe in Minuten):
YAML
minimumReleaseAge: 10080 # 7 Tage

Vergleichbare Einstellungen gibt es laut StepSecurity auch für npm, Yarn und Bun; Dependabot und Renovate lassen sich ebenfalls so konfigurieren, dass neue Versionen erst nach einigen Tagen vorgeschlagen werden.

Fazit

Der axios-Vorfall zeigt erneut, dass ein einziges gekapertes Maintainer-Konto genügt, um Millionen Projekte zu gefährden. Feste Versionen im Lockfile, deaktivierte Install-Skripte in der Pipeline und eine Wartezeit für neue Releases senken das Risiko deutlich – und kosten im Alltag kaum Aufwand. Wenn Sie Ihre JavaScript-Projekte und Build-Prozesse entsprechend absichern möchten, sprechen Sie uns an.

Quellen