Open-Source-Abhängigkeiten sind das Rückgrat moderner Software – aber auch eine bevorzugte Angriffsfläche. Bösartige Akteure zielen zunehmend auf Paket-Registries und Entwickelnden-Workflows ab, um Malware einzuschleusen, die sofort nach der Installation einer Abhängigkeit ausgeführt wird. Dieser Beitrag erklärt, wie diese Supply-Chain-Malware-Kampagnen funktionieren, warum traditionelle Scanner sie übersehen und welche praktischen Abwehrmaßnahmen Sie heute anwenden können.
Die Bedrohungslandschaft: warum die Lieferkette ein bevorzugtes Ziel ist
Bedrohungsakteure – einschließlich staatlich gesponserter Gruppen – nutzen Open-Source-Ökosysteme aktiv aus. Angriffe reichen von kompromittierten Maintainer-Konten bis hin zu automatisierten Würmern, die sich selbst über Registries hinweg verbreiten. Die Auswirkungen werden dadurch verstärkt, wie weit verbreitet Pakete wiederverwendet werden: Ein einziges kompromittiertes Modul kann millionen- oder milliardenfach über Projekte und Organisationen hinweg heruntergeladen werden.
Wie Angreifer Malware einschleusen
Es gibt mehrere gängige Techniken, die Angreifer verwenden, um bösartigen Code in Ihre Builds zu schleusen. Das Verständnis dieser Muster erleichtert deren Erkennung und Blockierung.
- Account-Übernahme – Ein Angreifer phisht einen Maintainer oder stiehlt Entwickelnden-Tokens für Registries wie npm oder PyPI und veröffentlicht dann Malware in einem vertrauenswürdigen Paket. Wenn dieses Paket installiert wird, zieht jeder Konsument den bösartigen Code nach.
- Typosquatting – Angreifer veröffentlichen ein Paket mit einem Namen, der einem beliebten Modul sehr ähnlich ist (z. B. CCTVX vs. CCXT). Ein einfacher Tippfehler während der Installation kann dazu führen, dass Sie ein bösartiges Paket anstelle des legitimen abrufen.
- Dependency Confusion – Wenn ein interner Paketname nicht streng auf eine private Registry beschränkt ist, bevorzugen Paketmanager möglicherweise ein öffentliches Paket mit demselben Namen. Angreifer veröffentlichen ein öffentliches Paket, das Ihre interne Abhängigkeit überschreibt.
- Hallucination Squatting – Große Sprachmodelle erfinden manchmal Abhängigkeiten, die nicht existieren. Angreifer entdecken, was LLMs tendenziell halluzinieren, veröffentlichen diese erfundenen Pakete und warten auf Opfer, die generierten Code in Projekte kopieren.

Reale Beispiele, die zeigen, wie weit verbreitet dies ist
Es gab hochkarätige Vorfälle, bei denen weit verbreitete Pakete kompromittiert wurden, was zu einer massiven Exposition im gesamten Ökosystem führte. In anderen Fällen stahlen sich selbst verbreitende Würmer Entwickelnden-Tokens, um die Infektion automatisch auf weitere Pakete auszudehnen – wodurch eine einzelne Kompromittierung zu einer sich ausbreitenden Kampagne wurde.

Warum Malware schlimmer ist als eine typische Schwachstelle
Im Gegensatz zu einer Schwachstelle, die entdeckt und ausgenutzt werden muss, ist Malware absichtlich darauf ausgelegt, zu agieren. Viele bösartige Pakete enthalten Pre-Install- oder Post-Install-Skripte, die sofort bei der Installation der Abhängigkeit ausgeführt werden. Gängige bösartige Verhaltensweisen umfassen:
- Kontaktaufnahme mit einem Command-and-Control (C2)-Server, um Daten zu exfiltrieren oder Befehle zu empfangen
- Backdoors installieren oder Remote Code Execution auf Build-Systemen erlangen
- Package-Maintainer-Tokens stehlen, um sie über Registries hinweg zu verbreiten
Das Ausmaß: Tausende bösartiger Pakete jeden Monat
Malware in Registries ist keine Seltenheit. Forschungsteams, die Registries überwachen, finden jeden Monat Tausende bösartiger Pakete. Die meisten sind nur wenige Stunden aktiv, bevor sie entfernt werden, was bedeutet, dass die Erkennung schnell und kontinuierlich erfolgen muss.

Malware in Echtzeit erkennen
Da bösartige Releases nur für ein sehr kurzes Zeitfenster aktiv sein können, müssen Erkennungstools nahezu in Echtzeit arbeiten und sich in Workflows von Entwickelnden integrieren. Zwei zentrale Funktionen sind unerlässlich:
- Echtzeit-Bedrohungsaufklärung — Eine Datenbank bösartiger Pakete, die sich kontinuierlich aktualisiert, damit Installationen mit den neuesten Indikatoren abgeglichen werden können.
- Prüfungen auf Installer-Ebene — Ein kleiner, reibungsarmer Wrapper um Paketmanager, der Pakete vor der Installation validiert, ohne den Workflow von Entwickelnden zu unterbrechen.

Tools, die im Installationspfad sitzen (z. B. durch Wrapping von npm-, yarn- oder pip-Installationen), sind besonders effektiv, da sie Malware blockieren können, bevor sie ein Build-System oder eine Maschine von Entwickelnden erreicht.
Wie Bedrohungsaufklärungssysteme bösartige Pakete erkennen
Die Erkennung von Supply-Chain-Malware ist schwierig, da jeder Indikator auch harmlos sein kann. Beispiele für verdächtige Indikatoren sind starke Base64-Verschleierung, ausgehende Aufrufe an ungewöhnliche Domains und unsichtbare Unicode-Zeichen, die in Code eingebettet sind. Jedes dieser Merkmale könnte legitim sein.
Um Rauschen von echten Bedrohungen zu trennen, verwenden moderne Feeds einen mehrschichtigen Ansatz:
- Automatisiertes Scannen nach Hunderten von Indikatoren in neu veröffentlichten Paketen.
- KI- oder ML-Modelle, die Indikatorsignale kombinieren, um einen Wahrscheinlichkeitswert für Bösartigkeit zuzuweisen.
- Manuelle Überprüfung für Fälle mit mittlerem Risiko und automatische Entfernung oder Blockierung bei hochsicheren Erkennungen.
Praktische Maßnahmen, die Sie heute implementieren können
Hier sind konkrete Schritte, die Entwicklungs- und Sicherheitsteams unternehmen sollten, um das Risiko durch Supply-Chain-Malware zu reduzieren:
- Geltungsbereichsbezogene/private Registries für interne Pakete vorschreiben — Stellen Sie sicher, dass interne Paketnamen nicht mit öffentlichen Paketen verwechselt werden können, und konfigurieren Sie Paketmanager so, dass sie für interne Abhängigkeiten immer private Registries bevorzugen.
- Installationsbefehle wrappen — Fügen Sie eine Installationszeit-Prüfung in CI- und Entwickelnden-Maschinen hinzu, die einen Live-Bedrohungsfeed abfragt, bevor die Paketinstallation zugelassen wird.
- Konten von Entwickelnden härten — Verlangen Sie Multi-Faktor-Authentifizierung für Registry-Konten, rotieren Sie Tokens und überwachen Sie verdächtige Anmeldungen.
- Abhängigkeit von frisch veröffentlichten Paketen reduzieren — Erwägen Sie Richtlinien, die ein Mindestalter für Pakete bei direkten Installationen in CI vorschreiben, um die Auswirkungen von bösartigen Releases am selben Tag zu begrenzen.
- Threat Intel in Ihre Pipeline integrieren — Speisen Sie bösartige Paketlisten in Echtzeit in CI/CD, Dependency-Scanner und IDE-Tools ein, um riskante Pakete frühzeitig zu blockieren.
- Für KI-Halluzinationen trainieren — Behandeln Sie Abhängigkeiten, die von Code-Generierungstools vorgeschlagen werden, als nicht vertrauenswürdig, bis sie verifiziert sind; vermeiden Sie es, generierte Paketnamen blind in Manifeste zu kopieren.
Abschließende Gedanken
Supply-Chain-Malware ist eine aktive, sich entwickelnde Bedrohung. Sie nutzt sowohl menschliche Fehler (Phishing, Tippfehler) als auch Automatisierung (Registry-Verhalten, LLM-Halluzinationen) aus. Deren Bekämpfung erfordert Echtzeit-Threat Intelligence, Tools, die sich in normale Entwickler-Workflows integrieren, und grundlegende Hygiene wie Scoped Registries und MFA für Maintainer.
Das Erkennen und Blockieren bösartiger Pakete, bevor sie ausgeführt werden, schützt nicht nur Ihre Codebasis, sondern auch das breitere Open-Source-Ökosystem. Machen Sie die Erkennung schnell, integrieren Sie sie in Installationen und behandeln Sie jede neue Abhängigkeit als nicht vertrauenswürdig, bis sie verifiziert ist.
„Malware in der Lieferkette wirkt sofort – Ihre Abwehrmaßnahmen müssen schneller agieren.“
Testen Sie Aikido Security noch heute!

