Une attaque de chaîne d'approvisionnement significative a impacté l'écosystème Solana, ciblant la bibliothèque JavaScript @solana/web3.js, un outil critique dont les développeurs dépendent pour créer des applications décentralisées (dApps) sur la blockchain Solana.
Le 2 décembre, des hackers ont eu accès au compte d'un développeur maintenant la bibliothèque @solana/web3.js. C'est un outil qui a été téléchargé plus de 350 000 fois par semaine par des développeurs d'applications Solana.
Des hackers ont compromis les versions 1.95.6 et 1.95.7, intégrant un code malveillant qui a exfiltré des clés privées et drainé des fonds. La violation a conduit à 160 000 $ d'actifs volés, y compris des jetons SOL et d'autres actifs crypto, selon les données de Solscan.
L'équipe de développement axée sur Solana Anza a divulgué la violation mardi, disant qu'elle s'est produite lorsque un compte d'accès de publication pour la bibliothèque sur npm a été compromis.
Les attaquants ont introduit des mises à jour non autorisées contenant une porte dérobée qui transmettait les données de clés privées à une adresse codée en dur. Ces versions malveillantes ont été téléchargées avant d'être retirées de npm quelques heures plus tard.
L'attaque a touché les développeurs qui ont mis à jour la bibliothèque entre 15h20 UTC et 20h25 UTC le 2 décembre, en particulier ceux utilisant des systèmes backend ou des bots dépendant des clés privées.
En utilisant cet accès, les attaquants ont téléchargé des versions modifiées de la bibliothèque (1.95.6 et 1.95.7) contenant un code qui envoyait secrètement des clés privées à une adresse contrôlée par un hacker. Ces clés ont permis aux hackers de voler des fonds d'applications utilisant la bibliothèque compromise.
Ce type d'incident est appelé une attaque de chaîne d'approvisionnement, où des hackers altèrent des logiciels sur lesquels les développeurs dépendent, répandant largement le code malveillant.
Les projets ou systèmes qui ont téléchargé et intégré ces versions de la bibliothèque sont devenus sans le savoir vulnérables à l'exploitation.
Dans une déclaration publique, Phantom, l'un des portefeuilles Solana les plus utilisés, a confirmé qu'il n'avait jamais utilisé les versions compromises de la bibliothèque, assurant que ses utilisateurs n'avaient pas été affectés.
De même, Solflare et d'autres projets clés comme Drift et Backpack ont rassuré leurs communautés que de robustes mesures de sécurité avaient empêché toute compromission.
Les développeurs s'appuyant sur des opérations de clés privées au sein des versions affectées étaient les principales victimes, mais les utilisateurs finaux ont largement été épargnés.
Des voix éminentes de la communauté Solana ont clarifié que l'attaque n'avait pas compromis la blockchain Solana elle-même.
À la suite de la violation, il a été recommandé aux développeurs de mettre immédiatement à jour vers la version 1.95.8 de la bibliothèque, d'auditer leurs projets pour des dépendances sur les versions compromises, et de faire tourner et régénérer les clés privées pour atténuer de nouvelles pertes.
npm a depuis supprimé les versions affectées, et des outils comme Socket ont été recommandés aux développeurs pour détecter les vulnérabilités dans leurs dépôts.
Cette violation fait partie d'une tendance inquiétante d'attaques de chaîne d'approvisionnement, où des hackers ciblent des outils logiciels largement utilisés pour attaquer un plus grand groupe de personnes.
Hakan Unal, scientifique blockchain senior chez Cyverse, a déclaré à Decrypt que « l'attaque récente sur la chaîne d'approvisionnement de la bibliothèque Solana met en évidence un problème critique dans le développement logiciel moderne : la sécurité des dépendances tierces. »
"Ces dépendances - bibliothèques open-source ou composants intégrés dans un projet plus vaste - sont largement utilisées pour accélérer le développement," a ajouté Unal. "Cependant, si elles ne sont pas gérées avec soin, elles peuvent devenir des vecteurs pour des acteurs malveillants, et surtout dans la crypto, où le gain en capital est élevé, des normes rigides sont nécessaires."
Une attaque similaire a récemment affecté la bibliothèque JavaScript Lottie Player, largement utilisée pour les animations web. Des hackers ont intégré un code malveillant dans son package npm, provoquant des pertes crypto dépassant 723 000 $.
Dans ce cas, les utilisateurs visitant des sites Web compromis ont sans le savoir signé de fausses invites de connexion de portefeuille contrôlées par des attaquants, donnant accès à leurs fonds.
Édité par Stacy Elliott.