D-OPEN

Comment sécuriser vos extensions VS Code en 7 étapes — guide pratique pour développeurs

Camille Laurent

Camille Laurent

Ingénieure sécurité applicative · 9 ans · 6 juin 2026 · 15 min de lecture

Sécuriser extensions VS Code supply chain développeur

TL;DR

  • • Les extensions VS Code s'exécutent avec les mêmes privilèges que votre utilisateur système — accès complet aux fichiers, réseau et credentials.
  • • Après le zero-day du 2 juin 2026 (vol de tokens GitHub OAuth en 1 clic) et les compromissions TeamPCP/Glassworm, sécuriser vos extensions n'est plus optionnel.
  • • Ce guide détaille 7 étapes concrètes : inventaire, nettoyage, Workspace Trust, contrôle des mises à jour, liste blanche, monitoring et politique d'équipe.
  • • Temps total : 2 à 3 heures pour un développeur individuel, une demi-journée pour une équipe.

En juin 2026, l'écosystème VS Code traverse la période la plus tendue de son histoire en matière de sécurité. Le zero-day divulgué par Ammar Askar le 2 juin a permis le vol de tokens GitHub OAuth en un seul clic, compromettant 3 700 dépôts. Avant cela, la compromission de l'extension Nx Console par TeamPCP avait exposé les systèmes internes de GitHub. Le problème structurel est clair : les extensions VS Code s'exécutent sans sandboxing, avec un accès complet à vos fichiers, votre réseau et vos credentials. Ce guide vous donne les 7 étapes pour reprendre le contrôle.

Étape 1 : Réaliser un inventaire complet de vos extensions

La première étape de toute démarche de sécurisation est la visibilité. Vous ne pouvez pas protéger ce que vous ne connaissez pas. La plupart des développeurs accumulent des dizaines d'extensions au fil des années — certaines installées pour un projet terminé il y a deux ans, d'autres recommandées par un collègue sans vérification. J'ai vu des postes de développeurs à Paris avec 87 extensions installées dont seulement 12 étaient activement utilisées.

Ouvrez un terminal et exécutez ces commandes :

code --list-extensions --show-versions > ~/vscode-extensions-audit.txt

code --list-extensions | wc -l

La première commande exporte la liste complète avec les versions dans un fichier. La seconde vous donne le nombre total d'extensions installées. Si ce nombre dépasse 30, c'est un signal d'alerte : votre surface d'attaque est probablement trop large.

Pour chaque extension de votre inventaire, documentez :

  • Éditeur : qui publie l'extension ? Est-ce un éditeur vérifié (badge bleu sur le Marketplace) ?
  • Dernière mise à jour : une extension non mise à jour depuis plus de 12 mois est un risque potentiel (abandon, reprise hostile).
  • Nombre d'installations : une extension avec moins de 1 000 installations nécessite une vigilance accrue.
  • Usage réel : utilisez-vous activement cette extension au quotidien ?

Pour les équipes basées à Lyon ou Nantes qui travaillent sur des projets sensibles (fintech, santé, données personnelles), cet inventaire est la base de la conformité NIS2 concernant la maîtrise de la supply chain logicielle.

Étape 2 : Nettoyer et désinstaller les extensions inutiles

Avec votre inventaire en main, passez au nettoyage. Le principe est simple : chaque extension inutile est une surface d'attaque inutile. Désinstallez tout ce que vous n'utilisez pas activement.

Commande de désinstallation en lot :

code --uninstall-extension publisher.extension-name

Catégories à cibler en priorité pour la désinstallation :

  • Extensions de thème ou décoratives : les thèmes d'icônes et de couleurs sont souvent considérés comme inoffensifs, mais ils ont les mêmes privilèges que n'importe quelle extension. Si vous n'utilisez pas activement un thème, supprimez-le.
  • Extensions abandonnées : pas de mise à jour depuis plus de 12 mois, ou éditeur qui a disparu.
  • Extensions redondantes : plusieurs linters pour le même langage, plusieurs formateurs, plusieurs gestionnaires de snippets.
  • Extensions de frameworks/langages que vous n'utilisez plus : si vous avez arrêté le développement Ruby il y a un an, les 4 extensions Ruby ne servent plus à rien.

Objectif réaliste : réduire votre nombre d'extensions à 15-25 maximum. C'est le nombre que je constate chez les développeurs séniors qui maintiennent un environnement sécurisé et performant.

💡 Notre avis d'expert

Sur les audits que j'ai réalisés auprès d'équipes de développement à Paris et Lyon, le taux moyen de réduction après cette étape est de 45%. Presque la moitié des extensions installées ne servaient à rien. Chacune de ces extensions avait pourtant un accès complet au système de fichiers, au réseau et aux tokens OAuth du développeur. Le nettoyage est la mesure la plus efficace en termes de rapport effort/sécurité.

Étape 3 : Activer et configurer Workspace Trust

VS Code dispose d'une fonctionnalité appelée Workspace Trust qui permet de marquer certains répertoires comme non fiables. En mode restreint (Restricted Mode), VS Code désactive automatiquement certaines fonctionnalités des extensions : exécution de code, accès aux terminaux, débogueur, tâches automatiques.

Pour activer Workspace Trust, ouvrez les Settings (Ctrl+,) et recherchez security.workspace.trust. Vérifiez que ces paramètres sont activés :

  • "security.workspace.trust.enabled": true
  • "security.workspace.trust.untrustedFiles": "prompt"
  • "security.workspace.trust.startupPrompt": "always"

Le principe d'utilisation est simple : ne faites confiance qu'aux répertoires contenant votre propre code ou le code de dépôts que vous avez personnellement audités. Tout dépôt cloné depuis une source externe devrait être ouvert en mode restreint par défaut.

Attention : Workspace Trust est une couche de défense utile mais insuffisante seule. Elle ne protège pas contre les extensions installées globalement, ne bloque pas la lecture des fichiers ~/.ssh, ~/.aws ou ~/.npmrc, et ne s'applique pas quand vous avez explicitement accordé la confiance au workspace. C'est pourquoi les étapes suivantes sont indispensables.

Les 7 étapes de sécurisation VS Code — Vue d'ensemble1Inventaire15 min2Nettoyage15 min3Workspace10 min4MAJ manuelles5 min5Liste blanche30 min6Monitoring30 min7Politique1hGains immédiats (Étapes 1-3)Réduction surface d'attaque en 30 minProtection durable (Étapes 4-7)Processus d'équipe en 2-3hRésultat : surface d'attaque réduite de 60% en moyenneBasé sur les audits réalisés auprès d'équipes dev à Paris, Lyon et Nantes

Étape 4 : Désactiver les mises à jour automatiques des extensions

Par défaut, VS Code met à jour automatiquement les extensions sans vous en informer. C'est exactement le mécanisme exploité dans les attaques supply chain : un attaquant compromet le compte d'éditeur d'une extension populaire, publie une version malveillante, et la mise à jour automatique la déploie silencieusement sur tous les postes.

Désactivez les mises à jour automatiques dans votre settings.json :

"extensions.autoUpdate": false

"extensions.autoCheckUpdates": true

La première ligne désactive l'installation automatique des mises à jour. La seconde maintient la vérification — VS Code vous notifiera qu'une mise à jour est disponible, mais ne l'installera pas sans votre validation explicite. Cela vous donne le temps de vérifier le changelog de la mise à jour avant de l'appliquer.

Pour les équipes, cette configuration peut être forcée via un fichier de settings partagé ou via les politiques de groupe (GPO) si vous utilisez un MDM. Sur les postes de développeurs à Paris qui travaillent sur des projets réglementés (banque, santé, administration), cette mesure est généralement exigée par les équipes sécurité.

Étape 5 : Mettre en place une liste blanche d'extensions

La liste blanche est la mesure de sécurité la plus structurante. Le principe : seules les extensions explicitement approuvées peuvent être installées. Toute nouvelle extension doit passer par un processus de validation avant d'être ajoutée à la liste.

Créez un fichier .vscode/extensions.json à la racine de chaque dépôt de votre équipe :

{"recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "bradlc.vscode-tailwindcss", "ms-vscode.vscode-typescript-next"]}

Ce fichier indique à tous les membres de l'équipe quelles extensions sont approuvées pour ce projet. VS Code affichera ces extensions comme « recommandées » à l'ouverture du workspace.

Critères de validation pour ajouter une extension à la liste blanche :

  • Éditeur vérifié (badge bleu) avec un historique de publications régulières.
  • Plus de 100 000 installations avec des évaluations positives.
  • Code source ouvert sur GitHub avec des contributions récentes.
  • Dernière mise à jour dans les 6 derniers mois.
  • Permissions raisonnables : une extension de coloration syntaxique qui demande l'accès réseau est suspecte.

Pour les équipes réparties entre Paris et Nantes ou entre Lyon et Bordeaux, la liste blanche permet d'homogénéiser les environnements de développement et de réduire la surface d'attaque collective.

Besoin d'aide pour mettre en place une politique de sécurité VS Code ?

D-Open accompagne les équipes de développement françaises dans la sécurisation de leur chaîne d'outils. Audit d'extensions, définition de listes blanches, mise en place de monitoring — nous adaptons la démarche à votre contexte.

Discuter avec un expert

Étape 6 : Mettre en place un monitoring continu

La sécurisation n'est pas un événement ponctuel — c'est un processus continu. Les extensions évoluent, de nouvelles menaces apparaissent, et les comptes d'éditeurs peuvent être compromis à tout moment. Vous avez besoin d'un monitoring régulier.

Actions de monitoring à planifier :

  • Hebdomadaire : vérifier les mises à jour disponibles et lire les changelogs avant application.
  • Mensuel : relancer l'inventaire complet et comparer avec la liste blanche. Détecter les installations non autorisées.
  • Trimestriel : revoir la liste blanche complète. Supprimer les extensions obsolètes, ajouter les nouvelles après validation.
  • Sur alerte : en cas de publication d'une vulnérabilité (comme le zero-day du 2 juin), vérifier immédiatement l'impact sur votre environnement.

Script de vérification automatique (ajoutez-le à votre pipeline CI/CD ou à un cron) :

diff <(code --list-extensions | sort) <(cat .vscode/approved-extensions.txt | sort)

Ce script compare les extensions installées avec la liste approuvée et signale toute divergence. Si une extension non approuvée est détectée, c'est soit une installation non autorisée, soit un oubli de mise à jour de la liste — dans les deux cas, une action est requise.

Pour les alertes sécurité en temps réel, abonnez-vous au flux d'avis de sécurité VS Code sur GitHub et aux publications du CERT-FR qui couvrent régulièrement les vulnérabilités des outils de développement.

💡 Notre avis d'expert

Le monitoring est l'étape que les équipes sautent le plus souvent — et c'est celle qui fait la différence entre une sécurité théorique et une sécurité réelle. J'ai vu des équipes à Lyon mettre en place une liste blanche parfaite puis ne plus jamais la vérifier pendant 8 mois. Pendant ce temps, 3 extensions de la liste avaient changé de propriétaire et 2 avaient reçu des mises à jour avec des permissions élargies. Le monitoring trimestriel est le minimum absolu.

Étape 7 : Définir et documenter une politique d'équipe

Les étapes précédentes ne fonctionnent que si elles sont adoptées par l'ensemble de l'équipe. Une politique de sécurité documentée transforme des pratiques individuelles en standard collectif.

Votre politique d'équipe devrait couvrir :

  • Processus d'ajout d'extension : qui peut demander l'ajout d'une extension ? Qui valide ? Quels critères ? Délai de validation ?
  • Règles d'installation : interdiction d'installer des extensions hors liste blanche sans validation préalable.
  • Gestion des mises à jour : fréquence, processus de validation, rollback en cas de problème.
  • Réponse aux incidents : que faire si une extension de la liste blanche est compromise ? Procédure de désinstallation d'urgence, rotation des credentials, notification à l'équipe.
  • Onboarding : procédure pour les nouveaux développeurs qui rejoignent l'équipe (installation des extensions approuvées, configuration Workspace Trust, désactivation des mises à jour automatiques).

Pour les startups et PME françaises (Paris, Lyon, Nantes, Bordeaux, Toulouse, Lille), cette politique peut être simple — une page dans le wiki interne ou un fichier SECURITY.md à la racine du monorepo. L'important n'est pas la longueur du document mais son existence et son application.

Matrice de réduction des risques — avant / après les 7 étapesAvant sécurisation✗ 40-80 extensions installées✗ Mises à jour automatiques activées✗ Pas de Workspace Trust✗ Aucune liste blanche✗ Tokens OAuth scopes larges✗ Pas de monitoringRisque : CRITIQUEAprès 7 étapes✓ 15-25 extensions auditées✓ Mises à jour manuelles validées✓ Workspace Trust actif✓ Liste blanche documentée✓ Tokens restreints + rotation✓ Monitoring trimestrielRisque : MODÉRÉ

Ce que ça signifie pour vous

La sécurisation de vos extensions VS Code n'est pas un exercice théorique. Les attaques de juin 2026 ont démontré que l'éditeur de code est désormais un vecteur d'attaque de premier ordre. Chaque extension non auditée est une porte d'entrée potentielle vers vos tokens GitHub, vos clés SSH, vos credentials cloud et votre propriété intellectuelle.

Les 7 étapes de ce guide sont classées par priorité :

  1. Étapes 1-3 (inventaire, nettoyage, Workspace Trust) : gains immédiats en 30 minutes. Faites-les aujourd'hui.
  2. Étape 4 (mises à jour manuelles) : 5 minutes de configuration, protection durable contre les supply chain attacks.
  3. Étapes 5-7 (liste blanche, monitoring, politique) : démarche d'équipe à planifier cette semaine.

Pour les équipes qui travaillent sur des projets sensibles — fintech à Paris, santé à Lyon, administration publique à Nantes — ces mesures sont désormais une exigence de conformité (NIS2, RGPD, DORA) autant qu'une bonne pratique de sécurité.

Pour aller plus loin, consultez notre analyse du zero-day VS Code du 2 juin 2026 qui détaille le mécanisme d'attaque et l'impact sur les dépôts GitHub, ainsi que notre guide sur la sécurisation des pipelines npm contre les attaques supply chain. La sécurité de la chaîne d'outils de développement est un ensemble cohérent : éditeur, gestionnaire de paquets, pipeline CI/CD — chaque maillon compte.

Conclusion : Sécuriser vos extensions VS Code en 7 étapes est un investissement de 2 à 3 heures qui réduit votre surface d'attaque de 60% en moyenne. Le modèle de sécurité de VS Code ne changera pas du jour au lendemain — c'est à vous de compenser ses failles par des pratiques rigoureuses. Obtenir un devis gratuit si vous souhaitez un accompagnement personnalisé pour votre équipe.

Sécurisez votre chaîne d'outils de développement

D-Open propose des audits complets de la chaîne d'outils de développement pour les équipes françaises. Extensions VS Code, pipelines CI/CD, dépendances npm/pip — nous identifions les risques et mettons en place les protections adaptées à votre contexte.

Demander un audit gratuit

Questions fréquentes

Les extensions VS Code ont-elles accès à mes tokens GitHub et clés SSH ?

Oui. Les extensions VS Code s'exécutent avec les mêmes privilèges que votre utilisateur système. Elles ont accès au système de fichiers (y compris ~/.ssh, ~/.aws, ~/.npmrc), au réseau et aux tokens OAuth stockés dans le keychain via l'API vscode.authentication. Il n'existe pas de sandboxing par extension dans VS Code. C'est pourquoi la sécurisation des extensions est une priorité absolue.

Combien de temps faut-il pour sécuriser VS Code avec ces 7 étapes ?

Environ 2 à 3 heures pour un développeur individuel, et une demi-journée pour une équipe (incluant la définition de la politique et de la liste blanche). Les étapes 1 à 3 (inventaire, nettoyage, Workspace Trust) offrent un gain immédiat en 30 minutes. Les étapes 4 à 7 demandent plus de temps mais assurent une protection durable.

Existe-t-il des alternatives à VS Code avec un meilleur modèle de sécurité ?

Oui. Zed (éditeur Rust) exécute les extensions dans des processus isolés. JetBrains offre un système de permissions plus granulaire. Neovim avec lazy.nvim permet la revue du code source de chaque plugin. Les IDE cloud (GitHub Codespaces, Gitpod) isolent l'environnement dans des conteneurs éphémères. Cependant, VS Code reste dominant et ces 7 étapes de sécurisation sont la solution la plus pragmatique pour la majorité des équipes.

La fonctionnalité Workspace Trust suffit-elle à protéger contre les extensions malveillantes ?

Non. Workspace Trust désactive certaines fonctionnalités dans les workspaces non fiables, mais ne protège pas contre les extensions installées globalement, ne bloque pas la lecture des fichiers système (~/.ssh, ~/.aws), et ne s'applique pas quand vous faites confiance au workspace. C'est une couche utile mais insuffisante seule — combinez-la avec une liste blanche, la désactivation des mises à jour automatiques et un monitoring régulier.

Articles similaires