La menace qui exploite Visual Studio Code Tâches pour exécuter le code à distance

Publié 6 min de lectura 159 lecture

Les chercheurs en sécurité observent une variation inquiétante dans les techniques des groupes nord-coréens depuis des semaines : au lieu d'utiliser uniquement des courriels d'hameçonnage classiques ou des exploits sur le Web, ils exploitent le flux de travail quotidien des développeurs. L'astuce est de convaincre les ingénieurs - en particulier ceux qui travaillent en cryptomoneda, blockchain et finance - de cloner un dépôt et d'ouvrir le projet dans Visual Studio Code, avec le crochet d'un exercice technique supposé ou une offre d'emploi. Si la victime fait confiance au dépôt et ouvre le projet, une chaîne est activée qui peut finir par livrer une porte arrière avec des capacités d'exécution à distance.

Le mécanisme central de l'attaque est les fichiers de configuration des tâches VS Code (tasks.json), qui peuvent être configurés pour fonctionner automatiquement lorsque le dossier de projet est ouvert. Cette option - légitimement utilisée pour automatiser les tâches de développement - est utilisée pour orchestrer les téléchargements et l'exécution de code JavaScript obusqué hébergé dans des services externes comme domaines dans Vercel. Des enquêtes publiques et des rapports techniques ont documenté comment cette même tactique a servi à déployer des familles de malwares comme BeaverTail (couche Node.js) et InvisibleFerret (couche Python), ainsi que des mineurs et des portes arrière connus pour l'écosystème menacé.

La menace qui exploite Visual Studio Code Tâches pour exécuter le code à distance
Image générée avec IA.

Les premières analyses, publiées par des groupes tels que OpenSourceMalware et prolongée par des signatures telles que Jambe, afficher une évolution constante: lorsque le projet est ouvert dans VS Code, l'application demande à l'utilisateur d'indiquer s'il faut faire confiance à l'auteur du dépôt; si cette confiance est accordée, VS Code traite automatiquement les tâches. json et peut exécuter des commandes arbitraires sur la machine. Dans macOS, par exemple, on a vu comment la chaîne d'exécution est lancée en arrière-plan - à l'aide d'outils standard système - pour récupérer et exécuter une charge utile JavaScript avec Node.js, permettant de poursuivre le processus même si l'éditeur est fermé.

Le JavaScript distant agit comme l'implant principal : il crée une boucle persistante qui recueille des informations informatiques de base, fait des empreintes digitales et maintient une communication continue avec un serveur de commande et de contrôle, permettant l'exécution de code distant. Dans certains incidents, il a été constaté que quelques minutes après le téléchargement des instructions supplémentaires d'infection initiale ont été téléchargées qui balayent le serveur toutes les quelques secondes, exécuter plus de code et, dans l'ordre de l'opérateur, nettoyer des traces pour rendre l'enquête difficile. Les chercheurs ont même signalé des signes de l'utilisation d'outils d'intelligence artificielle pour générer des parties du code, en raison de la présence de commentaires en ligne et un certain style d'écriture dans JavaScript.

En plus de la technique principale, les acteurs ont préparé des itinéraires de réservation pour maximiser leur taux de réussite. Si la tâche de VS Code ne parvient pas à récupérer la charge utile de Vercel, le dépôt peut cacher des goutteurs sophistiqués dans des fichiers qui semblent être inoffensifs - par exemple, les "dictionnaires" pour la correction orthographique - qui contiennent également JavaScript osfuscado. Dans d'autres cas, l'installation d'un appareil npm malveillant est offerte (le paquet a été identifié) grayavatar dans l'analyse publique) ou le téléchargement d'un pilote Node.js qui lance à son tour des modules pour enregistrer des impulsions, capturer des écrans, rechercher des fichiers sensibles dans le répertoire utilisateur, remplacer des adresses de portefeuille copiées dans le presse-papiers et extraire des identifiants des navigateurs. Parallèlement, les attaquants préparent un environnement Python qui facilite l'extraction de cryptomonéda avec XMRig, des outils d'accès à distance et l'exfiltration de données.

D'autres recherches ont documenté des variantes avec différents noms et composants: Réseau Asgard ont analysé des dépôts qui distribuent une porte arrière appelée Tsunami (aussi connue sous le nom de TsunamiKit) avec un mineur XMRig, tandis que d'autres rapports techniques ont décrit comment les attaquants approchent les victimes via des réseaux professionnels tels que LinkedIn pour envoyer des liens vers des tests techniques qui pointent vers des dépôts malveillants, exploitant la confiance professionnelle.

Derrière ces opérations se trouvent des acteurs liés au régime nord-coréen, qui se sont traditionnellement concentrés sur des spécialistes du logiciel ayant accès à l'infrastructure financière et aux clés numériques. L'avantage pour le groupe attaquant est clair: l'accès au code source, aux secrets, aux comptes et, dans de nombreux cas, le déplacement ou le vol d'actifs numériques. La variation et la multiplicité des vecteurs observés suggèrent une stratégie délibérée d'expérimentation de différentes techniques pour augmenter la probabilité d'engagement et, par conséquent, la capacité de financer leurs opérations.

La menace qui exploite Visual Studio Code Tâches pour exécuter le code à distance
Image générée avec IA.

Ces campagnes sont également une leçon sur la façon dont les outils légitimes pour les développeurs peuvent devenir vecteurs d'attaque lorsque la confiance aveugle dans le contenu externe. Studio visuel Code offre des fonctions conçues pour gagner du temps, mais cette automatisation peut devenir dangereuse si les contrôles et les bonnes pratiques ne sont pas appliqués. Si vous voulez examiner comment fonctionne le code VS, la documentation officielle est un bon point de départ: Documentation des tâches dans Visual Studio Code.

Pour ceux qui travaillent au développement ou à la gestion d'équipements techniques, la recommandation est claire : ne donnez pas automatiquement confiance aux dépôts inconnus, n'examinez aucune tâche. json avant d'autoriser son exécution et de traiter les dépendances externes avec prudence. Les organisations devraient compléter ces mesures par des contrôles en réseau qui bloquent les domaines suspects, des politiques de mise en œuvre restrictives pour les environnements de développement et des outils de détection qui permettent de repérer les signaux, la persistance et le comportement minier. Les rapports publics et l'analyse de groupes tels que Jamf, Red Asgard et Security Alliance fournissent des détails techniques utiles aux défenseurs qui veulent comprendre et atténuer ces menaces; vous pouvez consulter leurs publications pour élargir la lecture : Jambe, Réseau Asgard et Alliance pour la sécurité.

Bref, la menace n'est pas seulement technique mais culturelle : s'appuyer sur des dépôts et des exercices techniques sans vérifier leur origine est une vulnérabilité humaine que les attaquants exploitent avec créativité. La bonne nouvelle est que, contrairement aux failles de vulnérabilité de zéro jour, cet abus est mieux géré par les politiques et les pratiques d'hygiène numérique: inspecter, interroger et limiter l'exécution automatique dans l'environnement de développement peut empêcher un entretien ou un défi académique de devenir la porte d'entrée d'une porte arrière persistante.

Couverture

Autres

Plus de nouvelles sur le même sujet.