1 points par GN⁺ 2 시간 전 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2 시간 전
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

    • Voir un message du genre « pour que la sandbox fonctionne, il faut donner le SUID Root à Chrome » est vraiment très désagréable
      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
    • Dans ce cas, il ne faut pas construire un IDE sur Electron
    • podman semble assez bien gérer les espaces de noms sans root
      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

    • Si l’on veut lancer une alerte ou divulguer des informations privées, ça peut être une assez bonne méthode
      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 ?