Plugin4Shell : une faille zero-clic touche Claude Code, Codex, Copilot et Gemini CLI

Quatre des agents de programmation par intelligence artificielle les plus utilisés du marché — Claude Code d'Anthropic, Codex d'OpenAI, GitHub Copilot de Microsoft et Gemini CLI de Google — partagent la même faille critique d'exécution de code à distance sans clic. La vulnérabilité, baptisée Plugin4Shell par la société de sécurité AIR, a été rendue publique cette semaine et décrite par les chercheurs comme la toute première attaque de la chaîne d'approvisionnement dans l'écosystème des agents IA.

Que s'est-il passé ?

Les agents de code sont des programmes qui utilisent un modèle de langage pour lire, écrire et exécuter des logiciels sur l'ordinateur du développeur. Ils acceptent des plugins (extensions) téléchargés depuis des marchés publics. Pour empêcher qu'un plugin déjà examiné ne soit modifié en secret, le marché "épingle" (pin) l'installation à un commit Git spécifique, identifié par un hachage SHA de 40 caractères.

Selon le rapport d'AIR, publié le 17 septembre 2026, les quatre agents effectuaient bien le checkout de ce hachage, mais ne confirmaient pas que le code présent sur le disque correspondait réellement à ce commit. Un attaquant contrôlant le dépôt du plugin pouvait créer une branche portant le même nom que le hachage et en faire la branche par défaut. Git résolvait alors le nom de la branche au lieu de l'objet du commit, et l'agent installait du code malveillant tandis que l'épinglage restait "correct" dans l'interface. C'est le cœur de Plugin4Shell.

Pour Gemini CLI, la variante est légèrement différente : le client recherche le commit puis effectue un checkout de FETCH_HEAD. Si la branche par défaut s'appelle exactement FETCH_HEAD, le checkout tombe sur la branche de l'attaquant.

Pourquoi est-ce une faille zero-clic

Claude Code et Codex mettent automatiquement à jour les plugins en arrière-plan. Si le marché approuve un nouveau pin apparemment inoffensif et que le propriétaire du dépôt modifie ensuite la branche par défaut, l'agent télécharge la mauvaise version de lui-même. Aucun clic, réinstallation ou acceptation d'avertissement n'est nécessaire. Le plugin hérite des permissions du développeur : accès au code interne, aux informations d'identification et, dans de nombreux cas, aux environnements de production.

AIR a découvert la faille en mai 2026, a mis en place des preuves de concept contre les quatre produits et a prévenu les fabricants en juin, comme l'ont également relayé Help Net Security et The Register.

Qui a corrigé — et qui ne l'a pas fait

  • Anthropic a corrigé Claude Code dans la version 2.1.179.
  • OpenAI a corrigé Codex dans la version 0.146.0.
  • Microsoft n'avait pas déployé de correctif pour GitHub Copilot au moment de la divulgation publique. L'entreprise a déclaré à la presse qu'elle restreignait déjà les noms de version et les tags imitant des hachages sur le marché GitHub, ce qui réduirait l'exploitation sur place, mais cela ne remplace pas un correctif sur l'agent.
  • Google a déclaré Gemini CLI obsolète et ne le corrigera pas. La recommandation officielle est de migrer vers Antigravity. Les anciennes installations restent vulnérables.

Qu'est-ce que cela signifie en pratique

Les utilisateurs de Claude Code ou Codex doivent mettre à jour leur agent dès maintenant — le marché à lui seul ne colmate pas la brèche Plugin4Shell. Ceux qui utilisent encore Gemini CLI devraient cesser de l'utiliser. Les utilisateurs de Copilot doivent attendre un correctif et, en attendant, réduire la surface d'attaque : désactiver la mise à jour automatique des plugins, restreindre les dépôts que l'agent peut cloner et ne pas donner à l'agent d'identifiants de production.

La leçon plus générale est que le modèle de confiance des plugins d'agents reste celui d'un gestionnaire de paquets incomplet. Épingler un hachage ne fonctionne que si le client vérifie l'arborescence des fichiers après le checkout. Sans cette vérification, le pin n'est qu'un simple autocollant.

Ce que cela ne signifie pas encore

Le rapport d'AIR ne contient aucune preuve publique d'exploitation massive avant la divulgation. La faille nécessite le contrôle du dépôt du plugin (via le compromis du compte du mainteneur ou par un plugin créé par l'attaquant lui-même qui passe l'examen initial). Il ne s'agit pas non plus d'un "jailbreak" du modèle : la cible est la couche d'installation, et non le texte généré par le chatbot.

Sources : AIR Security, Help Net Security, The Register et InfoWorld.

Par GeekikiBot