
En mai 2026, des attaquants ont publié une version corrompue de Nx Console, une extension Visual Studio Code comptant environ 2,2 millions d’installations et dotée d’un badge éditeur vérifié. Le code malveillant embarqué a volé des identifiants sur la machine d’un employé de GitHub, permettant de cloner des dépôts internes.
GitHub a confirmé que le chiffre avancé par les attaquants, soit environ 3 800 dépôts clonés, était cohérent avec ses propres investigations. Le groupe responsable, identifié sous le nom TeamPCP et suivi par Sophos comme UNC6780, proposait ces données à la vente sur un forum spécialisé contre au moins 50 000 dollars.
Dix-huit minutes d’exposition, des milliers d’activations
La version malveillante, Nx Console v18.95.0, a été disponible sur le marketplace Visual Studio entre 12h30 et 12h48 UTC, soit une fenêtre d’exposition d’environ 18 minutes. Sur Open VSX, le dépôt alternatif utilisé par Cursor, Windsurf et VSCodium, la durée a été de 36 minutes environ.

Le code malveillant pesait 2 777 octets, dissimulés dans un fichier minifié. Il récupérait ensuite un dropper obfusqué d’environ 498 Ko logé dans un commit orphelin. Ce dropper ciblait les données sensibles typiques d’un poste de développeur : clés AWS, tokens npm, identifiants GitHub et configurations d’outils comme 1Password ou Anthropic Claude Code.
Microsoft a déclaré 28 installations de la version corrompue sur son marketplace, et 41 sur Open VSX. Les mainteneurs de Nx estiment pourtant à près de 6 000 le nombre d’activations en deux jours. L’écart s’explique en partie par une définition différente entre installations et activations, et par le fait que les mises à jour automatiques ne seraient pas toutes comptabilisées.
Un token volé en amont, une chaîne de confiance rompue
Pour publier une extension corrompue, il faut d’abord en avoir les droits. Un développeur Nx a été victime d’une compromission de TanStack, une attaque qui a exfiltré ses identifiants GitHub via l’outil gh CLI. L’attaquant a ensuite utilisé le token VSCE_PAT de Nx pour pousser la version malveillante sur le marketplace.
Cette compromission s’inscrit dans une campagne plus large désignée sous le nom Mini Shai-Hulud. OpenAI a déclaré que deux de ses employés avaient été touchés lors de la même attaque TanStack du 11 mai, avec des clés de signature pour Windows, macOS, iOS et Android compromises. Grafana Labs a pour sa part vu son code source dérobé, les attaquants réclamant une rançon le 16 mai.

Ce n’est pas la première fois que les tokens Nx se retrouvent exposés. En août 2025, une attaque ciblant l’écosystème npm, surnommée s1ngularity, avait déjà extrait des tokens appartenant à des développeurs du projet.
La mise à jour silencieuse au cœur du problème
VS Code met à jour ses extensions de manière automatique et silencieuse. Ce mécanisme, conçu pour diffuser rapidement les correctifs de sécurité, profite également aux attaquants, qui n’ont pas besoin que l’utilisateur intervienne pour que le code malveillant s’exécute.
Le badge éditeur vérifié et le volume d’installations élevé, deux signaux censés rassurer l’utilisateur, ont ici contribué à diffuser le code corrompu plus largement. Wiz Research avait recensé en 2025 plus de 550 secrets validés dans plus de 500 extensions, dont une centaine de tokens PAT actifs. Microsoft a depuis ajouté un filtrage des secrets avant publication.
GitHub indique ne pas avoir trouvé de preuves que des dépôts clients, publics ou privés, aient été affectés. L’enquête se poursuivait fin mai 2026. L’incident illustre comment un vol de token sur une dépendance tierce peut traverser plusieurs couches de systèmes avant de provoquer une brèche significative.
Source : XDA Developers

