Les attaques de la chaîne d'approvisionnement logicielle sont devenues plus courantes, les attaquants ciblant de plus en plus les outils de développement de confiance plutôt que les utilisateurs finaux.
Dans le dernier incident, des attaquants ont compromis un package logiciel de confiance d'Injective Labs pour voler les identifiants de portefeuille des développeurs.


Comment l'attaque du SDK Injective s'est-elle déroulée ?
L'attaquant a téléchargé une version malveillante du SDK TypeScript, @injectivelabs/sdk-ts v1.20.21, sur npm. Le package était conçu pour créer des applications Injective, des portefeuilles et signer des transactions.
L'attaquant a ensuite obtenu l'accès au compte GitHub légitime d'un contributeur d'Injective Labs et a distribué des commits malveillants. Une branche de test était nommée "test-backdoor-check".
Sous couvert de télémétrie, l'attaquant a publié le package compromis sur npm.
Au lieu de collecter des données d'utilisation, le malware extrayait les clés privées et les phrases de récupération (mnemonic seed phrases). Cela donnait aux attaquants tout ce qui était nécessaire pour recréer et s'emparer des portefeuilles crypto des victimes.
De plus, la compromission s'est propagée via des dépendances transitives dans 17 autres packages Injective qui dépendaient de ce SDK.
La faille à l'origine de la violation
Le code malveillant restait inactif pendant l'installation, l'aidant à éviter la détection.
Au lieu de cela, il ne s'exécutait que lorsque les développeurs utilisaient les fonctions de génération de portefeuille fromMnemonic ou fromHex.
Environ 50 000 téléchargements du package compromis avaient lieu chaque semaine. Au moins 87 autres packages en dépendaient également directement.
L'attaquant a également publié 17 autres packages Injective liés ("pinned") à la version compromise du SDK, élargissant ainsi la portée de l'attaque.


Quoi d'autre ?
Peu après, une version propre, la v1.20.23, a été mise à disposition. Cependant, la version compromise était toujours disponible sur npm en tant que package déprécié, et ses artefacts de publication étaient toujours disponibles sur GitHub.
Par conséquent, pour éviter d'autres incidents de ce type, les utilisateurs doivent renouveler toutes les informations d'identification impactées, créer de nouveaux portefeuilles et déplacer leurs fonds.
Cela coïncidait avec la perte de 20 millions de dollars par BonkDAO à cause d'une "proposition de gouvernance malveillante", ce qui en fait la victime la plus récente d'un piratage crypto.
Résumé final
- Le malfaiteur a obtenu l'accès au compte GitHub légitime d'un contributeur d'Injective Labs et l'a utilisé pour distribuer des commits malveillants.
- Les développeurs ont été rendus vulnérables par l'attaque en raison de dépendances transitives dans 17 autres packages injective.





