Ah, Visual Studio Code⊠LâĂ©diteur chĂ©ri des dĂ©veloppeurs, le doudou numĂ©rique de tout bon full-stack moderne, lâarme fatale des codeurs DevOps qui font du Python le matin et du Terraform le soir. LĂ©ger, rapide, extensible Ă souhait. Trop extensible, justement.
Car aujourdâhui, la rĂ©alitĂ© nous rattrape : les IDEs sont devenus le cheval de Troie ultime. Non pas parce quâun hacker ukrainien vous a injectĂ© un ransomware via le terminal, non. Parce que vous-mĂȘme, en toute innocence, installez des extensions « vĂ©rifiĂ©es »⊠qui ne le sont pas du tout. Bravo, champion.
đ§© Lâarnaque de la « vĂ©rification » des extensions
Une Ă©quipe de chercheurs vient de rĂ©vĂ©ler que plusieurs IDEs majeurs â Visual Studio Code, Visual Studio, IntelliJ IDEA, Cursor â ont une faille en commun : le processus de vĂ©rification des extensions est une mascarade.
Dans le cas de VS Code (coucou Microsoft), une extension peut ĂȘtre estampillĂ©e comme « vĂ©rifiĂ©e » sur la base⊠dâun nom dâĂ©diteur bidon et de quelques vĂ©rifications de surface. Mais derriĂšre cette couche de peinture bleue se cache une libertĂ© quasi-totale de faire exĂ©cuter du code arbitraire Ă lâutilisateur.
Autrement dit :
â Tu veux choper une extension sympa pour formatter ton JSON ?
â Tu tapes « json formatter » et tu vois une extension « trusted publisher » ?
â Tu lâinstalles en toute confiance ?
đ„ BOOM. Tâes owned.
đ§ Les IDEs, nouveaux vecteurs dâinfection
Depuis quelques annĂ©es, la tendance Ă©tait dĂ©jĂ claire : les attaquants ne sâembĂȘtent plus Ă contourner les EDRs ou casser le chiffrement. Ils profitent simplement de ce que les devs installent Ă la chaĂźne : des paquets NPM, des dĂ©pendances Python, et bien sĂ»r, des extensions VS Code.
Mais lĂ , on franchit un cap. Ce ne sont plus de simples outils utiles qui sont dĂ©tournĂ©s. Câest lâenvironnement de dĂ©veloppement lui-mĂȘme qui devient lâarme.
Imaginez : vous ĂȘtes dĂ©veloppeur dans une entreprise (ou mieux, dans une ESN qui fait du code pour la DĂ©fense). Vous installez une extension pour gĂ©rer vos snippets. DerriĂšre, un petit script discret siphonne vos variables dâenvironnement, votre .env local, vos tokens dâauth⊠et transmet le tout au serveur dâun groupe APT.
Pas besoin dâexploit de kernel, de phishing ou dâUSB infectĂ©e. Juste une jolie icĂŽne bleue avec un label « Verified by Microsoft ».
đŠ Supply Chain du code : niveau boss final
On avait dĂ©jĂ vu la supply chain logicielle se faire massacrer par SolarWinds, Log4Shell ou XZ Utils. Maintenant, place Ă la supply chain de lâIDE.
Car oui, ce nâest pas juste VS Code qui est concernĂ©. IntelliJ (coucou JetBrains), Visual Studio (encore Microsoft), Cursor (le VS Code boostĂ© Ă lâIA)⊠tous partagent la mĂȘme faiblesse conceptuelle : ils dĂ©lĂšguent la sĂ©curitĂ© Ă un Ă©cosystĂšme ouvert, sans sandbox rĂ©elle ni vĂ©rification de fond.
Une extension malicieuse peut :
- Lancer des processus,
- Accéder au systÚme de fichiers,
- Lire les variables dâenvironnement,
- Injecter du code dans vos projets,
- Installer dâautres dĂ©pendances vĂ©rolĂ©es.
Et tout ça sans dĂ©clencher la moindre alerte antivirus, parce que â roulement de tambour â câest vous qui lâavez installĂ©e. Gentiment. Comme un grand.
đ Ă qui la faute ?
- Ă Microsoft, qui pense que vĂ©rifier un nom dâĂ©diteur suffit Ă sĂ©curiser une extension ?
- Aux développeurs, qui installent 47 extensions par jour sans lire une seule ligne de code ?
- Aux RSSI, qui laissent des IDEs en roue libre sur les postes de prod ?
- Ă la hype DevSecOps, qui promet la sĂ©curitĂ© dans la CI/CD mais oublie lâenvironnement de dev ?
Spoiler : tout le monde est coupable.
đ ïž Que faire, ĂŽ rage, ĂŽ dĂ©sespoir ?
Quelques pistes de survie, pour les fous qui voudraient continuer Ă coder :
- Utilisez des versions packagĂ©es dâextensions vĂ©rifiĂ©es en interne. Oui, ça prend du temps. Mais câest ça ou ĂȘtre le maillon faible.
- Sandboxez vos IDEs via des conteneurs, des VMs, ou des environnements isolés.
- ContrĂŽlez les accĂšs aux clĂ©s API, tokens, secrets dans les variables dâenvironnement.Â
.env dansÂ.gitignore, merci. - DĂ©sactivez les extensions non utilisĂ©es. Faites le mĂ©nage, comme dans votre frigo.
- Lisez les sources des extensions. Si câest obfusquĂ©, minifiĂ© ou que ça ping une IP russe Ă lâouverture du fichier, fuyez.
đŻ En rĂ©sumĂ© ?
LâIDE est devenu lâarme du crime. Et le dĂ©veloppeur, la victime consentante.
Mais tout va bien, tant quâon peut choisir la couleur du thĂšme et que Copilot te suggĂšre du code inutile. Bienvenue dans lâĂšre du Secure by Extension. Ou plutĂŽt du « Security Theater by Design ».
đ§ Ă mĂ©diter : si mĂȘme ton Ă©diteur de texte peut te trahir, que reste-t-il de sacrĂ© dans ce monde numĂ©rique ?
