Microsoft rejoint la tendance de l'industrie : VS Code introduit des délais pour les mises à jour d'extensions afin de lutter contre les attaques de la chaîne d'approvisionnement
**Microsoft** a annoncé un changement significatif dans la manière dont **Visual Studio Code (VS Code)** gère les mises à jour d'extensions, en introduisant un délai de deux heures avant les installations automatiques. Cette mesure vise à renforcer la sécurité de la chaîne d'approvisionnement logicielle, faisant écho à des initiatives similaires de la part de gestionnaires de paquets majeurs comme **RubyGems**, **npm** et **Yarn** pour freiner la propagation de code malveillant.

### Renforcement de la sécurité de VS Code
**Microsoft** améliore la posture de sécurité de son environnement de développement intégré (**IDE**) populaire, **Visual Studio Code (VS Code)**, en introduisant un délai de deux heures pour les mises à jour automatiques des extensions. Cette nouvelle fonctionnalité, disponible à partir de **VS Code 1.123**, est conçue pour créer un tampon crucial contre les menaces potentielles de la chaîne d'approvisionnement logicielle.
« Lorsque les mises à jour automatiques sont activées, les nouvelles versions sont mises à jour automatiquement deux heures après leur publication, ajoutant une couche de protection supplémentaire contre les versions problématiques ou potentiellement compromises », a déclaré **Microsoft** dans son annonce.
Ce délai offre une fenêtre critique aux équipes de sécurité et aux systèmes automatisés pour identifier et signaler les mises à jour malveillantes ou boguées avant qu'elles ne soient largement déployées sur les postes de travail des développeurs. Les utilisateurs conservent la possibilité de mettre à jour manuellement toute extension immédiatement via le bouton « Mettre à jour ». La vue des détails indiquera pourquoi une extension n'a pas été mise à jour automatiquement et quand la mise à jour planifiée aura lieu.
Il est important de noter que ce délai de deux heures ne s'applique pas aux extensions des éditeurs de confiance tels que **Microsoft**, **GitHub** et **OpenAI**, qui continueront à être mises à jour immédiatement.
### Une norme industrielle croissante
L'initiative de **Microsoft** reflète une tendance plus large au sein de l'écosystème de développement logiciel pour atténuer les risques liés à la chaîne d'approvisionnement. Quelques jours auparavant, **RubyGems** a introduit une fonctionnalité de mise en quarantaine optionnelle dans **Bundler 4.0.13**, permettant aux développeurs de configurer un délai d'installation basé sur le temps pour les nouvelles versions de gem publiées.
Des mécanismes de contrôle d'installation similaires, imposant un âge minimum de publication, ont été adoptés par d'autres gestionnaires de paquets proéminents :
* **Bun**: `minimumReleaseAge` (Bun 1.3+)
* **npm**: `min-release-age` (npm v11.10.0+)
* **pnpm**: `minimumReleaseAge` (pnpm 10.16+)
* **Yarn**: `npmMinimalAgeGate` (Yarn Berry 4.10.0+)
Ces changements interviennent dans un contexte de multiplication des incidents de la chaîne d'approvisionnement logicielle, où les attaquants exploitent les vulnérabilités des outils et des bibliothèques de développement pour injecter des malwares dans les applications en aval. En imposant un seuil d'âge minimum avant qu'une version de paquet puisse être installée, ces contrôles défensifs réduisent considérablement la fenêtre pendant laquelle un paquet malveillant peut se propager avant d'être identifié et supprimé par les mainteneurs du registre. Cette approche proactive est essentielle pour protéger les systèmes des développeurs et empêcher la propagation de malwares aux utilisateurs finaux.