Les développeurs devront faire face à un code malveillant dormant devenu actif sur les extensions Visual Studio Code (VS Code), qui aurait compromis des milliers d'utilisateurs en volant leursdentpour GitHub, Open VSX et leurs portefeuilles de cryptomonnaies.
L'opération GlassWorm, initialement dent fin novembre par la société de cybersécurité Koi Security, a été lancée par un groupe piratant des extensions VS Code distribuées via l'Open VSX Registry et le Microsoft Visual Studio Marketplace. Les pirates auraient intégré du code malveillant dans des outils de développement d'apparence légitime.
Les chercheurs en sécurité de Koi affirment que la campagne vise principalement à collecter desdentde développeurs tels que des jetons NPM, des identifiants GitHub etdentGit, afin de permettre la compromission de la chaîne d'approvisionnement et le vol financier.
Selon l'analyse de Koi, ce même logiciel malveillant a également ciblé 49 extensions de portefeuilles de cryptomonnaies différentes, vidant les fonds des utilisateurs et exfiltrant des données sensibles vers des serveurs distants.
GlassWorm transforme les machines des développeurs en outils pour les criminels
Comme l'indique un article de blog de l'équipe de Koi, partagé sur plusieurs subreddits, les extensions malveillantes déploient des serveurs proxy SOCKS et exploitent les systèmes de développement compromis pour constituer un réseau de proxys criminels. Parallèlement, elles installent des serveurs VNC cachés, offrant ainsi aux attaquants un accès distant complet aux machines des victimes, sans laisser de traces visibles.
dentvolés GitHub et NPM aident les opérateurs à infecter d'autres dépôts et paquets, et permettent à GlassWorm de se propager plus profondément dans la chaîne d'approvisionnement logicielle.
Open VSX a confirmé avoirdentet supprimé toutes les extensions malveillantes connues associées à la campagne le 21 octobre, révoquant et faisant également tourner les jetons compromis.
Cependant, le nouveau rapport de Koi Security indique que GlassWorm a refait surface, utilisant une forme plus avancée d'obfuscation basée sur Unicode pour contourner les systèmes de détection.
Selon l'entreprise, sept extensions ont de nouveau été compromises le 17 octobre, totalisant 35 800 téléchargements. Les données télémétriques de Koi indiquent également que dix extensions infectées sont actuellement actives et accessibles au public, et diffusent des logiciels malveillants à l'heure actuelle.
« L’infrastructure de commande et de contrôle de l’attaquant reste pleinement opérationnelle. Les serveurs de charges utiles répondent toujours et lesdentvolés sont utilisés pour compromettre de nouveaux paquets. »
Le logiciel malveillant CodeJoy est invincible, dément Koi Security
Le moteur d'analyse des risques de Koi a signalé une extension Open VSX appelée CodeJoy après que la version 1.8.3 a présenté des « changements de comportement inhabituels ». CodeJoy semble être un outil de productivité légitime pour les développeurs, avec des centaines de téléchargements, un code source propre et des mises à jour régulières.
« En ouvrant le code source, nous avons constaté un écart important entre les lignes deux et sept », ont déclaré les chercheurs de Koi. « Il ne s’agit pas d’espace vide, mais de code malveillant encodé en caractères Unicode non imprimables, qui ne s’affichent pas dans votre éditeur de code. »

Les attaquants ont utilisé des sélecteurs de variantes Unicode inviolables, rendant le code malveillant invisible à l'œil nu. Les outils d'analyse statique et les revues de code manuelles n'ont rien détecté d'anormal, pourtant l'interpréteur JavaScript a exécuté les commandes cachées sans le moindre problème.
Une fois décodés, les caractères invisibles ont révélé un mécanisme de charge utile de deuxième niveau, que les chercheurs de Koi ont découvert utiliser la blockchain Solana comme infrastructure de commande et de contrôle (C2).
« L’attaquant utilise une blockchain publique, immuable, décentralisée et résistante à la censure, comme canal C2 », a expliqué Koi.
Le logiciel malveillant analyse le réseau Solana à la recherche de transactions provenant d'une adresse de portefeuille codée en dur. Lorsqu'il en détecte une, il lit le champ « mémo », où du texte arbitraire peut être ajouté aux transactions. Ce champ contient un objet JSON renfermant un lien encodé en base64 permettant de télécharger la charge utile suivante.
Une transaction Solana du 15 octobre affichée dans l'analyse de Koi contenait des données qui ont été décodées en une URL hébergeant l'emplacement actif pour télécharger la prochaine étape du logiciel malveillant.
Un attaquant peut faire tourner les charges utiles en publiant une nouvelle transaction Solana pour des fractions de centime, mettant ainsi à jour toutes les extensions infectées qui interrogent la blockchain pour obtenir de nouvelles instructions.
Selon Koi, même si les défenseurs bloquent une URL de charge utile, l'attaquant peut effectuer une autre transaction plus rapidement qu'il n'en faut pour en bloquer une.
« C’est comme jouer à taper sur une taupe avec une infinité de taupes », a fait remarquer un chercheur spécialiste des carpes koï.
Les membres de Koi Security, Idan Dardikman, Yuval Ronen et Lotan Sery, ont confirmé que l'acteur malveillant a publié de nouvelles transactions Solana contenant de nouveaux points de terminaison de commande jusqu'à cette semaine.

