Aller au contenu

ExpertLeçon 2 sur 511 min de lecture

La sortie du modèle est une entrée non fiable

Un cours de l'Académie : Sécuriser une application IA, au-delà de l'injection

Aller au quiz ↓

On se méfie de ce que l'utilisateur envoie au modèle. On oublie souvent de se méfier de ce que le modèle renvoie. Or sa sortie peut avoir été influencée par une injection, par un document piégé, ou simplement être fausse. Dès qu'elle est affichée, exécutée ou transmise à un autre système, elle doit être traitée comme une saisie venant d'un inconnu.

Les quatre chemins classiques

  • Affichée comme du HTML. Une réponse insérée telle quelle dans une page peut contenir du code qui s'exécute dans le navigateur de l'utilisateur : c'est une faille XSS, connue depuis vingt ans, revenue par cette porte.
  • Insérée dans une requête de base de données, une commande système, un chemin de fichier : l'injection SQL ou de commande, version IA.
  • Rendue en Markdown avec images. Une attaque bien documentée : une injection pousse le modèle à écrire une image dont l'adresse pointe vers le serveur de l'attaquant, avec des données de la conversation dans l'adresse. L'interface charge l'image, et les données partent, sans aucun clic.
  • Utilisée comme paramètre d'action : un montant, un destinataire, un identifiant que l'application exécute sans vérifier.

Les défenses

  • Échapper systématiquement tout texte du modèle avant affichage, et passer par un moteur de rendu Markdown configuré de façon restrictive.
  • Bloquer les ressources externes dans les réponses (images, contenus chargés automatiquement), ou n'autoriser qu'une liste fermée de domaines, idéalement renforcée par une politique de sécurité du contenu côté navigateur.
  • Des sorties structurées validées : quand le modèle produit des données pour une action, exigez un schéma strict et validez-le dans votre code (types, bornes, valeurs autorisées).
  • Des requêtes paramétrées et des listes blanches d'actions, jamais de texte du modèle concaténé dans une commande.
  • Un bac à sable pour tout code que le modèle écrit et que vous exécutez : sans accès au réseau ni aux secrets par défaut.
Analogie. Un traducteur très compétent vous remet une lettre traduite. Vous ne la signez pas sans la lire, et vous ne laissez pas son contenu déclencher seul un virement. Non parce que le traducteur est malhonnête, mais parce que la lettre d'origine pouvait contenir une instruction piégée qu'il a fidèlement traduite.

À retenir

  • La sortie du modèle se traite comme une saisie venant d'un inconnu.
  • Quatre chemins : HTML, requêtes et commandes, images Markdown, paramètres d'action.
  • Échapper, bloquer les ressources externes, valider par schéma, paramétrer, isoler.

Les notions clés

  • sécurité
  • xss
  • exfiltration
  • markdown
  • validation

Validez la leçon

Un quiz de 4 questions : 3 bonnes réponses suffisent, et un exercice pour pratiquer. Il s'ouvre dans l'Académie, sur cette même leçon.

Faire le quiz et valider la leçon Gratuit. Avec un compte, votre progression est enregistrée et mène à l'attestation du cours.

Le cours : Sécuriser une application IA, au-delà de l'injection

  1. Cartographier les menaces : la liste de l'OWASP11 min
  2. La sortie du modèle est une entrée non fiable11 min
  3. Les pièces que vous n'avez pas écrites12 min
  4. Le RAG qui en dit trop11 min
  5. Bornes, abus et tests d'attaque11 min

Toute l'Académie →Le glossaire de l'IA