Source : Secure Annex — billet de blog technique décrivant la découverte d’une extension Visual Studio Code publiquement listée sur le Visual Studio Marketplace, implémentant des mécanismes de type ransomware et un canal de C2 via GitHub.

• Découverte et nature de la menace. L’extension « suspicious VSX » (éditeur « suspicious publisher », ID suspublisher18.susvsex) intègre des comportements de ransomware et d’extorsion. Le code montre des signes de génération via IA (« vibe coded ») et comprend notamment des outils de déchiffrement et le serveur C2 accidentellement inclus dans le paquet publié.

• Fonctionnement technique. Le manifest (activationEvents: ["*"]) permet l’exécution dès l’installation. Dans extension.js, des variables sensibles sont en dur (SERVER_URL IP, clés de chiffrement, destinations C2, intervalles de polling). À l’activation, la fonction zipUploadAndEcnrypt lance le chiffrement des fichiers d’un répertoire de test (modifiable via mise à jour de l’extension ou commandes C2). Un fichier marqueur pwn_note.txt empêche un second passage, et le README fournit même les instructions pour relancer le chiffrement. En parallèle, une archive .zip est exfiltrée vers SERVER_URL.

• Déchiffrement inclus. L’extension embarque la clé de déchiffrement ainsi que deux déchiffreurs « vibe coded » (Python et Node), facilitant la récupération des données chiffrées.

• C2 via GitHub. Après chiffrement, l’extension met en place un canal de commande et contrôle GitHub en consultant un dépôt privé (lecture de commandes depuis index.html, journalisation détaillée). Les résultats de commandes sont écrits dans requirements.txt, via un GitHub PAT inclus. En testant ce PAT, il est possible d’observer les commandes et des sorties contenant des informations hôte; le profil GitHub associé mentionne une localisation à Baku, cohérente avec le fuseau horaire vu dans les infos système.

• Processus de revue et réponse. Secure Annex souligne que l’extension a contourné la revue du Marketplace, malgré une description et un README explicites. Le billet évoque des échanges initiaux peu encourageants via le canal d’abus du Marketplace, puis la possibilité de passer par le MSRC. Secure Annex annonce la mise à disposition du Secure Annex Extension Manager pour bloquer des extensions malveillantes connues et inventorier les extensions installées. L’article fournit des IOCs.

IOCs 🧩

TTPs observés 🔍

  • Abus de la chaîne d’approvisionnement d’extensions (Visual Studio Marketplace)
  • Exécution à l’installation/à tout événement (activationEvents: “*”)
  • Chiffrement de fichiers et création de fichier marqueur (pwn_note.txt)
  • Exfiltration d’une archive .zip vers un SERVER_URL
  • C2 via GitHub (lecture de commandes depuis un dépôt privé, écriture des résultats via PAT)
  • Clés et tokens hardcodés (clé de déchiffrement, GitHub PAT)
  • Outils de déchiffrement inclus (Python, Node)

Type d’article : analyse de menace visant à documenter un cas d’extension VS Code malveillante passée sur le Marketplace, avec publication d’IOCs et mise en contexte des lacunes de revue.

🧠 TTPs et IOCs détectés

TTP

[‘Abus de la chaîne d’approvisionnement d’extensions (Visual Studio Marketplace)’, ‘Exécution à l’installation/à tout événement (activationEvents: “*”)’, ‘Chiffrement de fichiers et création de fichier marqueur (pwn_note.txt)’, ‘Exfiltration d’une archive .zip vers un SERVER_URL’, ‘C2 via GitHub (lecture de commandes depuis un dépôt privé, écriture des résultats via PAT)’, ‘Clés et tokens hardcodés (clé de déchiffrement, GitHub PAT)’, ‘Outils de déchiffrement inclus (Python, Node)’]

IOC

{’extension’: ‘suspublisher18.susvsex’, ‘ip’: ‘161.35.78.215’, ‘dépôt_github’: ‘https://github.com/aykhanmv/susvsex'}


🔗 Source originale : https://secureannex.com/blog/ransomvibe/