Im März 2026 wurde eine der weltweit am häufigsten genutzten JavaScript-Bibliotheken zum Mittelpunkt eines schweren Angriffs auf die Software-Lieferkette. Betroffen war Axios – ein extrem populärer HTTP-Client, den Millionen von Entwicklern nutzen und der in unzähligen Webanwendungen, Backend-Diensten, Cloud-Plattformen sowie CI/CD-Pipelines fest integriert ist.

Obwohl die schadhaften Pakete letztlich nur für wenige Stunden online waren, hat der Vorfall eine bittere Realität der modernen Softwareentwicklung einmal mehr verdeutlicht: Unternehmen müssen längst nicht mehr nur ihren eigenen Code absichern. Sie vertrauen vielmehr auf ein riesiges Ökosystem aus Drittanbieter-Abhängigkeiten, die immer öfter ins Visier von Angreifern geraten.

Was ist passiert?

Am 31. März 2026 verschafften sich Angreifer Zugriff auf das npm-Konto eines führenden Axios-Maintainers und veröffentlichten zwei schadhafte Versionen des Pakets: axios@1.14.1 und axios@0.30.4. Anstatt jedoch den Quellcode von Axios selbst zu verändern, schleusten die Angreifer eine scheinbar harmlose Abhängigkeit namens plain-crypto-js ein, die dem legitimen Paket crypto-js täuschend ähnlich sehen sollte.

Die kompromittierte Abhängigkeit enthielt ein postinstall-Skript, das sich beim Installieren des Pakets automatisch ausführte. Einmal gestartet, lud es einen Remote Access Trojaner (RAT) herunter und installierte ihn – genau abgestimmt auf das jeweilige Betriebssystem des Opfers, egal ob Windows, macOS oder Linux. Anschliessend versuchte die Malware, sämtliche Spuren der Installation zu verwischen, um eine Entdeckung zu erschweren.

Sicherheitsforscher erkannten die manipulierten Releases zum Glück schnell, sodass npm sie innerhalb von etwa zwei bis drei Stunden wieder entfernen konnte. Dennoch gilt: Jede Entwickler-Workstation, jeder Build-Server und jede automatisierte Deployment-Pipeline, die die betroffenen Versionen in diesem Zeitfenster installiert hat, könnte kompromittiert sein.

Es wird vermutet, dass der Angriff extrem gut organisiert und hochentwickelt war. Mehrere Sicherheitsforscher und Threat-Intelligence-Teams brachten die genutzte Infrastruktur mit nordkoreanischen Akteuren in Verbindung, auch wenn eine offizielle Zuordnung bei Cyber-Security-Untersuchungen bekanntlich immer schwierig ist.

Warum Package-Manager Fluch und Segen zugleich sind

Paketmanager wie npm, PyPI, Maven, Cargo und NuGet haben die Softwareentwicklung revolutioniert. Anstatt jede Komponente von Grund auf neu zu bauen, können Entwickler auf Open-Source-Bibliotheken zurückgreifen, die von Communities und Organisationen auf der ganzen Welt gepflegt werden.

Dieser Ansatz bietet enorme Vorteile:

  • Schnellere Entwicklungszyklen
  • Geringere Engineering-Kosten
  • Zugriff auf praxiserprobte Funktionen
  • Riesige Ökosysteme wiederverwendbarer Komponenten

Diese Vorteile haben jedoch ihren Preis: Vertrauen.

Wenn du npm install ausführst, lädst du nicht nur das angeforderte Paket herunter. Oft landen damit Dutzende oder sogar Hunderte von indirekten Abhängigkeiten auf deinem Rechner, die von Personen gepflegt werden, die du noch nie getroffen hast, und von Organisationen, über die du kaum etwas weisst.

In vielen modernen Anwendungen stammt der Grossteil des produktiven Codes nicht mehr aus eigener Produktion, sondern aus solchen Drittanbieter-Abhängigkeiten.

Daraus ergeben sich handfeste Risiken:

1. Kompromittierung von Maintainer-Konten

Der Axios-Vorfall zeigt genau, was passiert, wenn Angreifer die Kontrolle über das Konto eines vertrauenswürdigen Maintainers erlangen. Weil die Nutzer dem Paket blind vertrauen, können sich schadhafte Updates durch automatisierte Dependency-Updates und CI/CD-Pipelines rasant verbreiten.

2. Abhängigkeitsketten (Dependency Chains)

Ein Projekt hängt direkt vielleicht nur von einer Handvoll Paketen ab, aber jedes dieser Pakete bringt oft weitere Abhängigkeiten mit sich. So entsteht ein regelrechter Abhängigkeitsbaum, der Hunderte oder Tausende von Komponenten umfassen kann.

Forscher, die das npm-Ökosystem untersucht haben, fanden heraus, dass sich Sicherheitslücken oft wie Dominosteine durch diese Netzwerke fortpflanzen und so eine riesige Anzahl nachgelagerter Pakete betreffen.

3. Typosquatting und Dependency Confusion

Angreifer veröffentlichen immer wieder Pakete mit Namen, die legitimen Bibliotheken täuschend ähnlich sehen. Ein einfacher Tippfehler reicht aus, und schon wird Malware anstelle der gewünschten Abhängigkeit installiert.

Die Axios-Angreifer nutzten eine Variante dieser Technik, indem sie ein Paket erstellten, das optisch stark an eine bekannte Kryptographie-Bibliothek angelehnt war.

4. Automatisiertes Vertrauen

Moderne Entwicklungs-Workflows automatisieren die Installation, das Testen und das Deployment von Abhängigkeiten immer stärker. Das steigert zwar die Produktivität, bedeutet aber eben auch, dass Schadsoftware ohne menschliche Prüfung vollautomatisch auf Entwickler-Workstations und in der Build-Infrastruktur ausgeführt werden kann.

Die Axios-Malware hat genau dieses Verhalten über einen automatisierten Installations-Hook schamlos ausgenutzt.

Können Unternehmen einfach aufhören, npm zu nutzen?

Für die meisten Organisationen lautet die Antwort ganz klar: Nein.

Die moderne Softwareentwicklung wäre ohne Paketmanager und Open-Source-Ökosysteme drastisch langsamer und teurer. Das Ziel kann also nicht sein, Abhängigkeiten komplett zu eliminieren. Es geht vielmehr darum, das damit verbundene Risiko intelligent zu managen.

Genauso wie Unternehmen nicht aufhören, Cloud-Anbieter zu nutzen, nur weil Cloud-Umgebungen kompromittiert werden können, sollten sie auch Open-Source-Software wegen potenzieller Supply-Chain-Angriffe nicht den Rücken kehren. Stattdessen brauchen Organisationen strengere Kontrollen darüber, wie Abhängigkeiten ausgewählt, aktualisiert und überwacht werden.

Wie Entwickler und Unternehmen das Risiko senken können

Abhängigkeitsversionen festschreiben (Pinning)

Eine der effektivsten Verteidigungsmassnahmen ist es, die automatische Installation der neuesten Paketversionen zu verhindern. Der Einsatz von Lock-Dateien und das Festschreiben exakter Versionen stellt sicher, dass Builds reproduzierbar bleiben. So verhinderst du, dass unerwartete Paket-Updates unbemerkt in die Produktionsumgebung gelangen. Beim Axios-Vorfall waren Organisationen, die sichere Versionen fest fixiert hatten, deutlich seltener betroffen.

Neue Abhängigkeiten sorgfältig prüfen

Jede neue Abhängigkeit bringt zusätzliche Risiken mit sich. Bevor ein Team ein Paket einbindet, sollte es folgende Punkte unter die Lupe nehmen:

  • Wie aktiv wird das Paket gepflegt (Maintenance)?
  • Wie hoch ist die Akzeptanz in der Community?
  • Gibt es bekannte Sicherheitslücken in der Vergangenheit?
  • Wie viele transitive Abhängigkeiten werden mitinstalliert?
  • Welchen Ruf geniessen die Maintainer?

Ein Paket mit Millionen von Downloads ist zwar nicht automatisch sicher, aber etablierte Projekte stehen im Normalfall unter deutlich strengerer Beobachtung als unbekannte Alternativen.

Software Composition Analysis (SCA) nutzen

Moderne Security-Tools können Abhängigkeiten kontinuierlich auf bekannte Schwachstellen, schadhafte Pakete und verdächtiges Verhalten scannen. Diese Tools helfen Unternehmen dabei, Risiken zu erkennen, bevor die Software die Produktion erreicht, und schlagen sofort Alarm, wenn neue Sicherheitslücken gemeldet werden.

CI/CD-Pipelines absichern

Build-Systeme haben oft Zugriff auf hochsensible Daten wie Cloud-Zugangsdaten, Signierschlüssel und Deployment-Geheimnisse. Organisationen sollten daher:

  • Zugriffskontrollen nach dem Prinzip der minimalen Rechtevergabe (Least Privilege) umsetzen
  • Build-Umgebungen isolieren
  • Zugangsdaten regelmässig rotieren lassen
  • Ungewöhnliche Aktivitäten während des Builds überwachen
  • Den Internetzugang der Pipeline wo immer möglich einschränken

Die Build-Pipeline rückt immer stärker in den Fokus von Angreifern, da eine Kompromittierung an dieser Stelle Tür und Tor zu vielen nachgelagerten Systemen öffnet.

Starke Authentifizierung für Maintainer erzwingen

Der Axios-Angriff nahm seinen Anfang mit der Kompromittierung eines Maintainer-Kontos. Starke Authentifizierungsmassnahmen können die Wahrscheinlichkeit solcher Vorfälle drastisch senken. Empfohlen werden hierbei:

  • Hardware-Sicherheitsschlüssel (z. B. YubiKeys)
  • Multi-Faktor-Authentifizierung (MFA)
  • Mechanismen für „Trusted Publishing“
  • Strikte Überprüfungen der Zugriffsrechte

Open-Source-Maintainer werden immer häufiger von hochentwickelten Angreifern ins Visier genommen, da ein einziges kompromittiertes Konto Auswirkungen auf Tausende von Unternehmen haben kann.

Jagd auf Bedrohungen in der Lieferkette (Supply Chain Threats)

Unternehmen müssen Software von Drittanbietern als festen Bestandteil ihrer eigenen Angriffsfläche betrachten. Dazu gehört:

  • Das Überwachen von Dependency-Updates
  • Das Verfolgen von Sicherheitswarnungen (Security Advisories)
  • Das Führen einer lückenlosen Pipeline aller Softwarekomponenten (SBOM)
  • Das Vorbereiten von Incident-Response-Prozessen für den Fall einer kompromittierten Abhängigkeit

Die Frage ist heute nicht mehr, ob ein Supply-Chain-Angriff irgendwo im Ökosystem stattfindet, sondern ob ein Unternehmen in der Lage ist, diesen schnell zu erkennen und darauf zu reagieren.

Fazit

Die Axios-Kompromittierung war kein isolierter npm-Vorfall. Sie war eine weitere eindringliche Warnung, dass die Sicherheit der Software-Lieferkette zu einer der grössten Herausforderungen der modernen IT-Welt geworden ist.

Open-Source-Software bleibt einer der stärksten Treiber für Innovationen in der Technologiebranche. Doch die Bequemlichkeit von Paketmanagern basiert auf einem impliziten Vertrauensmodell, das Angreifer zunehmend für sich ausnutzen.

Organisationen, die diese Realität annehmen und gezielt in Dependency-Management, Pipeline-Sicherheit und kontinuierliches Monitoring investieren, sind weitaus besser auf den nächsten Supply-Chain-Angriff vorbereitet. Die Lektion aus dem Axios-Vorfall ist unmissverständlich: Die Sicherheit deiner Anwendung wird nicht nur durch den Code bestimmt, den du selbst schreibst. Sie wird ganz entscheidend von dem Code bestimmt, dem du vertaust.

Leave a Reply


The reCAPTCHA verification period has expired. Please reload the page.