Pour des raisons de sécurité, Microsoft a supprimé 2 extensions VSCode téléchargées 9 millions de fois
Pour des raisons de sécurité, Microsoft a pris la décision de supprimer deux extensions populaires pour Visual Studio Code. Que reproche-t-on à ces extensions téléchargées près de 9 millions de fois ? Faisons le point.
Deux extensions disponibles sur le Visual Studio Marketplace et destinées aux utilisateurs de Visual Studio Code ont été supprimées par Microsoft. Ces extensions, qui sont en fait des thèmes, s'appellent "Material Theme - Free" et "Material Theme Icons - Free".
La raison de cette suppression : la présence de code malveillant dans ces extensions. Cela peut surprendre, puisque l'auteur de ces deux extensions est Mattia Astorino (alias equinusocio), un contributeur important sur la marketplace de VSCode. Il comptabilise plus de 13 millions d'installations sur l'ensemble de ses extensions, ce qui n'est pas anodin.
D'ailleurs, les deux extensions supprimées pour des raisons de sécurité comptabilisent à elles seules près de 9 millions d'installation. L’alerte a été donnée par les chercheurs en cybersécurité Amit Assaraf et Itay Kruk. Ils expliquent avoir détecté du code suspect lors de l'analyse du code de ces deux extensions.
"Une analyse approfondie a permis de conclure que de nombreux signaux d'alerte indiquant une intention malveillante se cachaient dans la base de code. Depuis, cette extension a été retirée de la place de marché VSCode, mais elle a eu le temps d'exposer environ 4 millions de développeurs et d'innombrables organisations.", peut-on lire dans leur rapport.
Microsoft a été alerté par les chercheurs en sécurité. La décision ne s'est pas fait attendre bien longtemps, Microsoft a supprimé toutes les extensions du développeur et son compte a également été banni. En complément, une action massive a été initiée pour supprimer automatiquement ces extensions sur toutes les instances de VSCode affectées.
Voici la liste des extensions :
- equinusocio.moxer-theme
- equinusocio.vsc-material-theme
- equinusocio.vsc-material-theme-icons
- equinusocio.vsc-community-material-theme
- equinusocio.moxer-icons
Une attaque de la chaîne d’approvisionnement ou un compte compromis ?
L'outil utilisé pour scanner le code des extensions a détecté une activité malveillante dans le code des extensions. D'après les recherches effectuées par Amit Assaraf, le code suspect aurait été introduit via une mise à jour récente. Dans ce cas, nous pouvons imaginer qu'il s'agit d'une attaque de la chaîne d’approvisionnement ou la compromission du compte du développeur, puisque ce dernier n'a rien d'un pirate.
Ce qui a alerté l'outil, c'est notamment le fichier "release-notes.js" présent dans l'extension. En effet, il contient du code JavaScript fortement obfusqué, ce qui montre qu'il y a eu la volonté de masquer une partie du code. Le scanner utilisé par les chercheurs met également le fait que les thèmes doivent être des fichiers JSON statiques et ne pas exécuter de code.
De son côté, l'auteur de ces thèmes, Mattia Astorino, a nié toute intention d'intégrer du code malveillant dans ses extensions. D'après lui, ce problème de sécurité est lié à une ancienne dépendance à Sanity.io, un CMS headless.
"Nous utilisions une dépendance Sanity.io obsolète depuis 2016 pour afficher les notes de version, et elle semble avoir été compromise.", a-t-il précisé sur GitHub. Il en profite également pour critiquer la réaction de Microsoft, qui n'a même pas pris la peine d'échanger avec lui : "La suppression de l'ancienne dépendance aurait été une solution rapide nécessitant 30 secondes, mais il semble que ce soit le mode de fonctionnement de Microsoft.", peut-on lire.
Un nouveau thème totalement réécrit et sans dépendance a été mis en ligne par le développeur, mais il a également été supprimé par Microsoft. Désormais, il est vrai que ce serait intéressant d'avoir des explications de la part de Microsoft, car la situation est un peu floue. Par précaution, il est préférable de supprimer ces extensions de vos machines, si ce n'est pas déjà fait.