Faille OpenCode : un serveur MCP malveillant exécute du code

Une faille OpenCode permettait à un serveur MCP malveillant d'exécuter du code sur Windows et WSL lors de la connexion.
Une faille OpenCode a mis en danger les développeurs qui utilisent cet agent de codage basé sur l’IA. En effet, un serveur MCP malveillant, ou détourné, pouvait exécuter du code sur une machine Windows ou WSL. Il suffisait que le développeur ouvre une session. Anomaly, l’éditeur d’OpenCode, a donc corrigé le problème dans la version 1.18.33, publiée en septembre.
Faille OpenCode : que s’est-il passé ?
OpenCode est un agent de codage qui s’appuie sur l’intelligence artificielle. Pour étendre ses capacités, il se connecte à des serveurs MCP (Model Context Protocol). Ainsi, ces serveurs lui fournissent des outils externes. Ils peuvent par exemple donner accès à des services, à des données ou à des fonctions supplémentaires.
Le défaut concernait précisément cette connexion. En effet, lors de l’authentification, un serveur MCP hostile pouvait déclencher l’exécution de code sur le poste du développeur. Autrement dit, le simple fait de se connecter à un serveur piégé suffisait à exposer la machine.
Le point le plus sensible tient aux droits obtenus. En effet, le code s’exécutait avec les mêmes accès que le développeur. Par conséquent, tout ce que cette personne peut lire ou modifier devenait accessible à l’attaquant.
Pourquoi les serveurs MCP posent question
Le protocole MCP s’est largement répandu dans les outils de développement assistés par l’IA. Il permet de brancher facilement un agent sur de nouveaux services. Toutefois, cette souplesse repose sur la confiance accordée au serveur distant.
Or un serveur MCP peut être malveillant dès l’origine. Il peut aussi être compromis après coup, par exemple à la suite du vol de comptes de son mainteneur. Dans les deux cas, l’agent client doit donc traiter ses réponses comme des données non fiables.
C’est ici que la faille prend toute sa portée. Un client exécute du code à partir d’une réponse du serveur. Ainsi, une simple connexion devient un point d’entrée. De plus, les développeurs testent souvent de nouveaux serveurs rapidement, sans vérification approfondie.
Windows et WSL : un risque pour les postes de développeurs
La vulnérabilité touchait les environnements Windows et WSL. Ce dernier désigne le sous-système Windows pour Linux, très utilisé pour développer. Par ailleurs, les deux univers cohabitent souvent sur la même machine.
Un poste de développeur est une cible de choix. En effet, il contient fréquemment :
- des clés d’accès à des dépôts de code ;
- des jetons d’API et des secrets de configuration ;
- des clés SSH et des identifiants cloud ;
- du code source propriétaire.
Un attaquant qui exécute du code avec les droits du développeur peut donc viser bien plus que la machine. En outre, il peut chercher à rebondir vers les dépôts, les services cloud ou la chaîne de livraison logicielle. C’est pourquoi ce scénario inquiète particulièrement les équipes de sécurité.
Les informations disponibles ne détaillent pas le mécanisme technique exact de l’exploitation. Elles ne mentionnent également aucun identifiant CVE. Il convient donc de s’en tenir à ce qui est établi. L’exécution de code était possible lors de la connexion. Le correctif existe.
Correctif et recommandations sur la faille OpenCode
Anomaly a publié la correction dans la version 1.18.33 d’OpenCode. Les utilisateurs doivent donc mettre à jour sans attendre. En effet, cette action reste la mesure la plus efficace pour fermer la porte à ce type d’attaque.
En complément, quelques réflexes limitent les risques liés aux serveurs MCP :
- Vérifier la provenance de chaque serveur MCP avant de s’y connecter.
- Éviter notamment les serveurs inconnus ou peu documentés, surtout sur une machine de travail.
- Retirer les serveurs MCP devenus inutiles de la configuration.
- Limiter également les droits et les secrets accessibles depuis le poste de développement.
- Isoler, par exemple, les tests de nouveaux outils dans une machine virtuelle ou un conteneur.
Par ailleurs, les équipes peuvent surveiller les processus lancés par les outils d’IA. Un comportement inattendu après une connexion à un serveur MCP doit alerter. Enfin, il est prudent de renouveler les jetons et les clés en cas de doute. Cela vaut pour toute connexion passée à un serveur douteux.
Ce qu’il faut retenir
- La faille d’OpenCode permettait à un serveur MCP malveillant ou détourné d’exécuter du code lors de la connexion.
- Les machines Windows et WSL étaient concernées.
- Le code s’exécutait avec les droits du développeur.
- Anomaly a corrigé le défaut dans la version 1.18.33, publiée en septembre.
- Par conséquent, la mise à jour et la prudence envers les serveurs MCP tiers restent indispensables.
Cet incident rappelle une règle simple. En effet, un agent d’IA connecté à des outils externes élargit la surface d’attaque. Il faut donc traiter chaque serveur MCP avec la même vigilance que n’importe quelle dépendance logicielle.
Source : OpenCode Flaw Lets Malicious MCP Servers Execute Code During Sign-In on Windows and WSL