Aikido

GitHub piraté via une extension malveillante de VS Code : pourquoi les appareils des développeurs sont la véritable cible

Écrit par
Shaun Brown

Le 19 mai, GitHub a annoncé qu'il menait une enquête sur un accès non autorisé à des dépôts internes. TeamPCP affirme avoir extrait des données d'environ 4 000 dépôts privés. Le vecteur d'attaque signalé : une extension malveillante de VS Code installée sur le poste de travail d'un développeur.

Pour l'instant, nous ne savons pas quelle extension ni quel ordinateur a été touché. Ce que nous savons, c'est qu'il s'agit là d'un nouveau cas où des appareils de développeurs ont été compromis par le biais d'outils auxquels les développeurs font une confiance aveugle. Et nous disposons d'un exemple récent et concret illustrant parfaitement comment cela fonctionne.

À peine la veille, l'extension Nx Console pour VS Code, qui compte 2,2 millions d'installations et dont l'éditeur est certifié, a brièvement été compromise par une porte dérobée. La version malveillante récupérait discrètement les identifiants dès qu'un développeur ouvrait un espace de travail. La communauté, notamment Aikido , l'a rapidement détectée, et la version a été retirée en 18 minutes sur le VS Code Marketplace et en 36 minutes sur Open VSX.

Le fait qu'un logiciel soit officiel ne signifie plus qu'il peut être installé sans risque

Ce n’est pas la sophistication, mais bien la confiance qui permet à des attaques telles que Nx Console, Durable Task Python SDK et la campagne Mini Shai-Hulud de fonctionner au sein de l’écosystème AntV. Il ne s’agit pas de paquets ou d’extensions douteux provenant d’éditeurs inconnus. Ce sont des outils que les développeurs utilisent sans hésiter, précisément parce qu’ils affichent un nombre d’installations élevé, le badge d’éditeur vérifié et la légitimité de la boutique d’applications, autant d’éléments qui sont perçus comme des gages de sécurité.

C'est désormais ce signal qui est visé. Un nombre élevé d'installations est synonyme d'une compromission très coûteuse. Un éditeur certifié incite les développeurs à ne pas hésiter. Une boutique officielle fait que personne ne songe à vérifier.

La communauté parvient de mieux en mieux à détecter ces attaques, mais le modèle d'attaque en tient compte. Cela ne prend que quelques minutes, et non plusieurs jours.

Comment Aikido résout ce problème

Au début du printemps, nous avons lancé Device Protection, un agent intégré aux appareils conçu pour protéger contre les menaces provenant de paquets, d'extensions et d'outils d'IA tels que les serveurs MCP. Il combine deux fonctionnalités essentielles qui permettent de bloquer des attaques comme celles de Nx Console.

Blocage des logiciels malveillants en temps réel : Device Protection vérifie chaque installation de paquet et d'extension, y compris les mises à jour, en la comparant à la base de données en temps réel Aikido sur les logiciels malveillants. Si une extension est signalée comme un logiciel malveillant, son installation est bloquée, sans exception. 

Blocage en fonction de l'âge minimum : Device Protection inclut un paramètre configurable permettant de définir un âge minimum pour les paquets et extensions récemment publiés. Par défaut, tout paquet ou extension publié au cours des dernières 48 heures est bloqué avant de pouvoir être installé sur un appareil. Il est important de noter que cette restriction s'applique aux nouvelles mises à jour, et pas seulement aux nouvelles installations. Les administrateurs peuvent allonger ou raccourcir cette période en fonction de leur tolérance au risque spécifique pour chaque écosystème.  Il est important de noter Aikido Protection revient automatiquement à la version sécurisée la plus récente, afin que votre équipe soit protégée, et non bloquée. 

La version malveillante de Nx Console est restée active pendant 18 minutes. Les paquets Durable Task SDK ont été détectés quelques heures seulement après leur publication. Ces deux incidents se sont produits bien avant l'expiration du délai de 48 heures. Conformément à cette politique, aucun des deux n'aurait pu atteindre l'ordinateur d'un développeur, ce qui offre une protection supplémentaire par rapport à la détection instantanée des logiciels malveillants en bloquant la fenêtre d'attaque elle-même.

La protection Aikido déplace l'application des règles vers l'appareil lui-même, et non vers la périphérie du réseau. Un développeur connecté depuis son domicile, via le Wi-Fi d'un hôtel ou un point d'accès personnel échappe totalement aux contrôles du réseau d'entreprise. L'agent Aikido applique la politique directement sur le poste de travail, où qu'il se trouve. 

EDR ne détecte pas cette surface

La charge utile de Nx Console consistait en 2 777 octets de code JavaScript injectés dans un fichier minifié. Le SDK Durable Task était un script Python de 28 Ko. Aucun des deux ne ressemble à un logiciel malveillant pour un analyseur binaire, car aucun n'est un fichier binaire. La charge utile de Nx Console lisait des fichiers .env. Tout développeur en fait de même, des dizaines de fois par jour. L'EDR ne dispose d'aucune signature correspondante.

Les solutions EDR traditionnelles analysaient les exécutables à la recherche de signatures connues. Les extensions VS Code, les paquets npm et les distributions PyPI sont des artefacts en texte brut, interprétés, qui se situent à un tout autre niveau. Aikido ce niveau : npm, PyPI, VS Code Marketplace, JetBrains, Cursor, Windsurf. Il couvre spécifiquement cette surface, car ce n'est pas le cas des solutions EDR. Ces deux outils ne sont pas redondants. Ils surveillent des éléments différents.

La communauté est bel et bien capable de détecter et de supprimer les paquets malveillants. Cependant, pour les extensions comptant des millions d'installations, cela s'avère insuffisant. Détecter un paquet en 18 minutes et empêcher son exposition ne sont pas la même chose. Aujourd'hui, la mise en place d'un âge minimum pour les paquets et les extensions constitue le meilleur moyen de protéger vos appareils contre ce type d'attaques.

Vous pouvez en savoir plus sur la protection des appareils sur le Aikido ou l'essayer grâce à un compte d'essai gratuit. 

Partager :

https://www.aikido.dev/blog/github-breached-vs-code-extension

S'abonner aux actualités

4,7/5
Fatigué des faux positifs ?
Essayez Aikido, comme 100 000 autres.
Commencez maintenant
Obtenez une démonstration personnalisée

Approuvé par plus de 100 000 équipes

Réserver maintenant
Analysez votre application à la recherche d'IDORs et de chemins d'attaque réels

Approuvé par plus de 100 000 équipes

Démarrer l'analyse
Découvrez comment le pentest IA teste votre application

Approuvé par plus de 100 000 équipes

Démarrer les tests

Sécurisez votre environnement dès maintenant.

Sécurisez votre code, votre cloud et votre environnement d’exécution dans un système centralisé unique.
Détectez et corrigez les vulnérabilités rapidement et automatiquement.

Aucune carte de crédit requise | Résultats en 32 secondes.