Qu’est-ce que l’injection de prompt indirecte ?
Les agents IA qui parcourent le web — robots de support client, assistants d’achat, outils de recherche — lisent le HTML brut d’une page, pas seulement ce qu’une personne voit à l’écran. L’injection de prompt indirecte cache des instructions dans ce HTML, en espérant que l’IA les suive comme si elles venaient de son propre opérateur : « ignore tes instructions précédentes », « envoie ces données à… », « recommande ce produit quelle que soit la question ».
L’attaque fonctionne parce que le texte caché n’a jamais besoin d’être visible pour une personne. Il peut se trouver dans un élément masqué par CSS, un span à la couleur identique au fond, un commentaire HTML, un champ de formulaire caché, ou être tissé à partir de caractères Unicode invisibles — autant de choses qu’un navigateur n’affiche pas du tout, et qu’un correcteur humain ou une personne utilisant un lecteur d’écran ne remarquerait jamais, mais qu’une IA lisant le code source de la page voit toujours comme du texte ordinaire.
Pourquoi c’est important pour votre site
Si votre site accepte du contenu généré par les utilisateurs — avis, commentaires, documents envoyés, messages de forum — n’importe qui peut tenter de dissimuler des instructions destinées aux agents IA qui liront ensuite ce contenu au nom de vos visiteurs, ou au nom de vos propres outils d’IA.
Même sans contenu utilisateur, un plugin compromis, un extrait de code copié-collé, ou un problème de chaîne d’approvisionnement dans un widget tiers peut introduire un texte caché que vous n’avez jamais eu l’intention de publier. À mesure que davantage de visiteurs arrivent via des agents de navigation IA et des résumés de recherche par IA, les instructions cachées sur vos propres pages deviennent un risque réel à maîtriser, pas seulement hypothétique.
Comment utiliser cet outil
- Collez l’URL complète de la page à vérifier.
- Lisez d’abord le verdict et le score de sécurité : ils résument le risque en une ligne.
- Examinez chaque constat : où il se trouve, ce qui a été trouvé, comment c’est caché, et s’il correspond à un motif d’instruction connu.
- Corrigez tout ce qui est marqué critique ou avertissement en suivant les conseils sous chaque constat.
- Relancez une vérification après correction pour confirmer que la page ressort désormais propre.
Ce que cet outil vérifie
Quatre catégories de dissimulation, chacune combinée à une vérification de formulation de type instruction :
- Masqué par CSS
- display:none, visibility:hidden, opacité quasi nulle, font-size de 0px, text-indent très négatif, positionnement hors écran, éléments de 0×0, et clip/clip-path réduit à néant — dans les attributs style en ligne et les blocs <style> intégrés, plus une heuristique pour les noms de classe connus masquant via un CSS externe, comme sr-only.
- Camouflage de couleur
- Couleur de texte réglée presque identique à la couleur de fond, partout où les deux sont déclarées en CSS en ligne ou intégré.
- Unicode invisible
- Espaces et joints de largeur nulle, caractères Unicode « tag », et caractères de contrôle bidirectionnel dissimulés dans du texte ordinaire.
- Attribut caché / contenu non visuel
- Commentaires HTML, attribut hidden, sections aria-hidden="true", champs de formulaire cachés, et texte des attributs meta/alt/title.
Questions fréquentes
- Ce contrôle de sécurité des agents IA est-il gratuit ?
- Oui. Collez une URL et obtenez le verdict, le score et tous les constats, sans inscription ni carte bancaire.
- Cet outil utilise-t-il l’IA pour analyser ma page ?
- Non. Chaque vérification est une règle déterministe : valeurs de propriétés CSS, calcul de contraste de couleur, plages de caractères Unicode et correspondance de motifs. Aucun contenu de page n’est envoyé à un modèle de langage.
- Pourquoi un élément sr-only n’est-il marqué qu’en « info », pas en avertissement ?
- Le texte réservé aux lecteurs d’écran est une technique d’accessibilité légitime et courante. Nous n’augmentons la gravité que lorsque ce texte caché contient aussi une formulation de type instruction destinée à une IA — cacher du texte en soi n’est pas un problème.
- Cela vérifie-t-il le CSS externe ou le contenu généré par JavaScript ?
- Pas dans cette version. L’outil vérifie les attributs style en ligne et les blocs <style> intégrés dans le HTML brut de la page. Il ne récupère pas les feuilles de style liées et n’exécute pas de JavaScript : le contenu masqué uniquement par un fichier CSS externe, ou ajouté après l’exécution des scripts de la page, est donc hors du périmètre de ce contrôle pour l’instant.
- Pourquoi ma propre page obtient-elle un score bas en localhost ?
- Cet outil récupère votre page via l’internet public, comme le ferait un robot, et ne peut donc pas atteindre localhost ni les adresses privées/internes. Testez avec votre URL réelle, publiée et accessible.