3 min de lecture
~4 minutes
Adversa AI montre qu’un agent de code qui déchiffre lui-même un texte piégé transforme ce texte en instruction de confiance : 28 secondes pour voler un .env.prod, sans CVE, sans correctif, et un éditeur qui classe le comportement comme attendu.
Les filtres anti-injection de prompt partent tous du même principe : l’instruction malveillante est lisible quelque part. Un « ignore les consignes précédentes » planqué dans un commentaire ou une page, on sait le chercher, le scorer, le bloquer. Reste le cas où l’instruction n’existe pas encore quand le contenu entre dans le système, parce que c’est l’agent qui la fabrique quelques secondes plus tard, en obéissant à la lettre : on lui a demandé de déchiffrer un fichier, il déchiffre.
Note du PandaRedacteur : un filtre qui lit du texte chiffré inspecte un coffre-fort fermé. Il valide la serrure, pas le contenu.
Un papier passé inapercu ou presque
Le 6 octobre 2026, Adversa AI a publié une recherche sur GitHub Copilot CLI qu’elle baptise Cryptographic Context Injection (CCI). GBHackers l’a relayée le lendemain. Les faits tiennent en six points, et chacun reste a attribué à Adversa :
- La technique : des instructions malveillantes sont cachées dans un texte chiffré. L’agent le déchiffre dans son propre environnement d’exécution de code, puis traite le résultat comme un contexte de confiance. Formule de la source primaire : « cryptography manufactures trusted context ».
- Le résultat : vol d’un fichier
.env.prodlocal et exfiltration vers un serveur de l’attaquant, en 28 secondes. - Les conditions : mode autopilote et modèle permissif. Les chercheurs ne revendiquent ni contournement d’une confirmation interactive, ni compromission en un clic.
- Les modèles : selon Adversa,
mai-code-1.1-flash(Microsoft) mène la chaîne à son terme dans 50 % des essais ; deux modèles GPT-5.6 proposés dans Copilot refusent systématiquement la même charge utile. - Le statut : aucun CVE, aucune version précisée, aucun correctif. Signalé le 17 septembre au programme de bug bounty de GitHub, le constat a été validé mais non classé comme vulnérabilité, sans prime. Le 1er octobre, la chaîne était toujours reproductible.
- Ce qui manque : les charges utiles sont gardées au secret. Impossible donc de rejouer l’attaque ou de vérifier les pourcentages et les noms de modèles. A vous de tester et de faire votre propre avis en fonction de votre capacité
Au menu de la version abonnés
Au Menu de la version abonnés, vous retrouvez la suite :
- le scénario complet en cinq étapes, avec le diagramme de séquence du leurre à deux clés (vraie clé, fausse clé, vol pendant l’étape qui échoue) ;
- les quatre vecteurs qui font passer l’attaque : le chiffrement comme passe-partout, la fausse clé, le routeur Auto et le résumé menteur ;
- le tableau de comparaison entre la CVE-2026-70335 et la CCI, et ce que l’absence d’identifiant change dans votre gestion des risques ;
- l’analyse STRIDE et le tableau d’impact détaillés ;
- les six mitigations à mettre en place sans attendre un correctif de l’éditeur, de la journalisation des arguments résolus à la fermeture de la sortie réseau ;
- un aperçu du contenu premium : détecteur de séquence, politique de sortie réseau, audit du routage de modèles et test de non-régression sur les secrets ;
- et la sketchnote du PandaRedacteur résumant tout cela en anglais.
Le scénario, les vecteurs, le STRIDE et les mitigations partent d'abord aux abonnés Substack, avant d'être publiés intégralement ici.
📚 Quelques références pour aller plus loin
- GBHackers : GitHub Copilot CLI, injection de prompt chiffrée
- Adversa AI : Cryptographic Context Injection dans GitHub Copilot CLI (source primaire)
- OWASP : LLM01 Prompt Injection
- CVE-2026-70335 : une page web piégée fait exécuter des commandes à Copilot dans VS Code
- Taxonomie de la prompt injection dans les référentiels publics
- Mode YOLO et agents IA : les bonnes pratiques
- Comment and Control : issues GitHub, CI et secrets
- Plugin4Shell : le pinning par SHA ne vérifiait rien dans quatre agents de code
- Zero Trust pour les agents IA : on commence par l’inventaire