Les 10 principaux risques OWASP pour les LLM
Les principaux risques pour les applications utilisant des LLM.
Les 10 principaux risques OWASP pour les LLM est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Pourquoi un Top 10 des LLM ?
Le Top 10 de l'OWASP pour les applications utilisant de grands modèles de langage est une liste élaborée par la communauté qui recense les risques de sécurité les plus critiques propres aux systèmes fondés sur des LLM. Elle reprend le célèbre Top 10 de l'OWASP pour le web, tout en traitant des menaces que les listes classiques d'AppSec ne couvrent pas.
Cette liste existe parce que les applications utilisant des LLM introduisent une nouvelle surface d'attaque : un flux de contrôle en langage naturel, des sorties non déterministes, des chaînes d'approvisionnement de modèles et des agents autonomes. Elle fournit aux équipes de sécurité un vocabulaire commun et une liste de contrôle pour la modélisation des menaces.
Les codes ci-dessous utilisent la numérotation LLM01-LLM10 de l'édition 2025.
LLM01 Injection d’instructions
LLM01 : Injection d’instructions constitue systématiquement le risque numéro un. Un texte contrôlé par l’attaquant prend le pas sur les instructions du développeur, car le modèle ne peut pas distinguer les instructions fiables des données non fiables.
- Directe : l’utilisateur saisit des instructions de remplacement.
- Indirecte : les instructions sont dissimulées dans des pages Internet, des fichiers ou la sortie d’un outil récupérés.
Mesures d’atténuation : appliquez le principe du moindre privilège aux outils, traitez tout le contenu récupéré comme des données, ajoutez des points de contrôle humains pour les actions sensibles et interrompez la voie d’exfiltration des données.
LLM02 Divulgation d’informations sensibles
LLM02 : Divulgation d’informations sensibles concerne la révélation, par le modèle, de données qu’il ne devrait pas divulguer : PII, secrets, données d’entraînement propriétaires ou informations d’un autre locataire.
Les fuites se produisent par l’intermédiaire de données d’entraînement mémorisées, d’une injection de contexte trop large ou d’instructions system contenant des identifiants.
- Nettoyez et minimisez les données placées dans le contexte.
- Ne placez jamais de secrets actifs dans les instructions ; utilisez hors bande des jetons à portée limitée et à courte durée de vie.
- Appliquez un filtrage des sorties et des contrôles de prévention des pertes de données avant de renvoyer les réponses.
LLM03 Chaîne d’approvisionnement
LLM03 : Chaîne d’approvisionnement concerne les risques provenant de modèles, jeux de données, modules d’extension et bibliothèques de tiers. Un modèle de base empoisonné, un ajustement fin contenant une porte dérobée provenant d’une plateforme de modèles ou une dépendance Python malveillante peut compromettre l’application entière.
- Vérifiez l’origine des modèles et leurs sommes de contrôle.
- Figez les versions et vérifiez les licences.
- Analysez les fichiers de modèle sérialisés (
picklepeut exécuter du code au chargement) et préférez des formats sûrs commesafetensors.
# Pickle deserialization can run arbitrary code on load.
# Prefer safetensors for untrusted model weights:
from safetensors.torch import load_file
state = load_file("model.safetensors")LLM04 Empoisonnement des données et du modèle
LLM04 : Empoisonnement des données et du modèle vise la chaîne de traitement de l’entraînement ou de l’ajustement fin. Un attaquant capable d’influencer les données d’entraînement peut implanter des portes dérobées (déclencheurs cachés), biaiser les sorties ou dégrader la qualité.
Les chaînes de traitement RAG qui ingèrent des documents soumis par les utilisateurs constituent une surface d’empoisonnement active, même après le déploiement.
- Vérifiez soigneusement les sources de données d’entraînement et signez-les.
- Utilisez la détection d’anomalies sur les jeux de données.
- Isolez et examinez le contenu fourni par les utilisateurs avant son indexation.
LLM05 Mauvaise gestion des sorties
LLM05 : Mauvaise gestion des sorties se produit lorsque les composants en aval font confiance à la sortie du modèle sans la valider. Comme la sortie peut être influencée par un attaquant au moyen d’une injection, la transmettre sans validation à un interpréteur de commandes, à une requête SQL, à un navigateur ou à une évaluation de code constitue une voie directe vers XSS, SSRF ou RCE.
Règle : traitez la sortie du LLM exactement comme une entrée utilisateur non fiable. Encodez-la, validez-la et isolez-la avant qu’elle n’atteigne un interpréteur.
# DANGEROUS: model output flows straight into a shell
os.system(model_output) # never do this
# SAFER: validate against an allowlist, no shell
if action in ALLOWED_ACTIONS:
run_safe(action, args)LLM06 Autonomie excessive
LLM06 : Autonomie excessive désigne les dommages causés lorsque le modèle dispose de trop de fonctionnalités, de trop d’autorisations ou d’une autonomie excessive. Lorsque le modèle peut appeler des outils, une injection devient une action, et non plus seulement du texte.
- Fonctionnalités excessives : des outils dont l’application n’a pas réellement besoin.
- Autorisations excessives : un outil doté de fonctions d’écriture et de suppression alors que la lecture suffit.
- Autonomie excessive : des actions à fort impact sans approbation humaine.
Appliquez le principe du moindre privilège à chaque outil et exigez une confirmation pour les opérations irréversibles.
LLM07 Fuite des instructions system
LLM07 : Fuite des instructions system rappelle que les instructions system ne constituent pas un espace de stockage sécurisé pour les secrets. Les attaquants peuvent souvent les extraire et elles contiennent parfois des identifiants, une logique métier cachée ou des règles de filtrage qui facilitent d’autres attaques.
- Supposez que les instructions system peuvent être récupérées ; n’y intégrez jamais de secrets ni de clés.
- Imposez l’autorisation dans votre backend, plutôt que d’espérer qu’une règle des instructions soit respectée.
- Considérez tout mécanisme de sécurité comme défaillant s’il se trouve uniquement dans le texte des instructions.
LLM08, LLM09, LLM10
Les entrées restantes :
- LLM08 Faiblesses des vecteurs et des représentations vectorielles : risques liés aux représentations vectorielles RAG, notamment les fuites entre locataires, l’inversion des représentations vectorielles et l’indexation de documents empoisonnés. Appliquez le contrôle d’accès au moment de la récupération.
- LLM09 Désinformation : hallucinations formulées avec assurance et confiance excessive. Ajoutez un ancrage dans les sources, des citations et une vérification humaine pour les sorties à forts enjeux.
- LLM10 Consommation sans limites : déni de portefeuille et attaques par déni de service dus à des requêtes coûteuses ou qui s’emballent. Appliquez des limites de débit, des budgets de jetons, des délais d’expiration et des alertes de coût.
Utiliser la liste pour modéliser les menaces
Le Top 10 est particulièrement utile comme liste de contrôle structurée lors de la revue de conception :
- Associez chaque composant (entrée, récupération, outils, sortie) aux risques LLM pertinents.
- Pour chaque risque, définissez un mécanisme concret et un responsable.
- Rédigez des cas d’abus et transformez-les en tests automatisés.
Associez-le aux cadres existants, comme la liste standard des 10 principaux risques d’OWASP, MITRE ATLAS pour les tactiques propres à l’apprentissage automatique et le cadre de gestion des risques liés à l’IA de NIST pour la gouvernance.
De la liste de contrôle à la défense en profondeur
Aucun mécanisme unique ne couvre ces risques. Superposez-les :
- Couche d’entrée : validation, classification, limites de débit.
- Couche du modèle : outils soumis au principe du moindre privilège, contexte limité, modèles de protection.
- Couche de sortie : validation, encodage, DLP, approbation humaine.
- Couche de plateforme : journalisation, surveillance, vérification de la chaîne d’approvisionnement, contrôles des coûts.
Supposez que chaque couche puisse échouer et concevez le système de sorte qu’une seule défaillance ne devienne pas une compromission.
Vérification rapide
Évaluez votre compréhension des catégories LLM d’OWASP.
Récapitulatif
Les 10 principaux risques LLM d’OWASP en bref :
- LLM01 Injection d’instructions, LLM02 Divulgation d’informations sensibles, LLM03 Chaîne d’approvisionnement, LLM04 Empoisonnement des données et du modèle, LLM05 Mauvaise gestion des sorties.
- LLM06 Autonomie excessive, LLM07 Fuite des instructions system, LLM08 Faiblesses des vecteurs et des représentations vectorielles, LLM09 Désinformation, LLM10 Consommation sans limites.
- Traitez la sortie du modèle et les instructions system comme non fiables et non secrètes.
- Utilisez cette liste comme liste de contrôle pour la modélisation des menaces, associez-la à MITRE ATLAS et NIST IA RMF, et appliquez une défense en profondeur aux couches d’entrée, du modèle, de sortie et de plateforme.
Apprends Cyber Security Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 76
- Leçons
- 303
Questions Fréquemment Posées
La leçon « Les 10 principaux risques OWASP pour les LLM » est-elle gratuite ?
Oui — le texte complet de « Les 10 principaux risques OWASP pour les LLM » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Les 10 principaux risques OWASP pour les LLM » ?
Les principaux risques pour les applications utilisant des LLM. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Les 10 principaux risques OWASP pour les LLM » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Injection de prompts et jailbreaks
- Les 10 principaux risques OWASP pour les LLM
- Sécuriser les agents d’IA et leur utilisation des outils
- Risques liés aux modèles, aux données et à la chaîne d’approvisionnement