Introduction
L'utilisation d'un modèle de langage (LLM) pour générer du code HTML et le rendre sur une page web peut présenter des risques si les sorties ne sont pas correctement traitées. Les sorties d'un LLM doivent être considérées comme des entrées non fiables, similaires aux entrées utilisateur.
Contexte Technique
Les LLM peuvent être manipulés via des injections de prompts pour retourner du contenu malveillant. Même si les LLM disposent de mécanismes pour bloquer ce type de comportement, il est possible de les contourner. Les attaquants peuvent créer des payloads XSS, des injections SQL, des URL SSRF ou même des instructions RCE avec une manipulation minimale.
Analyse et Implications
Si votre application rend ou exécute la sortie d'un LLM, cette faille de sécurité peut devenir un problème réel. Il est essentiel d'appliquer les mêmes contrôles de sécurité utilisés pour les entrées utilisateur non fiables aux sorties générées par le LLM. Des outils comme DOMPurify et les politiques de sécurité de contenu (CSP) peuvent aider à prévenir les attaques.
Perspective
Il est important de traiter les sorties d'un LLM comme des entrées utilisateur et d'appliquer les mêmes contrôles de sécurité. Cette faille de sécurité s'applique au-delà du simple rendu HTML et peut affecter les agents IA, les systèmes RAG, les outils de génération de code et toute application qui exécute ou rend la sortie d'un LLM. Des ressources comme la liste des risques LLM d'OWASP et les guides de prévention XSS peuvent aider à comprendre et à atténuer ces risques.