L'injection de prompt est une vulnérabilité de sécurité dans les systèmes d'IA où des instructions cachées dans un contenu traité par le modèle, comme une page web, un document, un e-mail ou un résultat de recherche, sont interprétées et suivies par le modèle comme s'il s'agissait de commandes légitimes, pouvant ainsi outrepasser l'intention initiale du développeur ou de l'utilisateur. Le terme a été inventé en 2022 par le chercheur Simon Willison pour décrire des attaques analogues à l'injection SQL dans les logiciels traditionnels : dans les deux cas, une entrée non fiable n'est pas correctement séparée des instructions fiables, permettant à un attaquant de faire passer des commandes via un canal destiné uniquement aux données.
L'injection de prompt est devenue une préoccupation pratique nettement plus importante avec l'essor des agents d'IA et de l'utilisation d'outils, car un agent capable de naviguer sur le web, de lire des e-mails ou d'exécuter du code au nom d'un utilisateur peut rencontrer un contenu contrôlé par un attaquant et agir sur des instructions injectées avec des conséquences réelles, contrairement à un simple chatbot qui ne produit que du texte.
Injection directe ou indirecte
Les chercheurs en sécurité distinguent l'injection de prompt directe, où un utilisateur saisit directement des instructions adversariales dans un prompt et qui recoupe largement le jailbreaking, de l'injection de prompt indirecte, où les instructions malveillantes sont intégrées dans un contenu tiers que le modèle récupère ou reçoit pour traitement, comme une page web résumée par un assistant, un CV soumis à un outil de recrutement, ou un ticket de support traité par un agent automatisé. L'injection indirecte est généralement considérée comme le risque le plus grave car l'attaquant n'a pas besoin d'un accès direct au système d'IA, seulement la capacité de placer un contenu à un endroit que le système lira plus tard.
Exemples d'attaques
Les attaques documentées et démontrées incluent un texte caché dans une page web, invisible pour un lecteur humain mais lisible par le modèle, qui ordonne à un assistant de navigation IA de divulguer des données privées ou d'entreprendre une action non intentionnelle ; un document empoisonné dans un pipeline de génération augmentée par récupération qui amène le modèle à produire des informations fausses lorsque ce document est récupéré ; et des instructions malveillantes intégrées dans des commentaires de code rencontrés par un assistant de codage. Les chercheurs ont démontré des attaques de preuve de concept contre des produits commerciaux de navigation et d'agents IA, incitant les laboratoires à traiter ce problème comme une priorité.
Atténuations
Parce que l'injection de prompt exploite le fait que les modèles de langage traitent les instructions et les données via le même canal de texte en langage naturel, il n'existe pas de correctif technique complet analogue aux requêtes paramétrées en SQL. Les atténuations proposées et partielles incluent des garde-fous plus stricts et un filtrage des sorties, une séparation des privilèges qui limite les actions qu'un agent peut entreprendre sans confirmation explicite de l'utilisateur, l'entraînement des modèles à mieux distinguer les instructions système fiables du contenu récupéré non fiable, et le cloisonnement de l'accès aux outils. En 2025, l'injection de prompt restait un problème non résolu, activement étudié et un sujet standard dans les exercices de red teaming en IA, en particulier pour les produits construits sur le Model Context Protocol et des normes similaires qui connectent les modèles à des outils et des données externes.