Qu'est-ce que l'injection de prompt ?
L'injection de prompt est une attaque dans laquelle des instructions malveillantes masquées dans l'entrée d'un modèle de langage détournent son comportement — l'amenant à ignorer ses règles, à divulguer des données ou à faire un mauvais usage des outils. Elle figure en tête du Top 10 de l'OWASP pour les applications LLM. La cause profonde est que les modèles ne peuvent pas séparer de manière fiable les instructions de confiance du contenu non fiable, de sorte que tout texte lu par un agent — une page web, un document, un résultat d'outil — peut véhiculer une attaque.
Définition
L'injection de prompt est une attaque de sécurité dans laquelle des instructions contradictoires intégrées dans une entrée non fiable amènent un modèle de langage à s'écarter de son comportement prévu, à contourner les garde-fous ou à effectuer des actions involontaires.
Points clés
- Le texte non fiable lu par un modèle peut contenir des instructions masquées.
- C'est le risque numéro 1 du Top 10 de l'OWASP pour les applications LLM.
- L'injection indirecte masque les charges utiles (payloads) dans des documents, des pages ou des sorties d'outils.
- Le risque augmente avec l'accès aux outils — l'injection peut déclencher des actions réelles.
- Il n'existe pas de solution unique ; la défense est multicouche (moindre privilège, isolation, approbation humaine).
Contexte
Les modèles suivent des instructions en langage naturel et ne peuvent pas distinguer de manière fiable les instructions système de confiance du contenu non fiable de l'utilisateur ou d'un document. Un attaquant exploite cela en plaçant des instructions telles que 'ignorez les instructions précédentes et...' là où le modèle les lira.
L'injection directe provient de l'utilisateur ; l'injection indirecte (et plus dangereuse) se cache dans le contenu récupéré par l'agent — une page web, un e-mail, un fichier, un résultat d'outil MCP. À mesure que les agents accèdent aux outils, une injection réussie peut exfiltrer des données ou entreprendre des actions préjudiciables.
Architecture
La défense est multicouche et ne repose pas sur un contrôle unique : autorisations d'outils selon le principe du moindre privilège, isolation et délimitation claire du contenu non fiable, validation des sorties et des actions, listes d'autorisation pour les opérations sensibles et approbation humaine (human-in-the-loop) pour les actions à fort impact.
Traitez toutes les sorties d'outils et de récupération comme des entrées non fiables. Surveillez et journalisez les actions de l'agent (observabilité) afin que les tentatives d'injection soient détectables, et effectuez régulièrement des simulations d'attaque (red-teaming) sur le système.
Composants
Risques
- Exfiltration de données de contextes sensibles ou d'identifiants.
- Actions d'outils non autorisées dans les systèmes connectés.
- Contournement des politiques de sécurité et des garde-fous.
- Attaques indirectes via des documents, des pages web ou des résultats d'outils.
Outils et technologies
Exemples
- Une page web lue par l'agent contient du texte masqué lui demandant d'envoyer des données privées par e-mail.
- Un document ordonne à un outil de synthèse d'ignorer ses règles et de générer un lien malveillant.
- Le résultat d'un outil tente de forcer un agent à appeler un autre outil qu'il ne devrait pas.
FAQ
- Pourquoi les modèles ne peuvent-ils pas simplement ignorer les instructions injectées ?
- Parce qu'ils ne peuvent pas distinguer de manière fiable les instructions de confiance du contenu non fiable — les deux se présentant sous forme de texte. Cette ambiguïté constitue la vulnérabilité principale.
- Qu'est-ce que l'injection de prompt indirecte ?
- C'est lorsque les instructions malveillantes sont masquées dans un contenu externe récupéré par le modèle — une page, un fichier, un e-mail ou une sortie d'outil — plutôt que saisies par l'utilisateur. Elle est souvent plus dangereuse.
- L'injection de prompt peut-elle être totalement évitée ?
- Pas par une mesure unique aujourd'hui. Vous réduisez les risques grâce à des défenses multicouches : moindre privilège, isolation du contenu, validation, surveillance et approbation humaine pour les actions sensibles.
- En quoi l'utilisation d'outils augmente-t-elle les enjeux ?
- Sans outils, l'injection produit principalement du texte erroné. Avec des outils, une instruction injectée peut entreprendre des actions réelles — envoyer des données, effectuer des modifications — de sorte que les autorisations et l'approbation revêtent une importance accrue.