Supply-Chain-Angriffe: Schädliche Pakete und kompromittierte Wallet-Bibliotheken
Ein Krypto-Supply-Chain-Angriff versteckt Schadcode in Software, der du vertraust. Erfahre, wie kompromittierte Pakete und Wallet-Bibliotheken funktionieren und wie du dich schützt.
Ein Krypto-Supply-Chain-Angriff liegt vor, wenn Kriminelle Software kompromittieren, von der Wallets, Apps oder Websites abhängen – etwa ein Open-Source-Paket, eine Browser-Erweiterung oder einen Update-Server –, sodass Schadcode die Nutzer über einen vertrauenswürdigen Kanal erreicht. Der Code tauscht typischerweise Zieladressen aus, schleust einen Wallet Drainer in eine Website ein oder stiehlt Seed-Phrasen, und die Opfer machen oft nichts falsch, außer ein Produkt zu nutzen, dem sie bereits vertrauen.
Diese Angriffe betreffen alle im Kryptobereich, nicht nur Entwickler. Moderne Wallets und dezentrale Apps bestehen aus Hunderten von Drittanbieter-Komponenten, und eine einzige kompromittierte Komponente kann viele Produkte gleichzeitig treffen. Dieser Leitfaden erklärt, wie die Angriffe funktionieren, worauf du achten solltest und wie du dein Risiko als Nutzer oder Entwickler verringerst.
So funktioniert ein Supply-Chain-Angriff
Die „Lieferkette“ einer Krypto-App ist alles, was in sie einfließt: Code-Bibliotheken, Build-Tools, Hosting-Anbieter, Content Delivery Networks und Update-Server. Ein Angriff läuft typischerweise in diesen Schritten ab:
- 1Zugang verschaffen. Der Angreifer phisht einen Maintainer einer beliebten Bibliothek, kauft ein verwaistes Paket, errät ein schwaches Passwort oder nutzt eine Schwachstelle in einem Build-Server aus.
- 2Schadcode einfügen. Er veröffentlicht eine neue Version mit verstecktem Code, oft verschleiert und so gestaltet, dass er nur unter bestimmten Bedingungen aktiv wird, etwa wenn eine Krypto-Wallet vorhanden ist.
- 3Über Updates verbreiten. Apps, die automatisch die neueste Version der Bibliothek beziehen, übernehmen den Schadcode in ihren nächsten Build – bei Websites, sobald das Skript geladen wird.
- 4Stehlen. Der Code kann in die Zwischenablage kopierte Adressen ersetzen, eine gefälschte Transaktionsabfrage anzeigen, eine Seed-Phrase anfordern oder einen Drainer in das Frontend einer dezentralen App einschleusen.
- 5Spuren verwischen. Angreifer entfernen den Code nach dem Einsatz oft schnell wieder, was die Untersuchung erschwert.
Es gibt dokumentierte reale Vorfälle nach diesem Muster. 2018 wurde einem beliebten JavaScript-Paket eine schädliche Abhängigkeit hinzugefügt, die darauf ausgelegt war, Nutzer einer bestimmten Bitcoin-Wallet-App zu bestehlen. Im Dezember 2023 führte eine kompromittierte Version der Connect-Kit-Bibliothek von Ledger dazu, dass mehrere dezentrale Apps ihren Nutzern kurzzeitig einen Wallet Drainer anzeigten. Beide Fälle zeigen, dass die Schwachstelle der gemeinsam genutzte Code war, nicht die Nutzer. Mehr dazu unter Risiken von Vanity-Adressen und zum Verwechseln ähnlichen Adressen.
Typische Einfallstore
| Einfallstor | Wie es missbraucht wird | Wer betroffen ist |
|---|---|---|
| Open-Source-Pakete (npm, PyPI und Ähnliche) | Schädliche Version veröffentlicht oder Paket mit Tippfehler-Namen hochgeladen | Apps und Entwickler, die das Paket nutzen |
| Von Dritten geladene Frontend-Skripte | Skript wird geändert, um einen Drainer einzuschleusen | Jeder Besucher der Website |
| Browser-Erweiterungen | Erweiterung wird verkauft oder gekapert und dann mit Schadcode aktualisiert | Nutzer, die die Erweiterung installiert haben |
| App-Updates | Update-Server oder Signaturschlüssel kompromittiert | Nutzer, die das Update installieren |
| Entwickler-Tools und von KI vorgeschlagene Pakete | Gefälschte Paketnamen, die plausibel wirken | Entwickler, die ohne Prüfung installieren |
Typosquatting, also das Hochladen eines Pakets mit einem Namen, der einem beliebten Paket sehr ähnlich ist, kommt besonders häufig vor. Ein Entwickler, der sich beim Paketnamen vertippt, kann Malware installieren, ohne es zu merken.
Ein hypothetisches Beispiel
Dies ist ein veranschaulichendes, zusammengesetztes Beispiel, kein realer Fall. Stell dir eine kleine dezentrale Börse vor, die eine beliebte Bibliothek zur Wallet-Verbindung aus einer öffentlichen Paket-Registry lädt. Eines Morgens wird der Maintainer der Bibliothek gephisht, und der Angreifer veröffentlicht eine neue Version. Die Website der Börse lädt automatisch die neueste Version.
Einige Stunden lang sieht jeder Nutzer, der eine Wallet verbindet, etwas, das wie eine normale Swap-Abfrage aussieht. In Wirklichkeit ist es eine Anfrage, seine Token für den Vertrag des Angreifers freizugeben. Nutzer, die den Genehmigungsbildschirm ihrer Wallet sorgfältig lesen, bemerken einen unbekannten Vertrag und brechen ab. Nutzer, die sich durchklicken, verlieren ihre Token. Das Team der Börse entdeckt das Problem, als Nutzer Verluste melden, und veröffentlicht eine Warnung – doch da ist der Code bereits wieder entfernt.
Warnsignale für Nutzer
- Eine vertraute App verlangt plötzlich eine Seed-Phrase oder einen Schritt zur „Wallet-Validierung“, den sie nie zuvor verlangt hat.
- Eine Routineaktion löst eine ungewöhnliche Wallet-Abfrage aus, etwa eine unbegrenzte Genehmigung oder eine Signatur für einen unbekannten Vertrag.
- Die Adresse auf dem Display deiner Hardware-Wallet stimmt nicht mit der beabsichtigten überein.
- Eine Browser-Erweiterung wird aktualisiert und fordert neue Berechtigungen an, insbesondere zum Lesen und Ändern von Daten auf allen Websites.
- Ein Projekt oder Sicherheitsforscher veröffentlichen dringende Warnungen, eine Website oder App nicht zu nutzen.
Viele davon überschneiden sich mit Clipboard-Malware und gefälschten Wallet-Apps, die ähnliche Techniken nutzen. Siehe auch: Gefälschte Browser-Updates und Captcha-Malware gegen Krypto-Nutzer.
So schützt du dich
Als Nutzer
- 1Nutze eine Hardware-Wallet und lies Adresse, Betrag und Vertrag auf ihrem Display, bevor du bestätigst.
- 2Halte Erweiterungen auf ein Minimum. Entferne die, die du nicht nutzt, und sei vorsichtig, wenn eine Erweiterung den Besitzer wechselt oder neue Berechtigungen anfordert.
- 3Trenne deine Mittel. Bewahre langfristige Bestände in einer Wallet auf, die sich selten mit Websites verbindet, und nutze für alltägliches DeFi eine andere Wallet.
- 4Pausiere nach Sicherheitswarnungen. Nutze eine App nicht, bis sie bestätigt, dass das Problem behoben ist.
- 5Widerrufe unnötige Genehmigungen regelmäßig.
Als Entwickler oder Projekt
- Schreibe Versionen von Abhängigkeiten fest und nutze Lockfiles; prüfe Änderungen vor einem Upgrade.
- Prüfe Paketnamen sorgfältig und bevorzuge gut gepflegte Bibliotheken.
- Verlange Multi-Faktor-Authentifizierung für Konten bei Paket-Registries und Code-Hosting-Diensten.
- Nutze signierte Releases und, wo möglich, reproduzierbare Builds, damit Nutzer Binärdateien verifizieren können.
- Setze eine Content Security Policy und Subresource Integrity für Skripte von Drittanbietern ein.
Was tun, wenn du betroffen warst
- 1Hör auf, die betroffene App oder Erweiterung zu nutzen, und trenne alle Wallets.
- 2Prüfe deinen Transaktionsverlauf auf Genehmigungen oder Überweisungen im betroffenen Zeitraum.
- 3Widerrufe verdächtige Genehmigungen und verschiebe verbleibende Mittel in eine neue Wallet mit einer neuen Seed-Phrase, falls deine Seed-Phrase offengelegt worden sein könnte.
- 4Sammle Transaktions-Hashes und Adressen und melde den Vorfall dann über die offiziellen Kanäle des Projekts und über unser Formular zur Betrugsmeldung.
Folge der vollständigen Checkliste unter was du sofort tun solltest, wenn deine Wallet kompromittiert ist.
Fazit
Supply-Chain-Angriffe machen vertrauenswürdige Software zu einem Lieferkanal für Diebstahl, daher kannst du dich nicht allein darauf verlassen, verdächtige Links zu meiden. Betrachte das Display deiner Hardware-Wallet und die Wallet-Abfragen als letzte Kontrolle, halte deinen Software-Fußabdruck klein und reagiere schnell auf offizielle Sicherheitswarnungen. Die meiste Verantwortung tragen die Entwickler: Alles, was ihr ausliefert, festschreiben, prüfen und signieren.
Häufig gestellte Fragen
Was ist ein Supply-Chain-Angriff im Kryptobereich?
Dabei kompromittieren Kriminelle eine Software, von der andere Produkte abhängen, etwa eine Code-Bibliothek, eine Browser-Erweiterung oder ein App-Update, statt Nutzer direkt anzugreifen. Wenn die vertrauenswürdige Software aktualisiert wird, erreicht der Schadcode jede App und jeden Nutzer, der darauf angewiesen ist – oft, um Krypto zu stehlen oder Adressen auszutauschen.
Kann ein Supply-Chain-Angriff eine Hardware-Wallet betreffen?
Das Display einer Hardware-Wallet soll dich schützen, selbst wenn dein Computer oder eine Website kompromittiert ist, denn du bestätigst die echte Adresse und den Betrag auf dem Gerät. Angriffe können dich trotzdem dazu bringen, eine schädliche Transaktion zu genehmigen, wenn du das Display nicht liest. Prüfe die Details deshalb immer auf dem Gerät selbst.
Woher weiß ich, ob eine Website, die ich genutzt habe, betroffen war?
Meist erfährst du es aus den offiziellen Mitteilungen des betroffenen Projekts oder von Sicherheitsforschern. Meldet ein Projekt, das du genutzt hast, eine kompromittierte Bibliothek oder ein kompromittiertes Frontend, prüfe, ob du im betroffenen Zeitraum etwas signiert hast, widerrufe Genehmigungen und verschiebe deine Mittel bei Bedarf in eine neue Wallet.
Sind Open-Source-Wallets vor Supply-Chain-Angriffen sicher?
Open Source hilft, weil mehr Menschen den Code prüfen können, macht Software aber nicht immun. Schadcode kann über Abhängigkeiten, kompromittierte Maintainer-Konten oder Build-Systeme eindringen. Reproduzierbare Builds, signierte Releases und ein sorgfältiges Abhängigkeitsmanagement verringern das Risiko.
