
Le SDK JavaScript légitime de Solana a été temporairement compromis hier lors d’une attaque de la chaîne d’approvisionnement, la bibliothèque étant dotée d’un code malveillant pour voler des clés privées de crypto-monnaie et vider les portefeuilles.
Solana propose un SDK appelé » @solana/web3.js » utilisé par les applications décentralisées (DApps) pour se connecter et interagir avec la blockchain Solana.
La société de sécurité de la chaîne d’approvisionnement Socket rapporte que le Web3 de Solana.la bibliothèque js a été détournée pour pousser deux versions malveillantes à voler des clés de cryptographie privées et secrètes pour sécuriser les portefeuilles et signer les transactions.
« Une attaque de la chaîne d’approvisionnement a été détectée dans les versions 1.95.6 et 1.95.7 du populaire @solana/web3.bibliothèque js, qui reçoit plus de ~ 350 000 téléchargements hebdomadaires sur npm », explique Socket.
« Ces versions compromises contiennent du code malveillant injecté conçu pour voler des clés privées à des développeurs et des utilisateurs sans méfiance, permettant potentiellement aux attaquants de vider les portefeuilles de crypto-monnaie. »
Solana a confirmé la violation, déclarant que l’un de leurs comptes d’accès à la publication avait été compromis, permettant aux attaquants de publier deux versions malveillantes de la bibliothèque.
« Plus tôt dans la journée, un compte d’accès à la publication a été compromis pour @solana/web3.js, une bibliothèque JavaScript couramment utilisée par les applications Solana. Cela a permis à un attaquant de publier des packages non autorisés et malveillants qui ont été modifiés, leur permettant de voler du matériel de clé privée et de drainer des fonds des dapps, comme des robots, qui gèrent directement les clés privées. Ce problème ne devrait pas affecter les portefeuilles non dépositaires, car ils n’exposent généralement pas les clés privées lors des transactions. Ce n’est pas un problème avec le protocole Solana lui-même, mais avec une bibliothèque cliente JavaScript spécifique et ne semble affecter que les projets qui gèrent directement les clés privées et qui ont été mis à jour dans la fenêtre de 15h20 UTC et 20h25 UTC le mardi 2 décembre 2024.
Ces deux versions non autorisées (1.95.6 et 1.95.7) ont été interceptées en quelques heures et n’ont depuis pas été publiées. »
❖ Soleil
Solana avertit les développeurs qui soupçonnent qu’ils ont été compromis de passer immédiatement à la dernière version v1.95.8 et de faire pivoter toutes les clés, y compris les multisigs, les autorités du programme et les paires de clés du serveur.
Le système Solana Web3.voleur de clés js
Selon Christophe Tafani-Dereeper, chercheur chez DataDog, les auteurs de la menace ont ajouté une fonction addToQueue malveillante qui a volé des clés secrètes et privées et les a envoyées au serveur de l’attaquant.
« La porte dérobée insérée dans la v1.95.7 ajoute une fonction « addToQueue » qui exfiltrerait la clé privée via des en-têtes CloudFlare apparemment légitimes », explique le chercheur.
« Les appels à cette fonction sont ensuite insérés à divers endroits qui accèdent (légitimement) à la clé privée. »

Breachtrace a examiné la bibliothèque compromise et des appels à la fonction addToQueue ont été ajoutés à cinq emplacements clés de la bibliothèque: les fonctions fromSecretKey(), fromSeed(), createInstructionWithPublicKey () et createInstructionWithPrivateKey() et le constructeur de compte.

Les fonctions sont utilisées dans toute la bibliothèque et ont les fonctionnalités suivantes:
- à partir de la clé secrète (): Créez une paire de clés à partir d’un tableau d’octets de clé secrète brute.
- from Seed (): Génère une paire de clés à partir d’une graine de 32 octets.
- créer une instruction avec une clé privée (): Créez une instruction ed25519 avec une clé privée.
- créer une instruction avec une clé privée(): Créez une instruction secp256k1 avec une clé privée.
Le code malveillant volera soit la clé secrète transmise ou générée (les deux premières fonctions et le constructeur du compte), soit la clé privée transmise (les deux dernières fonctions) et l’enverra aux points de terminaison de l’attaquant à https://sol-rpc [.]xyz / api / rpc / file d’attente.
Ce domaine a été enregistré le 22 novembre à 19:58:27 UTC et n’a pas été utilisé dans d’autres attaques.
Une fois que les auteurs de menaces ont accès à ces clés, ils peuvent les charger dans leurs propres portefeuilles et vider à distance toutes les crypto-monnaies et NFT stockées.
Socket indique que l’attaque a été attribuée à l’adresse FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx Solana, qui contient actuellement 674,86 Solana et des quantités variables des jetons irlandais Pepe, Star Atlas, Jupiter, USD, Chapeau de Père Noël, Pepe en feu, Bonk, catwifhat et Genopets Ki.
Solscan montre que la valeur estimée de la crypto-monnaie volée est de 184 000 $au moment d’écrire ces lignes.
Pour toute personne dont les portefeuilles ont été compromis dans cette attaque de la chaîne d’approvisionnement, vous devez immédiatement transférer les fonds restants vers un nouveau portefeuille et cesser d’utiliser l’ancien car les clés privées sont maintenant compromises.