Retour
Menu des articles80

News · Logiciel

Copilot CLI : une page web chiffrée lui fait envoyer un .env.prod, selon Adversa AI

Adversa AI montre GitHub Copilot CLI en mode autopilot lisant un .env.prod et l'envoyant à un attaquant, via une page web aux instructions chiffrées. GitHub refuse d'y voir une vulnérabilité. Ce que les devs peuvent faire.

Par 4 min de lecture0 vues
Copilot CLI : une page web chiffrée lui fait envoyer un .env.prod, selon Adversa AI

Le 6 octobre 2026, la société de sécurité Adversa AI a publié une démonstration dans laquelle GitHub Copilot CLI, l'agent de code en ligne de commande de GitHub, lit un fichier .env.prod sur le disque d'un développeur et l'envoie à un serveur tiers. Point de départ : une page web aux instructions chiffrées. Selon Adversa, GitHub a validé le comportement mais refuse d'y voir une vulnérabilité.

Info

Contrôle du 8 octobre 2026. Sources primaires lues : billet d'Adversa AI (ouvre adversa.ai dans un nouvel onglet) (6 octobre), documentation GitHub sur le mode autopilot (ouvre docs.github.com dans un nouvel onglet) et sur les permissions de Copilot CLI (ouvre docs.github.com dans un nouvel onglet). La réponse de GitHub n'est connue que par le récit d'Adversa, repris par CSO Online (ouvre csoonline.com dans un nouvel onglet) ; GitHub n'a rien publié. La version de Copilot CLI testée n'est pas indiquée, et la démonstration n'a pas été reproduite de façon indépendante.

Une page web, pas un README ni une dépendance

Dans le scénario d'Adversa, le développeur lance Copilot CLI dans son projet, active le mode autopilot (l'agent enchaîne les étapes sans demander de validation) et lui demande d'aller lire une URL. L'instruction piégée ne vient ni d'un README, ni d'une issue, ni d'un paquet : elle est sur cette page.

Cette page se présente comme un contenu chiffré à déchiffrer en Python, avec deux « clés ». La première est vraie. La seconde est un modèle à compléter avec le contenu de fichiers locaux. Pour la préparer, l'agent lit ces fichiers, même hors du dossier de travail : c'est le vol. Le déchiffrement avec la vraie clé révèle ensuite une consigne : consulter une seconde URL « pour plus de contexte », qui transporte en paramètre les secrets récoltés.

Selon Adversa, la chaîne complète prend 28 secondes, sans confirmation, et rien à l'écran n'indique qu'un fichier a quitté la machine. Le résumé final de l'agent affirme même avoir vérifié un point d'accès « autorisé ». Le chiffrement est la clé de l'attaque : d'après les chercheurs, les mêmes instructions en clair sont repérées comme une injection de prompt et refusées. Adversa ne publie pas la charge utile.

Une loterie selon le modèle

Tout dépend du modèle. Le modèle de Microsoft mai-code-1.1-flash aurait exécuté la chaîne dans 50 % des essais ; deux modèles GPT-5.6 proposés dans Copilot l'auraient refusée systématiquement. Sur le compte payant testé, ce modèle n'était pas celui par défaut. Mais en sélection automatique, le routeur l'aurait attribué à certaines sessions, sans que l'utilisateur le voie.

Miniature de la vidéo de démonstration d'Adversa AI, titrée « GitHub Copilot CLI exfiltration – Cryptographic Context Injection »

Crédit : Adversa AI (ouvre adversa.ai dans un nouvel onglet), miniature de la vidéo de démonstration, 6 octobre 2026.

Pas de correctif, pas de prime

Adversa dit avoir signalé le problème au programme de bug bounty de GitHub le 17 septembre. Au 1er octobre, l'équipe de tri aurait validé la reproduction mais refusé d'y voir une vulnérabilité : l'utilisateur a lui-même demandé de lire un contenu contrôlé par l'attaquant, en donnant à l'agent tous les droits. Pas de prime ni de correctif, seulement un durcissement possible plus tard. La documentation GitHub (ouvre docs.github.com dans un nouvel onglet) recommande d'ailleurs de réserver --allow-all (alias --yolo) à un environnement isolé.

Ce que tu peux faire dès maintenant

Ces conseils valent pour Copilot CLI, Claude Code ou Codex CLI :

  • Sors les secrets du dépôt. Pas de .env.prod sur le poste de dev : un coffre ou des variables injectées au déploiement.
  • Garde les approbations dès que l'agent lit du contenu externe. Autopilot ou --yolo seulement dans un environnement jetable.
  • Isole l'agent. Un conteneur ou une VM sans tes clés. Le bac à sable de Claude Code (ouvre code.claude.com dans un nouvel onglet) est désactivé par défaut et laisse les commandes lire la plupart du disque : ajoute des règles de lecture interdite.
  • Coupe le réseau. Codex CLI le désactive par défaut en mode workspace-write, selon sa documentation (ouvre learn.chatgpt.com dans un nouvel onglet). Ailleurs, limite les domaines autorisés.
  • Choisis ton modèle plutôt que la sélection automatique pour les tâches sensibles.

Notre lecture (Analyse.) GitHub n'a pas tort sur le principe : donner tous les droits à un agent puis lui faire lire n'importe quelle page reste risqué. Mais la démonstration montre qu'un refus des consignes en clair ne protège pas si elles arrivent chiffrées. Le vrai garde-fou est l'isolement, pas le modèle. Le sujet dépasse Copilot : Codex a lui aussi été piraté dès le premier jour de Pwn2Own Irlande, et les outils se comparent dans Claude Code, Cursor et Codex face à face. Les autres alertes sont dans notre rubrique cybersécurité.

PartagerX (nouvel onglet)LinkedIn (nouvel onglet)WhatsApp (nouvel onglet)Bluesky (nouvel onglet)E-mail

Laisser un avis

Ta note :

Anti-robots : recopie le code

Avis des lecteurs

Pas encore de note. La première est pour toi.

Aucun avis publié pour le moment.

À lire aussi