Découverte d’un Code Malveillant dans une Extension Ethereum
Des chercheurs de la société de cybersécurité ReversingLabs ont découvert qu’un hacker avait inséré une demande de tirage malveillante dans une extension de code destinée aux développeurs Ethereum. Ce code malveillant a été intégré dans une mise à jour d’ETHcode, une suite d’outils open source utilisée pour créer et déployer des contrats intelligents et des dapps compatibles avec l’EVM.
Analyse de la Demande de Tirage
Un article de ReversingLabs révèle que deux lignes de code malveillant étaient dissimulées dans une demande de tirage GitHub comprenant 43 commits et 4 000 lignes de code mises à jour, principalement pour l’ajout d’un nouveau cadre de test et de nouvelles fonctionnalités. Cette mise à jour a été ajoutée à GitHub le 17 juin par un utilisateur nommé Airez299, qui ne présentait aucun antécédent.
La demande de tirage a été examinée par le système d’intelligence artificielle de GitHub ainsi que par des membres de 7finney, le groupe responsable d’ETHcode. Seules des modifications mineures ont été suggérées, et ni 7finney ni le scanner IA n’ont détecté d’éléments suspects.
Fonctionnalité du Code Malveillant
Airez299 a réussi à dissimuler la nature de la première ligne de code malveillant en lui attribuant un nom similaire à celui d’un fichier existant, tout en obscurcissant et en mélangeant le code, rendant sa lecture plus difficile. La deuxième ligne de code sert à activer la première, qui, selon ReversingLabs, a pour but de créer une fonction automatisée (un script PowerShell) capable de télécharger et d’exécuter un script batch à partir d’un service d’hébergement de fichiers public.
ReversingLabs poursuit son enquête pour déterminer la fonction exacte de ce script, bien qu’il travaille sous l’hypothèse qu’il est destiné à voler des actifs crypto stockés sur la machine de la victime ou, alternativement, à compromettre les contrats Ethereum en cours de développement par les utilisateurs de l’extension.
Préoccupations et Réactions
S’exprimant auprès de Decrypt, l’auteur du blog, Petar Kirhmajer, a rapporté que ReversingLabs n’a pas trouvé d’indications ou de preuves que le code malveillant ait été utilisé pour voler des tokens ou des données. Cependant, Kirhmajer souligne qu’ETHcode compte 6 000 installations, et que la demande de tirage—qui aurait pu être déployée dans le cadre d’une mise à jour automatique—pourrait s’être répandue « à des milliers de systèmes de développeurs. »
Cela soulève des préoccupations, certains développeurs suggérant que ce type d’exploitation est fréquent dans le secteur de la crypto, où le développement open source est prédominant.
Conseils pour les Développeurs
Selon Zak Cole, développeur Ethereum et co-fondateur de NUMBER GROUP, de nombreux développeurs installent des packages open source sans effectuer de vérifications adéquates.
« Il est beaucoup trop facile pour quelqu’un d’insérer quelque chose de malveillant, » a-t-il déclaré à Decrypt.
Des exemples récents incluent l’exploitation du Ledger Connect Kit en décembre 2023, ainsi que la découverte de logiciels malveillants dans la bibliothèque open source web3.js de Solana. « Il y a trop de code et pas assez d’yeux dessus, » ajoute Cole.
Cole affirme que, bien que ce genre de problème ne soit pas nouveau, « la surface d’attaque s’élargit » à mesure que de plus en plus de développeurs utilisent des outils open source.
ReversingLabs recommande de vérifier l’identité et l’historique des contributeurs avant de télécharger quoi que ce soit. La société a également suggéré que les développeurs examinent des fichiers tels que package.json pour évaluer les nouvelles dépendances. Cole a également recommandé d’utiliser des outils qui analysent les comportements étranges ou les mainteneurs douteux.
« Supposez simplement que rien n’est sûr à moins que vous ne l’ayez vérifié ou mis en bac à sable, » a-t-il conclu.