GitHub confirme la compromission de 3 800 dépôts via une extension VSCode malveillante
(bleepingcomputer.com)- Environ 3 800 dépôts internes GitHub ont été compromis après l’installation par un employé d’une extension VS Code malveillante, et l’évaluation actuelle limite la portée de la fuite aux dépôts internes
- GitHub a retiré l’extension trojanisée du VS Code Marketplace et isolé les endpoints infectés, tout en lançant immédiatement sa réponse à l’incident
- TeamPCP affirme avoir accédé au code source de GitHub et à environ 4 000 dépôts de code privé, et réclame au moins 50 000 dollars pour les données volées
- Les extensions VS Code sont des plugins installés depuis la boutique officielle, mais des extensions de vol d’identifiants, de minage, de ransomware et de vol de cryptomonnaies y ont déjà été découvertes par le passé
- GitHub a déclaré n’avoir trouvé aucune preuve de compromission de données clients en dehors des dépôts affectés, et la plateforme est utilisée par plus de 180 millions de développeurs
Confirmation de la compromission et réponse de GitHub
- GitHub a confirmé qu’environ 3 800 de ses dépôts internes avaient été compromis après qu’un employé a installé une extension VS Code malveillante
- L’extension trojanisée, dont le nom n’a pas été révélé, a été retirée du VS Code Marketplace, et l’appareil compromis a été sécurisé
- Dans un post sur X, GitHub a déclaré avoir « détecté et bloqué la compromission d’un poste employé liée à une extension VS Code contaminée », précisant avoir supprimé la version malveillante de l’extension, isolé l’endpoint et lancé immédiatement la réponse à l’incident
- L’évaluation actuelle limite la portée de l’activité à une fuite de dépôts internes GitHub, et le volume d’environ 3 800 dépôts revendiqué par les attaquants correspond globalement aux résultats de l’enquête
- La veille, GitHub avait indiqué à BleepingComputer qu’il enquêtait sur des allégations d’accès non autorisé à des dépôts internes, ajoutant qu’il n’existait aucune preuve d’une compromission de données clients stockées en dehors des dépôts affectés
Revendications de TeamPCP et risques liés aux extensions VS Code
- Le groupe de hackers TeamPCP affirme, sur le forum cybercriminel Breached, avoir accédé au code source de GitHub et à « environ 4 000 dépôts de code privé », et demande au moins 50 000 dollars pour les données volées
- TeamPCP affirme qu’« il ne s’agit pas d’une rançon et qu’il n’a aucun intérêt à extorquer GitHub », et dit qu’il supprimera les données en sa possession après les avoir vendues à un seul acheteur
- TeamPCP a déjà été lié à de vastes attaques de supply chain visant des plateformes de code pour développeurs, notamment GitHub, PyPI, NPM, et Docker
- TeamPCP a aussi récemment été lié à la campagne de supply chain « Mini Shai-Hulud », qui a également affecté deux employés d’OpenAI
- Les extensions VS Code sont des plugins installés depuis la boutique officielle VS Code Marketplace pour ajouter des fonctionnalités ou intégrer des outils à l’éditeur de code de Microsoft
- Des extensions malveillantes volant des identifiants de développeurs et des données sensibles ont déjà été découvertes à plusieurs reprises sur le VS Code Marketplace
- L’an dernier, des extensions VSCode totalisant 9 millions d’installations ont été retirées pour risques de sécurité, et 10 extensions déguisées en outils de développement légitimes ont infecté des utilisateurs avec le mineur de cryptomonnaie XMRig
- Par la suite, une extension malveillante dotée de fonctions de ransomware basiques a été publiée sur le VS Code Marketplace, et un acteur de la menace nommé WhiteCobra y a enregistré 24 extensions de vol de cryptomonnaies
- En janvier de cette année, deux extensions malveillantes totalisant 1,5 million d’installations, promues comme des assistants de codage basés sur l’IA, ont exfiltré des données vers des serveurs chinois depuis les systèmes de développeurs infectés
- La plateforme cloud GitHub est aujourd’hui utilisée par plus de 4 millions d’organisations, 90 % du Fortune 100 et plus de 180 millions de développeurs, qui contribuent à plus de 420 millions de dépôts de code
1 commentaires
Réactions de Hacker News
Ce serait bien si l’entreprise qui a créé VSCode, l’entreprise qui possède NPM et l’entreprise qui possède GitHub pouvaient se réunir pour trouver une solution à ce problème
Cela illustre parfaitement pourquoi la BD Microsoft org chart est si juste
https://bonkersworld.net/organizational-charts
Ce n’est certainement pas comme si les avertissements manquaient concernant ce risque pourtant évident
https://github.com/microsoft/vscode/issues/52116
Microsoft est aussi l’entreprise qui possède NuGet
Quand on regarde ce qu’ils ont fait il y a un an, ils ont retiré de manière préventive environ 700 paquets de NuGet, qui se sont finalement révélés être des faux positifs
Ce n’est pas facile de faire ce qu’il faut
Sans plaisanter, ces écosystèmes sont en fait conçus dès le départ comme des poubelles faciles à compromettre
Tout écosystème totalement ouvert, où les contributions ne sont pas examinées rigoureusement, est exposé à ce genre de problèmes
Si ça ne vous plaît pas, n’utilisez pas d’extensions d’éditeur et servez-vous d’un éditeur correctement audité
Utiliser des extensions, des paquets node ou des paquets PyPI sans les examiner en détail, c’est accumuler de la dette technique
On accepte le risque pour aller plus vite, puis il faut soit le rembourser plus tard de manière contrôlée, soit en assumer le coût quand les intérêts tombent
Les extensions VS Code font peur depuis longtemps, et c’était une voie d’attaque tellement évidente
VSCode continue d’afficher des pop-ups proposant d’installer une extension parce qu’elle reconnaît un certain format de fichier, et c’est du 50/50 entre une extension appartenant à l’entreprise concernée ou à un développeur quelconque
Même parmi les extensions installées des millions de fois, certaines donnent au premier regard l’impression d’être des extensions officielles d’une entreprise
Maintenant, j’essaie de n’installer que des extensions officiellement détenues par l’entreprise concernée, mais même là il est difficile d’être certain de ne pas se faire avoir, et c’est assez amer
Ce problème dépasse largement VS Code
Toutes les extensions et tous les morceaux de code exécutable ont le même problème
Il y a aussi eu le cas de Disney, piraté parce qu’un employé avait installé un mod BeamNG contenant un malware
Toute entreprise qui veut rester sûre devrait imposer de fortes restrictions sur l’installation de logiciels
Par exemple en n’autorisant l’installation que de paquets npm et de plugins issus de dépôts préapprouvés en interne
J’ai continué à utiliser Sublime, souvent avec les moqueries des accros à VSCode, et ça me fait plaisir de voir ceux qui croyaient sans esprit critique que « VSCode est parfait » se prendre ça en retour
Moi aussi, je suis devenu pareillement parano avec les extensions VSCode
Je me souviens d’une époque où, avec des IDE comme Brackets, JetBrains, Sublime Text ou Bluefish, quelques extensions fiables suffisaient pour développer
Aujourd’hui, quoi qu’on fasse, on a l’impression que quelqu’un ou une entreprise a déjà fabriqué une extension dédiée à cette tâche
Désormais, j’essaie d’en faire le plus possible avec le minimum d’extensions
Et j’essaie aussi de retirer le reste de mon code de GitHub
Vu que c’est le fournisseur qui a eu l’idée de prendre des captures d’écran du bureau toutes les quelques secondes, d’y appliquer de l’OCR, puis d’enregistrer les résultats en clair non chiffré sur disque, on pouvait s’attendre à ce niveau de sécurité logicielle
Et en plus, toutes ces extensions veulent aussi faire des mises à jour automatiques
Ce qui est encore plus surprenant, c’est que les hackers aient trouvé un temps de fonctionnement assez long pour faire ça
Pour ceux qui n’ont pas compris la blague, depuis son rachat par Microsoft, GitHub a de plus en plus de mal à fonctionner de manière fiable
Ces derniers temps, c’est devenu encore pire avec davantage d’indisponibilités, au point d’en faire la une
Fil précédent lié :
GitHub is investigating unauthorized access to their internal repositories - https://news.ycombinator.com/item?id=48201316 - mai 2026, 321 commentaires
Je me demande si l’extension nx console qui m’a eu hier a été compromise
Le timing semble presque exactement le même
Voir https://github.com/nrwl/nx-console/security/advisories/GHSA-...
J’aimerais que cette affaire pousse Microsoft à ajouter un système de permissions explicite pour les extensions VS Code, et à améliorer aussi la sécurité des dev containers
J’aimerais plutôt que cela serve de déclencheur pour que les utilisateurs — ici les développeurs et les mainteneurs — réduisent leur dépendance à Microsoft, et surtout arrêtent de sous-traiter leur sécurité à Microsoft
Il est temps de quitter vscode
Je n’ai pas beaucoup d’espoir
Cette issue est ouverte depuis 2018 : https://github.com/microsoft/vscode/issues/52116
VS Code est construit sur Electron, et Electron avait ou a encore un helper sandbox SUID, ce qui rend la mise en sandbox pénible
Parce qu’on ne peut pas facilement exécuter un binaire SUID à l’intérieur d’une sandbox
Sur Linux, le sandboxing est un travail extrêmement difficile
Configurer un navigateur web avec SUID Root, c’était autrefois une blague destinée à piéger les utilisateurs ignorants, et la pire erreur de sécurité imaginable
Il y a un léger surcoût de performance, mais ce n’est pas non plus la fin du monde
J’ai peut-être raté quelque chose d’évident, mais 3 800 dépôts, c’est quand même impressionnant
Je ne pensais pas qu’il y en aurait autant
Comme d’autres l’ont dit, ce n’en est qu’une partie
Je suis dans une entreprise technologique de taille intermédiaire, et nous avons plus de 7 500 dépôts dans une seule organisation GitHub
Nous avons deux organisations, donc on dépasse facilement les 10 000 au total
Bien sûr, la plupart sont anciens, abandonnés, sandboxés, ou servent d’outils personnels
Donc si GitHub avait plus de 100 000 dépôts internes, voire davantage, ça ne me surprendrait pas
J’ai déjà travaillé dans une entreprise qui avait au moins 5 000 dépôts répartis sur cinq ou six organisations GitHub, avec encore plus de code dans Perforce
Il y avait sans doute de vieilles expérimentations, mais l’entreprise touchait à plusieurs domaines et certains services ne voyaient aucun problème à créer encore un autre service pour résoudre un seul problème
Nous avons bien archivé les anciennes choses de mon service
Nous avions huit dépôts, et à trois personnes cela nous semblait déjà largement suffisant
Uber a eu un temps 8 000 dépôts pour 2 000 ingénieurs - https://highscalability.com/lessons-learned-from-scaling-ube...
J’ai déjà travaillé dans la distribution alimentaire
Le premier jour, je me suis dit qu’en apparence c’était juste un site web assez simple vu de l’extérieur, donc à quel point cela pouvait-il être compliqué ?
Puis j’ai découvert que le site de commande était le produit combiné de plus de 300 dépôts
C’était moins que ce que GitHub a perdu dans cette compromission
Plus l’échelle grandit, plus il faut d’efforts pour préserver la simplicité
L’une des choses que j’ai toujours appréciées en travaillant chez GitHub, c’est qu’une grande partie de l’entreprise fonctionne réellement sur GitHub
Même des équipes non techniques ont souvent leur propre dépôt pour organiser documentation, SOP, design, etc., un peu comme une entreprise de travailleurs du savoir plus traditionnelle utiliserait SharePoint
Il y a plusieurs façons de faire de l’open source
Au lieu d’exécuter ouvertement un script avec son propre compte utilisateur, il suffit de faire un envoi anonyme via un plugin qui fait à la fois du scraping et une fonctionnalité inutile
Par exemple, quelque chose qui vous dit si un nombre flottant est pair
Bien sûr, de tels nombres n’existent pas
Ensuite il suffit de l’exécuter puis de faire semblant d’être une victime
« Hier, nous avons détecté et bloqué une compromission d’un appareil d’employé liée à une extension VS Code contaminée. Nous avons supprimé la version malveillante de l’extension, isolé l’endpoint et immédiatement lancé la réponse à incident »
Super, ils ont supprimé l’extension
Donc ils ne font ça qu’après l’infection de leurs propres employés ?
Et pourquoi ne pas révéler le nom de l’extension ?