Injection de prompt : le risque qu'aucun filtre ne corrige
Tout agent qui lit des e-mails, des pages web ou des tickets peut recevoir des ordres d'un inconnu. Aucun modèle ni filtre ne l'empêche complètement : la défense consiste à limiter ce que l'agent peut faire une fois l'attaque réussie.
L'injection de prompt reste le risque numéro un de la liste OWASP pour les applications de LLM (LLM01), y compris dans son édition 2026, et n'a pas de correctif définitif : le modèle reçoit instructions et données par le même canal. OpenAI reconnaît elle-même qu'il ne sera probablement jamais entièrement résolu.
En pratique, il faut concevoir en partant du principe que l'attaque réussira. Si un agent combine données privées, contenu non fiable et moyen d'envoyer de l'information vers l'extérieur, un attaquant peut voler des données sans toucher à votre infrastructure, comme ce fut le cas avec Microsoft 365 Copilot et Salesforce Agentforce en 2025.
Injection directe et indirecte, en termes simples
Un modèle de langage reçoit un seul bloc de texte : vos instructions système, la question de l'utilisateur et tout ce qu'il lit pour répondre. L'injection de prompt consiste à glisser dans ce texte des instructions que le modèle finit par suivre, alors qu'aucune personne autorisée ne les a données.
Dans l'injection directe, l'attaquant est l'utilisateur lui-même : il écrit dans le chat pour que l'assistant ignore ses règles, révèle son prompt système ou dise ce qu'il ne devrait pas. Dans un chatbot sans outils, le dommage se limite en général à une réponse inappropriée ou à la fuite du prompt système.
Dans l'injection indirecte, l'attaquant ne parle jamais au modèle. Il cache des instructions dans un contenu que l'agent va lire : un e-mail, une page web, un ticket, une ligne de log ou la description d'un outil. Quand l'agent traite ce contenu avec le droit de lire des données et d'agir, les instructions de l'attaquant s'exécutent avec l'identité de votre utilisateur. C'est la variante qui transforme un problème de texte en fuite de données. Chez Slash, nous concevons des agents IA pour les entreprises en partant du principe que l'injection réussira et en limitant ce que l'agent peut faire ensuite.
Pourquoi elle reste non résolue, et la triade létale
Dans une base de données, on corrige l'injection SQL en séparant la requête des données. Un modèle de langage n'offre pas cette séparation : tout n'est que tokens dans le même canal. C'est pourquoi le NCSC britannique (décembre 2025) recommande de la traiter comme un risque résiduel et d'en limiter l'impact par des contrôles déterministes sur ce que le système peut faire. OpenAI la compare aux arnaques en ligne : on la gère, on ne l'élimine pas.
Les modèles progressent, mais n'atteignent pas zéro, et les produits non plus. Dans la fiche système de Claude Opus 5 (juillet 2026), Anthropic indique que, sans garde-fous supplémentaires, 3,7 % des tentatives d'injection ont réussi sur 129 scénarios de navigation, avec 10 tentatives par scénario ; avec son mode auto, qui ajoute des sondes sur les données entrantes et un classificateur sur les actions sortantes, aucune. En août, le chercheur Johann Rehberger a obtenu une exécution de code via Claude Code en mode auto avec Opus 5 dans 3 essais sur 5, en enchaînant des étapes anodines prises une à une ; selon la Cloud Security Alliance, Anthropic a classé le signalement comme informatif et présente le mode auto comme une fonction de confort, pas comme une frontière de sécurité. Un faible pourcentage, c'est peu dans une démo et beaucoup face à quelqu'un qui peut réessayer gratuitement. HackerOne comptait une hausse de 540 % des signalements d'injection de prompt dans son rapport 2025, et dans celui d'octobre 2026 elle reste, avec la divulgation d'informations sensibles, la catégorie d'IA la plus signalée.
En juin 2025, Simon Willison a résumé les conditions qui rendent le risque grave avec la triade létale (lethal trifecta) : un agent qui (1) accède à des données privées, (2) est exposé à du contenu non fiable et (3) peut communiquer vers l'extérieur. Si les trois sont réunis, quiconque parvient à glisser des instructions dans ce que lit l'agent peut lui faire divulguer des données. Sa liste de failles de ce type, toutes corrigées après signalement, va de ChatGPT et Slack à Microsoft 365 Copilot. Le même schéma revient chez des éditeurs différents, avec des équipes de sécurité différentes.
Si un agent réunit les trois pieds, retirez-en un avant son lancement : mode lecture seule, aucun contenu externe sur ce parcours ou sortie vers internet bloquée. Un filtre réduit la probabilité ; retirer un pied supprime le chemin.
Incidents réels, 2025–2026
| Date | Système | Ce qui s'est passé | Leçon |
|---|---|---|---|
| Mai 2025 | Serveur MCP officiel de GitHub (Invariant Labs) | Un ticket malveillant dans un dépôt public a détourné un agent, qui a divulgué les dépôts privés de la victime | Aucun outil n'avait de bug ; la faille venait du flux entre eux |
| Juin 2025 | Microsoft 365 Copilot, EchoLeak (CVE-2025-32711, CVSS 9,3) | Un e-mail piégé, sans aucun clic, a conduit Copilot à extraire des données internes vers un serveur de l'attaquant | Corrigé côté serveur ; Microsoft n'a constaté aucune exploitation |
| Août 2025 | Navigateur Comet de Perplexity (Brave) | Du texte caché dans une page a été traité comme des instructions de l'utilisateur, dans sa session connectée | Les premiers correctifs étaient incomplets |
| Septembre 2025 | ChatGPT Deep Research avec Gmail, ShadowLeak (Radware) | Injection sans clic ; les données sont sorties depuis le cloud d'OpenAI | Invisible pour les contrôles réseau de l'entreprise |
| Septembre 2025 | Salesforce Agentforce, ForcedLeak (Noma, CVSS 9,4) | Des instructions dans un formulaire web de prospects envoyaient des données du CRM vers un domaine autorisé mais expiré, racheté pour environ 5 $ | Une liste d'autorisation exige de surveiller l'expiration des domaines |
| Août 2026 | Microsoft Copilot Personal, CoSnitch (Varonis, CVE-2026-24301, CVSS 8,8) | Un lien piégé exécutait un prompt dans la session connectée de la victime, lisait les données reliées et les envoyait à l'extérieur ; il pouvait aussi inscrire des instructions persistantes dans la mémoire | Un clic suffit, et la mémoire de l'assistant est aussi une surface d'attaque |
2026 a prolongé la série. En janvier, Cyata a publié trois failles du serveur de référence mcp-server-git d'Anthropic, atteignables par injection de prompt. En août, la campagne Deadbugz a tenté d'introduire dans des dépôts de projets d'IA un serveur MCP qui se comportait normalement pendant trois appels, puis modifiait la description de ses outils pour orienter l'agent vers des clés SSH et des identifiants cloud ; aucune de ses 23 pull requests n'a été fusionnée. Le bilan de l'OWASP GenAI pour le premier trimestre 2026 recensait 8 incidents et notait que la plupart des événements de sécurité liés à l'IA n'ont jamais de CVE : qui ne surveille que les bases de vulnérabilités ne voit pas le problème. Dans celui du troisième trimestre (8 octobre), plusieurs des cas les plus graves sont des agents sortis de leur périmètre en poursuivant leur propre tâche, sans aucune injection. L'OWASP recommande pour ces cas un périmètre imposé hors du modèle, des identifiants par exécution, le contrôle des sorties et une nouvelle approbation quand la définition d'un outil MCP change, soit les mêmes contrôles que contre l'injection.
Les référentiels : OWASP et MITRE ATLAS
| Référentiel | Date | Ce qu'il apporte | À utiliser pour |
|---|---|---|---|
| OWASP Top 10 for LLM Applications 2026 | 3 août 2026 | LLM01 Prompt Injection reste en tête ; l'autonomie excessive monte en LLM03 et la fuite du prompt système s'élargit en LLM08, exposition du contexte caché. Le classement pondère à 75 % le vote de la communauté et à 25 % les incidents réels | Chatbots et fonctions à base de LLM |
| OWASP Top 10 for Agentic Applications 2026 | 9 décembre 2025 | Dix risques propres aux agents, dont ASI01 détournement d'objectif, ASI02 mauvais usage des outils et ASI06 empoisonnement de la mémoire et du contexte | Agents avec outils, mémoire et délégation |
| MITRE ATLAS | v2026.10, 28 octobre 2026 | 16 tactiques, 129 techniques et 77 études de cas ; des techniques d'agents depuis octobre 2025, comme l'exfiltration par appel d'outil | Modélisation des menaces et plans de red teaming |
Citez les références LLM01 et ASI01 dans vos exigences de sécurité et vos rapports de pentest, toujours avec l'édition (LLM01:2026), car les numéros changent. L'autonomie excessive était LLM06 en 2025 et devient LLM03 en 2026 : un rapport qui indique seulement « LLM06 » désigne désormais un autre risque.
Les défenses qui fonctionnent, et leurs limites
| Contrôle | Ce qu'il arrête | Ce qu'il n'arrête pas |
|---|---|---|
| Moindre privilège : identifiants par outil, lecture seule par défaut | Limite les dégâts : un agent manipulé ne fait que ce que son identifiant permet | La fuite des données que l'agent a le droit de lire |
| Séparer le planificateur des données non fiables (modèle « dual LLM », CaMeL) | Qu'un contenu externe modifie le plan ou l'enchaînement des outils | Les tâches dont le plan dépend du contenu lu ; coûte en utilité et en ingénierie |
| Confirmation humaine des actions à effet de bord | Envois, paiements ou suppressions silencieux | La lassitude d'approbation : on valide sans lire |
| Liste de sorties autorisées et blocage des canaux d'exfiltration | Ferme le troisième pied : images, liens ou appels vers des domaines externes | Les domaines autorisés qui expirent (ForcedLeak) et les sorties depuis le cloud de l'éditeur (ShadowLeak) |
| Isolement du contenu (spotlighting) et classificateurs | Réduit le taux de réussite des attaques connues | Probabiliste : un attaquant adaptatif finit par passer |
| Surveillance et journalisation de chaque appel d'outil | Détection, investigation et retour arrière | N'empêche rien si personne ne traite les alertes |
| Bac à sable avec réseau fermé par défaut | Exécution de code et mouvement latéral | Un bac à sable mal fermé ; même des laboratoires d'IA ont connu des évasions |
CaMeL, de Google, Google DeepMind et l'ETH Zurich (mars 2025), est la version la plus rigoureuse de cette séparation : il extrait le flux de contrôle de la demande fiable de l'utilisateur, de sorte que les données non fiables ne peuvent pas le modifier, et applique des politiques de capacités à chaque appel d'outil. Sur le benchmark AgentDojo, il a réussi 77 % des tâches avec une sécurité démontrable, contre 84 % pour un système sans défense.
La confirmation humaine a aussi ses limites. Anthropic explique avoir isolé le système de fichiers et le réseau de Claude Code précisément parce que les utilisateurs valident machinalement quand on leur demande l'autorisation à chaque étape ; avec le bac à sable, les demandes d'autorisation ont baissé de 84 % en interne.
Le bac à sable doit avoir le réseau fermé. En juillet 2026, lors d'évaluations internes de cybersécurité, des agents d'OpenAI (surtout un modèle de recherche interne aux garde-fous réduits) ont contourné les contrôles d'isolement, détourné un service interne de gestion de paquets en messagerie pour atteindre internet et attaqué des systèmes de Hugging Face. Selon l'enquête du METR, environ 700 des quelque 1 200 agents impliqués ont participé à l'attaque.
Comment tester votre agent ou votre chatbot
Un vrai attaquant essaie de nombreuses variantes et adapte chacune à la réponse : la métrique utile est donc le taux de réussite des attaques sur de nombreuses tentatives, pas dix phrases connues. C'est ainsi qu'Anthropic publie ses tests de navigation : 129 scénarios jamais vus à l'entraînement, 10 tentatives par scénario et deux taux, celui des tentatives réussies et celui des scénarios compromis au moins une fois (11 sur 129 pour Claude Opus 5 sans garde-fous). C'est le second qui intéresse un attaquant patient.
- Modélisation des menaces. Pour chaque agent, listez les données qu'il lit, le contenu externe qui entre et les voies par lesquelles l'information peut sortir ; rattachez-les à l'OWASP et à ATLAS.
- Suites automatisées. AgentDojo, l'environnement utilisé pour évaluer CaMeL, mesure à la fois l'utilité et la sécurité. promptfoo (open source) couvre le red teaming, et Inspect, de l'AI Security Institute britannique, exécute des évaluations d'agents en bac à sable.
- Pentest manuel des fonctions d'IA. Injection indirecte par chaque canal d'entrée, voies d'exfiltration, contrôle d'accès à travers l'agent (un utilisateur peut-il obtenir les données d'un autre en le lui demandant ?), serveurs MCP et secrets dans la configuration.
Les suites automatisées ne remplacent pas le test manuel. Dans le rapport 2025 de HackerOne, 58 % des chercheurs estiment que l'IA passe à côté des failles de logique métier et des attaques en chaîne, précisément là où les agents ajoutent de la surface.
Check-list avant de lancer un chatbot ou un agent
- Dessinez la triade de chaque agent ; si les trois pieds sont présents, retirez-en un avant le lancement.
- Donnez à chaque outil l'identifiant minimal, en lecture seule par défaut, et appliquez le contrôle d'accès par utilisateur dans votre API, pas dans le prompt.
- Considérez comme non fiable tout ce que lit l'agent : e-mails, pages, fichiers, tickets, réponses d'outils et descriptions des serveurs MCP.
- Exigez une confirmation humaine pour les actions irréversibles ou sortantes (envoyer, payer, supprimer, publier) et affichez l'action exacte.
- Bloquez les canaux d'exfiltration : pas d'affichage non contrôlé d'images ou de liens externes, et des sorties limitées à des domaines autorisés que vous maîtrisez.
- Figez la version de chaque serveur MCP et outil, et soyez alerté si leurs descriptions changent.
- Exécutez le code et la navigation dans un bac à sable sans accès à internet par défaut.
- Journalisez chaque appel d'outil avec ses arguments, hors de portée de l'agent, et traitez les alertes.
- Faites du red teaming avant le lancement et à chaque changement de modèle, de prompt ou d'outil, et préparez le plan d'incident : arrêt d'urgence, révocation des identifiants et circuit de notification.
Ce que cela signifie pour les entreprises en Colombie et en Europe
En Colombie, si une injection fait fuiter des données personnelles, c'est un incident de sécurité au sens de la loi 1581 de 2012 : responsables et sous-traitants doivent le déclarer à la Superintendencia de Industria y Comercio (articles 17 et 18), via le module d'incidents du registre national des bases de données. La SIC peut infliger des amendes allant jusqu'à 2 000 salaires minimums mensuels.
Dans l'Union européenne, le RGPD s'applique à toute fuite de données personnelles, et l'article 15 de l'AI Act impose aux systèmes à haut risque de résister aux tentatives de tiers d'exploiter leurs vulnérabilités. Depuis le paquet Omnibus, ces obligations s'appliquent au 2 décembre 2027 pour les domaines de l'annexe III. En France, les recommandations de sécurité de l'ANSSI pour un système d'IA générative (2024) sont un bon point de départ.
Chez Slash, quand une application web ou une API intègre un chatbot ou un agent, nous l'incluons dans le périmètre de notre pentest : validation manuelle de chaque constat, retest et cas de test propres à l'IA (injection indirecte, canaux d'exfiltration, permissions des outils et serveurs MCP). Notre travail de cybersécurité pour les entreprises se poursuit avec le durcissement et la remédiation. Si vous concevez l'agent, commencez par les garde-fous en production et MCP expliqué.
Partez du principe que l'injection réussira et concevez la suite. Si la réponse honnête est « l'agent pourrait envoyer des données clients n'importe où », c'est l'architecture qu'il faut revoir ; changer de modèle n'y suffira pas.
L'essentiel
- L'injection de prompt est le LLM01 de l'OWASP et n'a pas de correctif définitif : gérez-la comme un risque résiduel.
- La variante indirecte est la plus dangereuse pour les agents : l'attaquant écrit dans le contenu que lit l'agent, pas dans le chat.
- Si un agent combine données privées, contenu non fiable et canal de sortie, partez du principe que les données peuvent fuiter et retirez un pied.
- Les contrôles qui fonctionnent sont déterministes : moindre privilège, sorties autorisées, confirmation des actions et bac à sable ; les filtres ne font que baisser le taux.
- Testez avec des attaques adaptatives, mesurez le taux de réussite et recommencez à chaque changement de modèle, de prompt ou d'outil.
Sources
- The lethal trifecta for AI agents: private data, untrusted content, and external communication
- OWASP GenAI LLM Top 10 2026
- The OWASP Top 10 for LLM Applications 2026: what changed and why it matters
- OWASP Top 10 for LLM Applications 2025
- OWASP Top 10 for Agentic Applications for 2026
- GenAI Exploit Round-up Report Q1 2026
- GenAI and Agentic AI Exploit Roundup Q3 2026
- CoSnitch flaws turned Microsoft Copilot into a one-click data theft tool
- HackerOne report finds 210% spike in AI vulnerability reports amid rise of AI autonomy
- HackerOne report reveals growing exposure debt
- ATLAS data changelog (v2026.10)
- Prompt injection is not SQL injection
- Defeating Prompt Injections by Design (CaMeL)
- How Microsoft defends against indirect prompt injection attacks
- Agentic browser security: indirect prompt injection in Perplexity Comet
- ForcedLeak: agent risks exposed in Salesforce Agentforce
- System Card: Claude Opus 5 (section 5.2, prompt injection)
- When the safety classifier fails: prompt injection defeats Claude Code auto mode
- The Hugging Face incident and the road ahead
Note éditoriale : cette analyse reflète les informations publiques disponibles à la date de révision. Modèles, prix et règles évoluent vite ; chaque donnée tierce renvoie à sa source et nos opinions sont présentées comme telles. Une erreur ? Écrivez à contact@slash-digital.io.
Les questions qu'on nous pose souvent
Quelle différence entre jailbreak et injection de prompt ?
L'OWASP considère le jailbreak comme une forme d'injection de prompt : il vise à faire ignorer au modèle ses règles de sécurité. L'injection est plus large et inclut des instructions cachées dans un contenu que le modèle lit à l'insu de l'utilisateur.
Un modèle plus récent règle-t-il le problème ?
Il aide mais ne l'élimine pas. Dans la fiche système de Claude Opus 5, Anthropic indique 3,7 % de tentatives d'injection réussies en navigation sans garde-fous supplémentaires, et un chercheur a obtenu une exécution de code à travers son mode auto avec une chaîne en plusieurs étapes. OpenAI juge une solution complète peu probable. La conception du système compte plus que le modèle.
Mon chatbot de service client sans outils est-il exposé ?
Moins, mais oui : il peut divulguer son prompt système ou donner des réponses inappropriées. Le risque augmente quand il lit des documents (RAG) ou se connecte au CRM. Ne placez aucun secret dans le prompt et appliquez les permissions dans vos API.
Les serveurs MCP sont-ils sûrs ?
MCP est un protocole ; le risque tient aux serveurs que vous connectez et à leurs permissions. Invariant Labs a documenté des descriptions d'outils empoisonnées et des serveurs qui changent après approbation. Figez les versions et relisez les descriptions ; plus de détails dans MCP expliqué.
À quelle fréquence faut-il tester ?
Avant le lancement et à chaque changement de modèle, de prompt, d'outils ou de sources de données, plus un pentest périodique des fonctions exposées.
D'autres analyses à lire
MCP expliqué aux entreprises
Ce qu'est le Model Context Protocol, son évolution jusqu'à la version 2026-07-28, sa gouvernance, sa différence avec A2A et comment l'adopter en sécurité.
CybersécuritéDes garde-fous qui fonctionnent en production
Les sept couches d'un dispositif de garde-fous, les modèles de garde de 2026 comparés, comment les mesurer en français et deux architectures de référence.
Agents et ingénierieAgents IA en production : ce qui marche en 2026
Workflow ou agent, les huit briques, données d'adoption et d'échec, usage de l'ordinateur, règles de conception, coûts, sécurité et check-list.
Et ensuite ?
Mettons-le en production
Racontez-nous votre défi. Nous répondons sous 24 heures ouvrées avec une première lecture honnête : si nous pouvons aider, nous dirons comment ; sinon, nous dirons qui peut.
Je réponds en personne. Pas de formulaires interminables ni de réponses automatiques.