Une chaîne de vulnérabilités dans un éditeur de code propulsé par l’IA alerte sur la manière dont les outils autonomes destinés aux développeurs peuvent être retournés contre leurs utilisateurs.
Baptisée NomShub, cette faille permet à des attaquants d’obtenir un accès persistant au shell en incitant simplement un développeur à ouvrir un dépôt malveillant — sans exploiter une vulnérabilité traditionnelle.
« Lorsqu’un agent IA peut exécuter des commandes shell, gérer des processus et interagir avec des systèmes d’authentification, une injection de prompt réussie équivaut à une exécution de code à distance », ont déclaré les chercheurs de Straiker dans leur article de blog.
La chaîne d’attaque NomShub
La chaîne de vulnérabilités NomShub met en lumière un angle mort grandissant des programmes de sécurité : les outils de développement assistés par IA brouillent la frontière entre automatisation de confiance et entrées non fiables, élargissant la surface d’attaque lorsqu’ils exécutent des instructions provenant de sources externes comme les dépôts publics.
Dans ce modèle, le simple fait de consulter du code peut effectivement revenir à l’exécuter, offrant de nouvelles occasions aux attaquants d’exploiter la confiance implicite des flux de travail pilotés par l’IA.
Le problème, identifié dans l’éditeur de code Cursor AI, montre comment plusieurs faiblesses peuvent être enchaînées pour aboutir à une compromission complète du système.
NomShub combine une injection de prompt, une évasion du bac à sable dans l’analyseur de commandes et l’utilisation abusive d’une fonctionnalité légitime de tunnel distant.
Ce qui rend cette attaque particulièrement dangereuse, c’est sa simplicité — il suffit pratiquement d’ouvrir un dépôt malveillant et d’interagir avec l’assistant IA comme prévu.
Comment débute l’attaque NomShub
L’attaque commence par la manière dont les agents IA traitent le contenu des dépôts.
Les acteurs malveillants intègrent des instructions malveillantes dans des fichiers d’apparence anodine, souvent déguisées en documentation d’installation.
Lorsqu’un développeur demande de l’aide à l’assistant IA, l’agent assimile ce contenu et exécute les commandes qu’il contient dans le cadre de son flux de travail normal, transformant de fait l’IA en couche d’exécution pour des entrées contrôlées par l’attaquant.
Évasion du bac à sable par des failles de l’analyseur de commandes
À partir de là, l’attaque s’intensifie en exploitant une faille de l’analyseur de commandes de Cursor.
Bien qu’il soit conçu pour bloquer les commandes dangereuses, celui-ci ne prend pas correctement en compte les commandes internes du shell comme export et cd, qui n’apparaissent pas comme des binaires externes.
En enchaînant ces commandes internes avec des commandes par ailleurs anodines, les attaquants peuvent contourner les restrictions et écrire dans des emplacements sensibles du répertoire personnel de l’utilisateur.
Comme macOS autorise ces écritures par défaut, les protections du bac à sable s’effondrent, permettant une évasion fiable.
Persistance et accès distant par tunnelisation
Une fois le bac à sable contourné, la persistance est établie en modifiant des fichiers d’initialisation du shell comme ~/.zshenv, afin que le code malveillant s’exécute à chaque ouverture d’une nouvelle session.
L’attaquant exploite ensuite la fonctionnalité de tunnel distant de Cursor pour exfiltrer des identifiants et maintenir son accès via HTTPS en passant par l’infrastructure Azure, ce qui permet à l’activité de se fondre dans le trafic normal et complique sa détection.
NomShub constitue au final une chaîne d’attaque en plusieurs étapes, qui va de l’injection de prompt à l’évasion du bac à sable, à la persistance et à l’accès distant, tout en s’appuyant sur des techniques de type living off the land qui détournent des binaires signés et de confiance comme cursor-tunnel.
Comme l’agent IA exécute ces étapes de manière autonome sous couvert d’un fonctionnement normal, l’attaque nécessite une interaction minimale de l’utilisateur tout en augmentant son impact potentiel.
Comment réduire les risques liés à l’IA
À mesure que les outils de développement propulsés par l’IA s’intègrent davantage aux flux de travail quotidiens, les organisations doivent repenser leur approche de la sécurité dans ces environnements.
Les contrôles traditionnels ne suffisent souvent pas à traiter les risques introduits par des agents autonomes capables d’interpréter des entrées non fiables et d’agir sur celles-ci.
La vulnérabilité NomShub souligne la nécessité d’une stratégie de défense en profondeur couvrant le comportement des développeurs, le renforcement des systèmes et les contrôles réseau.
- Traiter tous les dépôts et contenus assimilés par l’IA comme des entrées non fiables, et exiger l’approbation explicite d’un humain pour les actions à haut risque de l’agent avant leur exécution
- Limiter les capacités des agents IA en restreignant leurs autorisations, en imposant l’isolation du contexte et en désactivant les fonctionnalités superflues comme la tunnelisation distante
- Renforcer les environnements de développement en appliquant le principe du moindre privilège, une liste d’autorisation des applications et des protections pour les fichiers d’initialisation du shell comme .zshenv et .bashrc.
- Utiliser des environnements de développement éphémères ou conteneurisés pour empêcher la persistance et réduire l’impact des sessions compromises
- Mettre en place une surveillance robuste et une détection, notamment une analyse comportementale des actions pilotées par l’IA et l’examen des processus inhabituels ou des connexions sortantes
- Appliquer des contrôles réseau et d’identité tels que le filtrage sortant, l’accès conditionnel et des identifiants à courte durée de validité afin de limiter les accès distants non autorisés et l’exposition des identifiants
- Tester les plans de réponse aux incidents et utiliser des solutions de simulation d’attaques avec des scénarios portant sur l’injection de prompt, les instructions dangereuses générées par l’IA et d’autres scénarios d’exploitation de l’IA.
Ensemble, ces contrôles aident les organisations à renforcer leur résilience face aux menaces émergentes pilotées par l’IA tout en réduisant leur exposition.
L’IA élargit la surface d’attaque
NomShub met en évidence une évolution plus large : les attaquants ciblent désormais les couches d’automatisation en plus des vulnérabilités logicielles traditionnelles.
À mesure que les outils d’IA s’intègrent davantage aux flux de travail de développement, ils introduisent de nouveaux risques — en particulier lorsque des systèmes automatisés peuvent agir sur des entrées non fiables.
Cette tendance s’inscrit dans la continuité des activités liées à la chaîne logistique et du living off the land (LOTL), où les adversaires s’appuient sur des outils et des infrastructures légitimes plutôt que de déployer des logiciels malveillants facilement détectables.
Par conséquent, les organisations devront peut-être réévaluer leurs frontières de confiance et renforcer les contrôles encadrant la manière dont les outils pilotés par l’IA interprètent et exécutent les instructions.
Ces risques en évolution renforcent l’importance d’adopter des solutions zero trust qui vérifient en permanence les utilisateurs, les outils et les actions, plutôt que de supposer qu’un composant quelconque de l’environnement de développement est intrinsèquement sûr.





