Angreifer haben das offizielle GitHub-Repository des Projekts Injective Labs kompromittiert und im npm-Registry eine bösartige Version des SDK-Pakets @injectivelabs/[email protected] veröffentlicht, die zum Diebstahl privater Schlüssel und mnemonischer Phrasen von Kryptowallets bestimmt war. Nach Angaben der Forschenden von Socket, OX Security und StepSecurity waren insgesamt 18 Pakete im @injectivelabs-Namespace von der Attacke betroffen. Alle Entwickler, die diese Bibliotheken verwenden, müssen umgehend auf Version 1.20.23 aktualisieren und sämtliche Schlüssel, die über die kompromittierte Version verarbeitet wurden, als offengelegt betrachten.
Mechanismus des Angriffs und technische Details
Die kompromittierte Version 1.20.21 wurde am 8. Juli 2026 veröffentlicht. Wie die Forschenden von Socket berichten, wurde der schädliche Code über Commits in das offizielle Repository eingebracht, die von einem Entwickleraccount mit etablierter Contribution-Historie im Projekt stammten. Laut StepSecurity erfolgte die Veröffentlichung des bösartigen Releases über die eigene vertrauenswürdige Repository-Pipeline auf Basis von OIDC (trusted-publisher), was es ermöglichte, Standard-Kontrollmechanismen zu umgehen.
Die Backdoor wurde durch Modifikation legitimer Funktionen zur Generierung privater Schlüssel umgesetzt. In den Code wurde eine Funktion trackKeyDerivation() eingebaut, die als Sammlung anonymisierter Telemetriedaten zur Optimierung des SDK getarnt war. Laut der Beschreibung im Code sollte die Funktion angeblich „Methoden der Key Derivation und Timing-Muster verfolgen, um Performance-Engpässe zu identifizieren“. Tatsächlich wurden an sie ein Marker für die Methode der Schlüsselerzeugung und das eigentliche sensible Material übergeben – Daten, die ausreichen, um den privaten Schlüssel auf Seiten des Angreifers vollständig zu rekonstruieren.
Ein zentrales Merkmal der Malware war der Verzicht auf npm-lifecycle-Skripte. Der Code wurde nicht während der Installation des Pakets aktiviert, sondern nur dann ausgelöst, wenn ein Entwickler die Funktionalität der Bibliothek tatsächlich nutzte. Wie bei OX Security hervorgehoben wurde, fing die bösartige Logik mnemonische Phrasen jedes Mal ab, wenn ein legitimer Nutzer ein Wallet erstellte oder Funktionen zum Auslesen von Mnemonics aufrief.
Mechanismus der Exfiltration
Um die Anzahl ausgehender Anfragen zu verringern und die Entdeckungswahrscheinlichkeit zu senken, sammelte die Malware die abgefangenen Daten zur Key-Derivation in einer Warteschlange über ein Zwei-Sekunden-Fenster und sendete sie anschließend gebündelt in einer einzigen HTTPS-POST-Anfrage an einen externen Server. Die Exfiltrations-Domain war so gewählt, dass sie legitime Infrastruktur von Injective imitierte:
- Exfiltrations-Domain: testnet.archival.chain.grpc-web.injective[.]network
Umfang der Kompromittierung
Der Angriff beschränkte sich nicht auf das zentrale SDK-Paket. Nach Angaben der Forschenden veröffentlichte der Angreifer Version 1.20.21 für 17 zusätzliche Pakete im @injectivelabs-Namespace, die von der bösartigen SDK-Version abhingen und deren Version fest auf 1.20.21 fixierten. Dadurch entstand das Risiko einer transitiven Kompromittierung – Entwickler, die das Haupt-SDK nicht direkt installierten, konnten den schädlichen Code über Abhängigkeiten beziehen. Betroffene Pakete:
- @injectivelabs/utils
- @injectivelabs/networks
- @injectivelabs/ts-types
- @injectivelabs/exceptions
- @injectivelabs/wallet-base
- @injectivelabs/wallet-core
- @injectivelabs/wallet-cosmos
- @injectivelabs/wallet-private-key
- @injectivelabs/wallet-evm
- @injectivelabs/wallet-trezor
- @injectivelabs/wallet-cosmostation
- @injectivelabs/wallet-ledger
- @injectivelabs/wallet-wallet-connect
- @injectivelabs/wallet-magic
- @injectivelabs/wallet-strategy
- @injectivelabs/wallet-turnkey
- @injectivelabs/wallet-cosmos-strategy
Die Version 1.20.21 des Hauptpakets wurde im npm-Registry als deprecated markiert. Zum Zeitpunkt der Veröffentlichung der Analysen waren die Release-Artefakte jedoch weiterhin auf GitHub zum Download verfügbar.
Bewertung der Auswirkungen
Dieser Vorfall stellt aus mehreren Gründen eine hohe Gefährdungslage dar. Erstens richtete sich der Angriff gegen die Supply Chain eines Kryptowährungsprojekts, bei dem die Kompromittierung privater Schlüssel zu direkten und irreversiblen finanziellen Verlusten führt. Zweitens erschwerten die Nutzung einer vertrauenswürdigen Veröffentlichungspipeline und eines Accounts mit legitimer Contribution-Historie die Entdeckung erheblich. Drittens vergrößerte die Einbeziehung von 18 Paketen mit transitiven Abhängigkeiten die Angriffsfläche um ein Vielfaches.
Am stärksten gefährdet sind Entwickler dezentraler Anwendungen auf Basis des Injective Protocol sowie alle Projekte, die die genannten Pakete in ihren Abhängigkeiten verwenden. Es ist anzumerken, dass zum Zeitpunkt der Erstellung dieses Beitrags weder ein formaler Incident-Report von Injective Labs noch ein offizielles npm-Sicherheitsbulletin veröffentlicht waren – die Informationen basieren auf der Analyse unabhängiger Forschungsteams.
Empfehlungen zur Reaktion
- Aktualisieren Sie umgehend alle @injectivelabs-Pakete auf Version 1.20.23 oder höher.
- Prüfen Sie transitive Abhängigkeiten: Führen Sie ein Audit des Abhängigkeitsbaums Ihres Projekts auf das Vorhandensein eines der 18 kompromittierten Pakete in Version 1.20.21 durch.
- Key-Rotation: Jeder private Schlüssel oder jede mnemonische Phrase, die über die kompromittierte Version generiert oder verarbeitet wurde, muss als offengelegt gelten. Überführen Sie Gelder auf neue Wallets mit neu generierten Schlüsseln.
- Überprüfen Sie die Netzwerkaktivität: Analysieren Sie Logs auf ausgehende HTTPS-Verbindungen zur Domain testnet.archival.chain.grpc-web.injective[.]network.
- Fixieren Sie Versionsstände von Abhängigkeiten mithilfe von Lockfiles und erwägen Sie den Einsatz von Supply-Chain-Monitoring-Tools wie Socket oder StepSecurity, um anomale Änderungen in Paketen zu erkennen.
Dieser Vorfall zeigt die wachsende Effektivität von Supply-Chain-Angriffen durch Kompromittierung vertrauenswürdiger Veröffentlichungspipelines. Entwickler, die mit Kryptowährungsinfrastruktur arbeiten, sollten die Prüfung ihrer Abhängigkeiten auf Version 1.20.21 eines der 18 betroffenen @injectivelabs-Pakete priorisieren, eine Rotation aller potenziell kompromittierten Schlüssel durchführen und Gelder transferieren, bevor Angreifer das gestohlene Material ausnutzen.