Thomas Mercier
Thomas Mercier
Ingenieur securite applicative
| · ~14 min de lecture

Comment auditer la securite de vos extensions IDE et plugins en 7 etapes

Les extensions IDE sont devenues un vecteur d'attaque supply chain majeur. Des plugins JetBrains malveillants aux extensions VS Code compromises, les incidents se multiplient et revelent une surface d'attaque que la plupart des equipes de developpement ignorent completement. Ce guide pratique vous accompagne en 7 etapes concretes pour auditer, evaluer et securiser l'ensemble de vos extensions IDE — que vous utilisiez VS Code, JetBrains, Vim, Neovim ou tout autre editeur.

TL;DR — Les 7 etapes en un coup d'oeil

  • Etape 1 : Dresser l'inventaire complet de toutes les extensions installees sur chaque poste
  • Etape 2 : Verifier l'identite et la reputation de chaque editeur
  • Etape 3 : Analyser les permissions et les capacites demandees
  • Etape 4 : Monitorer le trafic reseau sortant des extensions
  • Etape 5 : Inspecter le code source des extensions open-source
  • Etape 6 : Mettre en place une politique de whitelisting
  • Etape 7 : Automatiser la surveillance continue et les alertes
Resumer cet article avec : ChatGPT Claude Perplexity

Pourquoi les extensions IDE sont un angle mort de votre securite

La plupart des entreprises ont investi massivement dans la securisation de leur chaine de developpement logiciel : analyse de composition logicielle (SCA) pour les dependances, scanners SAST et DAST pour le code, durcissement des pipelines CI/CD, gestion des secrets. Mais il existe un angle mort persistant que presque personne n'audite : les extensions et plugins installes dans les IDE des developpeurs.

Cet angle mort est d'autant plus dangereux que les extensions IDE disposent d'un acces privilegie a l'environnement de developpement. Contrairement a un package npm qui s'execute dans un contexte applicatif restreint, une extension IDE a potentiellement acces a l'integralite du systeme de fichiers, au terminal, aux variables d'environnement, aux credentials Git, aux cles SSH et aux tokens d'authentification stockes sur le poste du developpeur. Un plugin malveillant dans votre IDE est un implant post-exploitation complet, installe volontairement par la victime.

Les incidents recents confirment cette menace. En juin 2026, 15 plugins JetBrains malveillants ont ete decouverts apres 8 mois d'activite et 70 000 installations. En 2024 et 2025, plusieurs extensions VS Code malveillantes ont ete identifiees sur le marketplace officiel. La tendance est claire : les attaquants ciblent desormais les ecosystemes d'extensions IDE comme vecteur de supply chain attack.

Ce guide vous propose une methode structuree en 7 etapes pour auditer, evaluer et securiser l'ensemble de vos extensions IDE, applicable a VS Code, JetBrains (IntelliJ, WebStorm, PyCharm), Vim, Neovim et tout autre editeur disposant d'un systeme de plugins.

Etape 1 : Dresser l'inventaire complet des extensions installees

La premiere etape de tout audit de securite est l'inventaire. Vous ne pouvez pas securiser ce que vous ne connaissez pas. L'objectif est d'obtenir une liste exhaustive de toutes les extensions installees sur chaque poste de developpement de votre organisation, avec pour chacune : le nom, l'editeur, la version, la date d'installation et la date de derniere mise a jour.

Pour VS Code, vous pouvez exporter la liste des extensions via le terminal avec la commande code --list-extensions --show-versions. Pour les installations centralisees, le fichier ~/.vscode/extensions/extensions.json contient l'historique complet des installations. Pour JetBrains, la liste des plugins est accessible dans Settings > Plugins et exportable via la CLI avec idea.sh listPlugins (ou equivalent selon l'IDE).

Pour les equipes distribuees, deployer un script d'inventaire est la methode la plus efficace. Un simple script Bash ou PowerShell qui collecte la liste des extensions sur chaque poste et l'envoie a un serveur central peut etre deploye via votre outil de gestion de configuration (Ansible, SCCM, Intune). L'important est de capturer non seulement les extensions actives mais aussi les extensions desactivees, qui restent sur le disque et pourraient etre reactivees.

Checklist de l'inventaire

Lister toutes les extensions sur chaque poste (actives ET desactivees)
Capturer : nom, editeur, version, date d'installation, date de derniere MAJ
Identifier les extensions communes a toute l'equipe vs. les installations individuelles
Centraliser les resultats dans un tableau ou un outil de gestion d'actifs

Etape 2 : Verifier l'identite et la reputation de chaque editeur

Une fois l'inventaire dresse, chaque extension doit etre evaluee en fonction de la fiabilite de son editeur. Les marketplaces d'extensions distinguent generalement les editeurs verifies (marquage officiel) des editeurs non verifies. C'est un premier filtre, mais il est insuffisant — les plugins JetBrains malveillants de juin 2026 n'avaient pas de marquage verifie, mais ils avaient des milliers de telechargements et des evaluations positives.

Pour chaque extension, posez-vous les questions suivantes : Qui est l'editeur ? S'agit-il d'une entreprise connue, d'un developpeur open-source avec un historique verifiable, ou d'un compte cree recemment ? Depuis quand l'extension est-elle publiee ? Un plugin publie il y a quelques semaines avec des milliers de telechargements est suspect. L'extension a-t-elle un depot de code source public ? Les extensions open-source sont plus facilement auditables. L'editeur publie-t-il d'autres extensions ? Un editeur qui ne publie qu'un seul plugin IA est un signal d'alerte.

Classez chaque extension en trois categories : Fiable (editeur verifie, code source ouvert, historique long, mises a jour regulieres), A surveiller (editeur non verifie mais extension utile, code source ferme, peu de mises a jour) et A supprimer (editeur inconnu, compte recent, pas de code source, fonctionnalite remplacable par une alternative fiable).

Etape 3 : Analyser les permissions et les capacites demandees

Chaque extension IDE dispose de certaines capacites et permissions qui definissent ce qu'elle peut faire sur votre systeme. L'objectif de cette etape est de verifier que les permissions demandees par chaque extension sont coherentes avec sa fonctionnalite annoncee. Une extension de formattage de code n'a pas besoin d'acces reseau. Un linter n'a pas besoin d'executer des commandes shell.

Pour VS Code, le fichier package.json de chaque extension declare ses capacites dans le champ activationEvents et ses contributions dans contributes. Les permissions reseau ne sont pas explicitement declarees dans VS Code, ce qui rend l'analyse plus complexe — il faut inspecter le code ou monitorer le trafic. VS Code dispose neanmoins du mecanisme Workspace Trust qui limite les actions des extensions dans les workspaces non approuves.

Pour les plugins JetBrains, le fichier plugin.xml declare les dependances et les points d'extension utilises. Un plugin qui depend de modules reseau ou de modules d'execution de processus doit etre examine avec attention. JetBrains ne dispose pas d'un systeme de permissions granulaire au niveau plateforme — un plugin installe a un acces complet a l'API de l'IDE et aux fonctionnalites du systeme.

Les signaux d'alerte a surveiller : une extension qui demande un acces reseau alors que sa fonctionnalite ne le justifie pas, une extension qui execute des commandes shell ou des processus externes, une extension qui accede au systeme de fichiers en dehors du workspace courant, et toute extension qui demande des credentials (cles API, tokens) stockes en clair dans ses parametres.

MATRICE DE RISQUE DES PERMISSIONS EXTENSIONS IDE PERMISSION RISQUE SIGNAL D'ALERTE SI... Acces reseau sortant HTTP/HTTPS requests ELEVE Extension de formattage, linter, theme, ou snippet avec reseau Execution de commandes shell child_process, exec, spawn ELEVE Extension UI-only, documentation, ou coloration syntaxique Acces systeme de fichiers Lecture/ecriture hors workspace MOYEN Acces a ~/.ssh, ~/.aws, ~/.env ou fichiers systeme Stockage de credentials Cles API, tokens, mots de passe MOYEN Stockage en clair dans les parametres du plugin Modifications UI uniquement Themes, icones, keybindings FAIBLE Theme ou icone pack avec acces reseau ou fichiers Le risque depend de la coherence entre la fonctionnalite annoncee et les permissions effectivement utilisees

Etape 4 : Monitorer le trafic reseau sortant des extensions

L'analyse statique des permissions ne suffit pas. Une extension peut declarer des capacites legitimes tout en les utilisant de maniere malveillante. L'etape suivante consiste a observer le comportement reel des extensions en monitorant le trafic reseau qu'elles generent.

La methode la plus efficace est d'utiliser un proxy d'interception HTTP/HTTPS comme mitmproxy, Fiddler ou Charles Proxy. Configurez votre IDE pour router son trafic via le proxy, puis observez les requetes envoyees par chaque extension. Identifiez les destinations (domaines et adresses IP), le protocole (HTTP vs HTTPS), le contenu des requetes (cherchez des cles API, des tokens, des credentials) et la frequence des communications.

Les signaux d'alerte lors du monitoring reseau : des requetes HTTP non chiffrees (pas HTTPS) contenant des donnees sensibles, des communications vers des adresses IP hardcodees plutot que des domaines, du trafic vers des domaines inconnus ou des services d'hebergement gratuits, et toute transmission de credentials ou de code source vers des destinations non attendues. Dans le cas des plugins JetBrains malveillants de juin 2026, les cles API etaient envoyees en JSON plaintext via HTTP vers une IP C2 hardcodee — un schema facilement detectable avec un proxy correctement configure.

Pour les equipes qui ne disposent pas d'un proxy d'interception, un monitoring plus leger est possible via les outils reseau du systeme d'exploitation. Sur Linux, ss -tnp ou netstat permettent d'observer les connexions ouvertes par le processus de l'IDE. Sur macOS, lsof -i -P fournit des informations similaires. Sur Windows, netstat -b avec elevation de privileges affiche les processus responsables de chaque connexion.

Etape 5 : Inspecter le code source des extensions open-source

Pour les extensions dont le code source est disponible publiquement (GitHub, GitLab, etc.), une inspection du code constitue la verification la plus fiable. L'objectif n'est pas de lire chaque ligne de code, mais de chercher les patterns suspects qui signalent un comportement potentiellement malveillant.

Les patterns a rechercher dans le code source :

  • Adresses IP ou URLs hardcodees : toute URL ou IP qui n'est pas celle du service officiel de l'extension. Utilisez grep -rn "http://" . pour trouver les requetes HTTP non chiffrees.
  • Appels a des fonctions d'execution de commandes : exec, spawn, child_process, Runtime.getRuntime().exec() sans justification evidente.
  • Lecture de fichiers de secrets : acces a .env, .ssh, .aws/credentials, .npmrc ou tout fichier en dehors du workspace courant.
  • Code obfusque : du code volontairement illisible (encodage base64, eval de chaines, minification excessive du code source) est un signal d'alerte majeur.
  • Divergence entre le code source et le package distribue : verifiez que le code sur GitHub correspond bien au package installe sur le marketplace. Les attaquants publient parfois un code source propre tout en distribuant un package compile different.

Pour les extensions dont le code source n'est pas disponible, la prudence est de mise. Une extension a code ferme d'un editeur non verifie est un risque accepte consciemment. Si l'extension est critique pour votre workflow, documentez le risque et mettez en place un monitoring renforce (etape 4).

Etape 6 : Mettre en place une politique de whitelisting

L'audit ponctuel est necessaire, mais insuffisant. La securite des extensions IDE doit etre geree de maniere continue via une politique de whitelisting qui definit quelles extensions sont autorisees et comment les nouvelles extensions sont evaluees avant d'etre approuvees.

La politique de whitelisting doit couvrir trois aspects. Premierement, la liste des extensions approuvees : un registre maintenu par la DSI ou l'equipe securite, contenant les extensions evaluees et validees. Chaque extension de la liste est assortie d'un responsable, d'une date de derniere evaluation et d'une version approuvee. Deuxiemement, le processus d'approbation pour les nouvelles extensions : un formulaire de demande, des criteres d'evaluation (editeur, permissions, code source, cas d'usage), un delai de traitement et un workflow d'approbation. Troisiemement, les mecanismes d'application : la configuration technique qui empeche l'installation d'extensions non approuvees.

Pour VS Code, le fichier settings.json deploye via GPO ou MDM peut restreindre les extensions avec "extensions.allowed". L'edition VS Code for Organizations offre des controles supplementaires. Pour JetBrains, les Toolbox Enterprise et les profils d'IDE permettent de definir des listes de plugins autorises. Pour les IDE qui ne supportent pas le whitelisting natif, un monitoring des installations avec alertes reste la meilleure option.

WebGuard Agency

Besoin d'aide pour securiser vos extensions IDE ?

WebGuard Agency vous accompagne dans l'audit de vos extensions, la mise en place d'une politique de whitelisting et le monitoring continu de vos postes de developpement.

Demander un audit gratuit

Etape 7 : Automatiser la surveillance continue et les alertes

La derniere etape transforme votre audit ponctuel en un processus de surveillance continue. Les extensions changent : les mises a jour peuvent introduire du code malveillant dans un plugin precedemment sain, de nouvelles extensions sont installees par les developpeurs, et des vulnerabilites sont decouvertes dans des extensions existantes. La surveillance continue couvre ces trois scenarios.

Mettez en place les trois piliers de la surveillance continue. Premierement, un monitoring des installations : un script periodique (cron, tache planifiee) qui compare la liste des extensions installees sur chaque poste avec la whitelist approuvee et genere une alerte pour toute nouvelle installation non approuvee. Deuxiemement, un monitoring des mises a jour : chaque mise a jour d'extension doit etre loggee et les mises a jour critiques (changement de code majeur, nouveau mainteneur) doivent declencher une re-evaluation. Troisiemement, un monitoring du trafic reseau en continu : un proxy ou un agent endpoint qui detecte les communications reseau anormales des processus IDE.

Pour les equipes utilisant un SIEM (Splunk, Elastic, Sentinel), les logs d'installation et de trafic des extensions peuvent etre injectes et correles avec les autres sources de donnees securite. Des regles de detection specifiques — installation d'extension non whitelistee, requete HTTP (non HTTPS) depuis un processus IDE, communication vers une IP non resolue par DNS — peuvent generer des alertes en temps reel.

L'objectif final est d'integrer la securite des extensions IDE dans votre posture de securite globale, au meme titre que la gestion des dependances logicielles, le durcissement des postes de travail et la securisation des pipelines CI/CD. Les extensions IDE sont un composant de votre surface d'attaque — elles doivent etre traitees comme tel.

PROCESSUS D'AUDIT EN 7 ETAPES 1 Inventaire complet Lister toutes les extensions sur chaque poste 2 Verification editeur Identite, reputation, historique, code source 3 Analyse des permissions Reseau, shell, fichiers, credentials 4 Monitoring reseau Proxy d'interception, analyse du trafic sortant 5 Inspection du code source Patterns suspects, URLs hardcodees, obfuscation 6 Politique de whitelisting Liste approuvee, processus d'approbation, GPO 7 Surveillance continue Monitoring, alertes SIEM, re-evaluations CYCLE CONTINU AUDIT INITIAL GOUVERNANCE

Recapitulatif : votre feuille de route en 7 etapes

Voici un recapitulatif actionnable des 7 etapes avec les delais recommandes et les outils associes :

  1. 1
    Inventaire complet (Jour 1-2)

    Outils : code --list-extensions, scripts d'inventaire, outil de gestion d'actifs. Livrable : tableau consolide de toutes les extensions par poste.

  2. 2
    Verification des editeurs (Jour 3-5)

    Outils : marketplace officiel, GitHub, LinkedIn. Livrable : classification de chaque extension (Fiable / A surveiller / A supprimer).

  3. 3
    Analyse des permissions (Jour 5-7)

    Outils : package.json / plugin.xml, Extension Manifest Inspector. Livrable : matrice de permissions avec signaux d'alerte.

  4. 4
    Monitoring reseau (Jour 8-10)

    Outils : mitmproxy, Fiddler, Charles Proxy, netstat. Livrable : rapport des communications reseau de chaque extension.

  5. 5
    Inspection du code source (Jour 10-12)

    Outils : grep, semgrep, truffleHog. Livrable : rapport d'analyse statique des extensions open-source, identification des risques pour les extensions a code ferme.

  6. 6
    Politique de whitelisting (Jour 12-15)

    Outils : GPO, MDM, configuration IDE d'entreprise. Livrable : document de politique, whitelist d'extensions approuvees, processus d'approbation.

  7. 7
    Surveillance continue (En continu)

    Outils : SIEM, scripts de monitoring, proxy d'entreprise. Livrable : alertes automatisees, rapports trimestriels, re-evaluations planifiees.

Questions frequentes

Pourquoi faut-il auditer la securite des extensions IDE ?

Les extensions IDE ont un acces etendu a votre environnement de developpement : systeme de fichiers, terminal, variables d'environnement, credentials stockes. Des incidents recents (15 plugins JetBrains malveillants en juin 2026, extensions VS Code compromises) montrent que les marketplaces d'extensions sont activement ciblees par les attaquants. Un plugin malveillant peut voler des secrets, injecter du code ou compromettre votre pipeline CI/CD.

A quelle frequence faut-il auditer ses extensions IDE ?

Nous recommandons un audit complet trimestriel, avec une verification continue automatisee. Chaque nouvelle installation d'extension doit passer par un processus d'approbation. Les mises a jour d'extensions existantes doivent etre monitorees car une mise a jour peut introduire du code malveillant dans un plugin precedemment sain.

Quels outils utiliser pour scanner les extensions IDE ?

Pour VS Code : Extension Manifest Inspector et les rapports de securite du marketplace. Pour JetBrains : le plugin Scanner et les rapports d'editeur. Pour tous les IDE : monitoring du trafic reseau sortant via un proxy (mitmproxy, Fiddler), analyse statique du code source des extensions open-source (grep, semgrep), et outils de detection de secrets (truffleHog, GitLeaks) sur les fichiers de configuration des extensions.

Comment mettre en place un whitelisting d'extensions IDE en entreprise ?

Trois etapes : (1) dresser l'inventaire complet des extensions utilisees par toutes les equipes, (2) evaluer chaque extension selon des criteres de securite (editeur verifie, code source ouvert, permissions minimales, historique de mises a jour) et constituer la liste approuvee, (3) configurer l'IDE pour restreindre les installations aux extensions approuvees. VS Code et JetBrains supportent les politiques d'entreprise via des fichiers de configuration deployes par GPO ou MDM.

Les extensions VS Code sont-elles plus sures que les plugins JetBrains ?

Aucun marketplace d'extensions n'est inherement plus sur qu'un autre. Le VS Code Marketplace a connu ses propres incidents de securite (extensions malveillantes detectees en 2024 et 2025). Le modele de securite est similaire : curation communautaire et signalements plutot qu'analyse de securite approfondie. La difference principale est que VS Code dispose d'un systeme de permissions plus granulaire (Workspace Trust) qui limite les actions des extensions dans certains contextes.

Pour aller plus loin

Cet article fait partie de notre serie sur la securisation de la chaine de developpement logiciel. Retrouvez nos analyses complementaires :

Faites auditer vos extensions IDE par des experts

Les consultants WebGuard Agency realisent un audit complet de vos extensions IDE, mettent en place une politique de whitelisting et configurent la surveillance continue. Premier audit offert pour les PME francaises.

Contactez nos experts →
25 juin 2026 · 🕑 14 min
Certifications & accreditations
PASSI (ANSSI)
ISO 27001
CEH Certified
OSCP
CISSP
SOC 2 Type II
Newsletter

Veille cybersecurite

Recevez chaque semaine les dernieres menaces, vulnerabilites et bonnes pratiques directement dans votre boite mail.

Pas de spam. Desinscription en un clic. Environ 1 email par semaine.

Pret a renforcer votre cybersecurite ?

Rejoignez les entreprises qui font confiance a WebGuard Agency pour proteger leurs actifs numeriques. Premier audit offert.

Voir nos tarifs
200+
Audits realises
99,9%
Disponibilite SOC
< 4h
Temps de reponse

🛡️ Audit de sécurité gratuit — réponse en 24h, sans engagement

Obtenir mon audit gratuit →