Catégories

Dernière modification : 2025-03-11

La Gestion Inappropriée des Sorties concerne les défauts dans la gestion des contenus générés par les LLM avant leur traitement par d’autres systèmes, exposant les applications à divers risques de sécurité.

Pourquoi est-ce important ?

Les sorties générées par les modèles de langage peuvent contenir des données non validées ou mal nettoyées, ce qui peut entraîner des failles telles que des injections SQL, des attaques XSS ou même des exécutions de code à distance.

Comment fonctionne une attaque liée à Gestion Inappropriée des Sorties ?

Une attaque exploitant cette vulnérabilité repose sur l’utilisation de prompts malveillants pour manipuler les sorties générées par le LLM. Ces sorties peuvent ensuite être interprétées ou exécutées par d’autres systèmes sans validation adéquate. Par exemple :

  • Injection SQL : Un LLM gĂ©nère une requĂŞte SQL basĂ©e sur un prompt, qui est ensuite exĂ©cutĂ©e directement sans paramĂ©trage dans une autre application.
  • XSS : Du JavaScript ou autre code client gĂ©nĂ©rĂ© par le LLM est insĂ©rĂ© dans une page web sans Ă©chappement, permettant une exĂ©cution malveillante.
  • ExĂ©cution de code : Les sorties sont utilisĂ©es dans des fonctions comme eval ou exec, conduisant Ă  une exĂ©cution de code arbitraire.

Exemples de faille connue

En 2023, ChatGPT a été victime d’une attaque de Cross-Plugin Request Forgery et de Prompt Injection, où des prompts malveillants ont été utilisés pour exécuter des actions non autorisées ou injecter du contenu malveillant dans les sorties générées. Référence

Comment se protéger ?

Pour se protéger contre une Gestion Inappropriée des Sorties, il est essentiel de :

  1. Valider et nettoyer toutes les sorties : Chaque contenu généré doit être vérifié avant son utilisation. Prevenir les XSS
  2. Deployer les politiques de contenu: Implémentez des politiques de sécurité strictes, comme le Content Security Policies (CSP), pour limiter les sources de scripts exécutables.
  3. Utiliser des modèles prédéfinis : Limitez les formats de sortie pour éviter les comportements inattendus. Par exemple, n’envoyer que des retours en format texte brut ou markdown
  4. Limiter les privilèges : Réduisez l’accès aux composants qui interprètent ou exécutent les sorties des LLM.
  5. Effectuer des tests de sécurité réguliers:y compris des tests d’intrusion et des audits de code, pour identifier et corriger les vulnérabilités. Intégrez des tests de sécurité dans votre pipeline CI/CD et collaborez avec des experts en sécurité pour effectuer des audits approfondis. Référence : OWASP Testing Guide, L’Utilisation de PromptFoo
  6. Détecter les anomalies : Implémentez des outils pour identifier les sorties inhabituelles ou dangereuses.

Références :