
Des chercheurs en cybersécurité ont découvert deux extensions malveillantes de Microsoft Visual Studio Code (VS Code) qui se présentent comme des assistants de codage alimentés par l'intelligence artificielle (IA), mais hébergent également des fonctionnalités secrètes permettant de détourner les données des développeurs vers des serveurs basés en Chine.
Les extensions, qui comptent au total 1,5 million d'installations et sont toujours disponibles au téléchargement sur le marché officiel de Visual Studio, sont répertoriées ci-dessous :
- ChatGPT – Version chinoise (ID : whensunset.chatgpt-china) – 1 340 869 installations
- ChatGPT – ChatMoss(CodeMoss)(ID : zhukunpeng.chat-moss) – 151 751 installations

Koi Security a déclaré que les extensions sont fonctionnelles et fonctionnent comme prévu, mais qu'elles capturent également chaque fichier ouvert et chaque modification du code source sur des serveurs situés en Chine à l'insu ou sans le consentement des utilisateurs. La campagne a été baptisée MaliciousCorgi.
“Les deux contiennent un code malveillant identique : la même infrastructure de logiciels espions fonctionnant sous des noms d'éditeur différents”, a déclaré le chercheur en sécurité Tuval Admoni.
Ce qui rend cette activité particulièrement dangereuse est que les extensions fonctionnent exactement comme annoncé, fournissant des suggestions de saisie semi-automatique et expliquant les erreurs de codage, évitant ainsi de déclencher des signaux d'alarme et de diminuer les soupçons des utilisateurs.
Parallèlement, le code malveillant embarqué est conçu pour lire l'intégralité du contenu de chaque fichier ouvert, l'encoder au format Base64 et l'envoyer à un serveur situé en Chine (« aihao123[.]cn”). Le processus est activé pour chaque édition.
Les extensions intègrent également une fonction de surveillance en temps réel que le serveur peut activer à distance, provoquant l'exfiltration de jusqu'à 50 fichiers dans l'espace de travail. Une iframe cachée de zéro pixel est également présente dans la vue Web de l'extension qui charge quatre kits de développement de logiciels (SDK) d'analyse commerciale pour prendre des empreintes digitales sur les appareils et créer des profils d'utilisateurs étendus.
Les quatre SDK utilisés sont Zhuge.io, GrowingIO, TalkingData et Baidu Analytics, qui sont tous d'importantes plateformes d'analyse de données basées en Chine.
Les failles de PackageGate affectent les gestionnaires de packages JavaScript
Cette divulgation intervient alors que la société de sécurité de la chaîne d'approvisionnement a déclaré avoir identifié six vulnérabilités zero-day dans les gestionnaires de packages JavaScript tels que npm, pnpm, vlt et Bun, qui pourraient être exploitées pour contourner les contrôles de sécurité mis en œuvre pour contourner l'exécution automatique des scripts de cycle de vie lors de l'installation du package. Les failles étaient collectivement appelées PackageGate.
Les défenses telles que la désactivation des scripts de cycle de vie (« –ignore-scripts ») et la confirmation des fichiers de verrouillage (« package-lock.json ») sont devenues des mécanismes cruciaux pour faire face aux attaques de la chaîne d'approvisionnement, en particulier après Shai-Hulud, qui exploite les scripts post-installation pour se propager comme un ver pour détourner les jetons npm et publier des versions malveillantes des packages dans le registre.

Cependant, Koi a découvert qu'il est possible de contourner l'exécution de scripts et de verrouiller les contrôles d'intégrité des fichiers dans les quatre gestionnaires de packages. Suite à une divulgation responsable, les problèmes ont été résolus dans pnpm (version 10.26.0), vlt (version 1.0.0-rc.10) et Bun (version 1.3.5). Pnpm suit les deux vulnérabilités CVE-2025-69264 (score CVSS : 8,8) et CVE-2025-69263 (score CVSS : 7,5).
Npm a cependant choisi de ne pas corriger la vulnérabilité, déclarant que « les utilisateurs sont responsables d'examiner le contenu des packages qu'ils choisissent d'installer ». Lorsqu'il a été contacté pour commentaires, un porte-parole de GitHub a déclaré à The Hacker News qu'il travaillait activement pour résoudre le nouveau problème tandis que npm recherchait activement les logiciels malveillants dans le registre.
“Si un package installé via git contient un script intermédiaire, ses dépendances et devDependencies seront installées. Comme nous l'avons partagé lors du dépôt du ticket, il s'agit d'une conception intentionnelle et fonctionne comme prévu”, a déclaré la société. “Lorsque les utilisateurs installent une dépendance git, ils font confiance à tout ce qui se trouve dans ce référentiel, y compris ses fichiers de configuration.”
La filiale appartenant à Microsoft a également exhorté les projets à adopter un accès granulaire et des jetons de publication fiables avec une authentification obligatoire à deux facteurs (2FA) pour protéger la chaîne d'approvisionnement des logiciels. À partir de septembre 2025, GitHub a cessé d'utiliser les anciens jetons classiques, a limité les jetons granulaires avec des autorisations de publication à une expiration plus courte et a supprimé l'option permettant de contourner 2FA pour la publication de packages locaux.
“Cela vaut toujours la peine de suivre les conseils standards, en désactivant les scripts et en confirmant les fichiers verrouillés”, a déclaré le chercheur en sécurité Oren Yomtov. “Mais il ne s'agit pas d'une vision globale. Jusqu'à ce que PackageGate soit entièrement résolu, les organisations doivent prendre leurs propres décisions éclairées concernant les risques.”
(L'histoire a été mise à jour après la publication pour inclure une réponse de GitHub.)

