Selon Secure Annex (blog), l’éditeur a observé une reprise des attaques liées au malware Glassworm exploitant les marketplaces d’extensions de code pendant la période des fêtes. L’article détaille une campagne où des extensions populaires sont clonées, leurs compteurs de téléchargements manipulés, puis mises à jour après approbation avec du code malveillant.
• Nature de l’attaque: clonage d’extensions populaires (ex. outils/frameworks comme Flutter, Tailwind, Vim, YAML, Svelte, React Native, Vue), manipulation des compteurs de téléchargements pour crédibiliser les faux paquets, et mise à jour post-approbation injectant des charges malveillantes. L’attaque profite de l’interface des éditeurs de code où la fausse extension peut apparaître à côté de la légitime, rendant le choix difficile et la compromission à un clic. ⚠️
• Évolution des techniques: les opérateurs glissent le code malveillant juste après le contexte d’« activate ». Les attaques, initialement vues avec Unicode invisible, intègrent désormais des implants en Rust embarqués dans l’extension. Secure Annex note des signatures connues communes et des chaînes de caractères reliant les techniques.
• Détection et posture: Secure Annex affirme avoir détecté certaines menaces avant l’ajout de malware et publié un outil, le Secure Annex Extension Manager, pour bloquer les extensions malveillantes et inventorier les extensions installées. L’article mentionne que d’autres organisations ont également analysé les charges exécutées.
• Extensions suivies (risque jugé « bien trop élevé »):
- VS Marketplace: iconkieftwo.icon-theme-materiall; prisma-inc.prisma-studio-assistance; prettier-vsc.vsce-prettier; flutcode.flutter-extension; csvmech.csvrainbow; codevsce.codelddb-vscode; saoudrizvsce.claude-devsce; clangdcode.clangd-vsce; cweijamysq.sync-settings-vscode; bphpburnsus.iconesvscode; klustfix.kluster-code-verify; vims-vsce.vscode-vim; yamlcode.yaml-vscode-extension; solblanco.svetle-vsce; vsceue.volar-vscode; redmat.vscode-quarkus-pro; msjsdreact.react-native-vsce.
- Open VSX: bphpburn.icons-vscode; tailwind-nuxt.tailwindcss-for-react; flutcode.flutter-extension; yamlcode.yaml-vscode-extension; saoudrizvsce.claude-dev; saoudrizvsce.claude-devsce; vitalik.solidity.
• IOCs: Identifiants d’extensions listés ci-dessus (VS Marketplace et Open VSX).
• TTPs (MITRE-esque):
- 🪪 Typosquatting/impersonation d’extensions populaires.
- 📈 Manipulation des compteurs de téléchargements/installs pour renforcer la crédibilité.
- 🔁 Mise à jour post-approbation avec code malveillant, injection après « activate ».
- 🛡️ Évasion de filtres des marketplaces.
- 🧩 Implants Rust intégrés; usage antérieur de Unicode invisible.
- 🎯 Ciblage de frameworks/outils développeurs (Flutter, Tailwind, Vim, YAML, Svelte, React Native, Vue).
Type d’article: analyse de menace/alerte décrivant une campagne active et présentant l’outil de l’éditeur pour la contrer.
🧠 TTPs et IOCs détectés
TTP
Typosquatting/impersonation d’extensions populaires, Manipulation des compteurs de téléchargements/installs, Mise à jour post-approbation avec code malveillant, Évasion de filtres des marketplaces, Implants Rust intégrés, Usage antérieur de Unicode invisible, Ciblage de frameworks/outils développeurs (Flutter, Tailwind, Vim, YAML, Svelte, React Native, Vue)
IOC
Identifiants d’extensions: iconkieftwo.icon-theme-materiall, prisma-inc.prisma-studio-assistance, prettier-vsc.vsce-prettier, flutcode.flutter-extension, csvmech.csvrainbow, codevsce.codelddb-vscode, saoudrizvsce.claude-devsce, clangdcode.clangd-vsce, cweijamysq.sync-settings-vscode, bphpburnsus.iconesvscode, klustfix.kluster-code-verify, vims-vsce.vscode-vim, yamlcode.yaml-vscode-extension, solblanco.svetle-vsce, vsceue.volar-vscode, redmat.vscode-quarkus-pro, msjsdreact.react-native-vsce, bphpburn.icons-vscode, tailwind-nuxt.tailwindcss-for-react, flutcode.flutter-extension, yamlcode.yaml-vscode-extension, saoudrizvsce.claude-dev, saoudrizvsce.claude-devsce, vitalik.solidity
🔗 Source originale : https://secureannex.com/blog/glassworm-continued/