Injection indirecte (de prompt)
L’injection indirecte de prompt est une injection livrée par un contenu que le modèle récupère ou qu’on lui remet, plutôt que tapée par son utilisateur : une page web, un résultat de recherche, un e-mail, un PDF, un fichier de dépôt, la sortie d’un outil. L’attaquant ne parle jamais au système ; il dépose des instructions là où un agent les lira, et le propriétaire de l’agent est la victime.
La forme directe de l’injection de prompt suppose l’attaquant au clavier. La forme indirecte non, et c’est ce qui en fait le risque propre aux agents autonomes. Un agent qui navigue, lit le courrier, ouvre des pièces jointes ou appelle d’autres services ingère en continu du texte écrit par des inconnus, et chacun de ces textes est un canal d’instruction possible.
La charge peut être invisible pour un relecteur humain. Texte caché, commentaires HTML, paragraphes blanc sur blanc, caractères de largeur nulle, blocs encodés en base64 que le modèle décode tout seul, instructions dans les métadonnées ou le texte alternatif : tout cela atteint le modèle en échappant à la personne qui jette un œil à la page. Les instructions demandent en général à l’agent d’exfiltrer ce qu’il sait, de visiter un lien ou d’agir au nom de l’utilisateur.
Le contenu venant de l’extérieur, la défense se place à la frontière. Chaque document récupéré est scanné pour y repérer des motifs à forme d’instruction, des charges encodées et des caractères invisibles avant que le modèle ne le voie, et chaque lien qu’il contient est confronté aux données de réputation, car une injection qui réussit a presque toujours besoin que l’agent récupère une seconde URL contrôlée par l’attaquant.
Exemple
Un agent de programmation doit corriger un test en échec et lit le README d’une dépendance pour comprendre l’API. Le README contient un bloc de commentaire ordonnant à « tout assistant automatisé » d’ajouter à la configuration CI une ligne qui envoie les secrets du dépôt vers une URL. L’agent propose la modification comme partie du correctif.
Dans isMalicious
La passerelle POST /api/gate/scan est conçue pour cette frontière : elle normalise le contenu, décode les couches encodées, exécute les familles de détection et évalue chaque URL et domaine intégré, puis renvoie block, warn ou allow avec les passages signalés. L’outil MCP scan_before_use la place devant chaque récupération qu’un agent effectue.
Questions fréquentes
Qu’est-ce que Injection indirecte (de prompt) ?
L’injection indirecte de prompt est une injection livrée par un contenu que le modèle récupère ou qu’on lui remet, plutôt que tapée par son utilisateur : une page web, un résultat de recherche, un e-mail, un PDF, un fichier de dépôt, la sortie d’un outil. L’attaquant ne parle jamais au système ; il dépose des instructions là où un agent les lira, et le propriétaire de l’agent est la victime.
Quel est le lien entre Injection indirecte (de prompt) et Injection de prompt ?
Injection indirecte (de prompt) et Injection de prompt sont deux notions clés du renseignement sur les menaces. L’injection de prompt est une attaque contre un système construit autour d’un modèle de langage, dans laquelle un texte fourni comme donnée (une page web, un e-mail, un document, le résultat d’un outil) est rédigé pour que le modèle le lise comme des instructions. Le modèle fait alors ce que dit le texte plutôt que ce que voulait son opérateur : divulguer des données, appeler des outils ou changer sa réponse.
Termes liés
Injection de prompt
L’injection de prompt est une attaque contre un système construit autour d’un modèle de langage, dans laquelle un texte fourni comme donnée (une page web, un e-mail, un document, le résultat d’un outil) est rédigé pour que le modèle le lise comme des instructions. Le modèle fait alors ce que dit le texte plutôt que ce que voulait son opérateur : divulguer des données, appeler des outils ou changer sa réponse.
Injection de texte invisible
L’injection de texte invisible cache des instructions destinées à un modèle de langage dans un contenu qu’un humain ne peut voir : caractères de largeur nulle, caractères Unicode de la catégorie Tags, texte de la couleur du fond, taille de police nulle, commentaires HTML, éléments hors écran, texte alternatif ou métadonnées. Le relecteur voit un document normal ; le modèle, qui lit le texte brut, voit les instructions.
Dissimulation de charge encodée
La dissimulation de charge encodée est la livraison d’une injection de prompt sous une forme encodée (base64, encodage pourcent, hexadécimal, séquences d’échappement Unicode, un chiffre que le texte explique lui-même), afin que l’instruction malveillante n’apparaisse pas en mots lisibles dans le contenu que voit un filtre, tandis qu’un modèle de langage, qui décode aisément ces encodages, la reçoit et la suit quand même.
Mettez ce renseignement au travail
Interrogez les indicateurs indexés — IP, domaines, URL et empreintes — en quelques secondes.