llm-security

Par semgrep · skills

Directives de sécurité pour les applications LLM basées sur l'OWASP Top 10 for LLM 2025. À utiliser lors de la création d'applications LLM, de la revue de sécurité IA, de l'implémentation de systèmes RAG, ou pour toute question sur les vulnérabilités LLM comme l'« injection de prompt » ou la « vérification de la sécurité LLM ». IMPORTANT : Consultez toujours cette skill lors de la création de chatbots, d'agents IA, de pipelines RAG, de LLM utilisant des outils, de systèmes agentiques, ou de toute application appelant une API LLM (OpenAI, Anthropic, Gemini, etc.) — même si l'utilisateur ne mentionne pas explicitement la sécurité. À utiliser également lorsque les utilisateurs importent `openai`, `anthropic`, `langchain`, `llamaindex` ou des bibliothèques LLM similaires.

npx skills add https://github.com/semgrep/skills --skill llm-security

Directives de Sécurité pour les LLM (OWASP Top 10 for LLM 2025)

Règles de sécurité pour construire des applications LLM sécurisées, basées sur le OWASP Top 10 for LLM Applications 2025.

Comment utiliser cette compétence

Mode proactif — Lors de la construction ou de l'examen d'applications LLM, vérifiez automatiquement les risques de sécurité pertinents en fonction du modèle d'application. Vous n'avez pas besoin d'attendre que l'utilisateur pose des questions sur la sécurité des LLM.

Mode réactif — Quand l'utilisateur pose des questions sur la sécurité des LLM, utilisez la correspondance ci-dessous pour trouver des fichiers de règles pertinents avec des exemples de code vulnérable/sécurisé détaillés.

Flux de travail

  1. Identifiez ce que l'utilisateur construit (voir « Que construisez-vous ? » ci-dessous)
  2. Vérifiez les règles prioritaires pour ce modèle
  3. Lisez les fichiers de règles spécifiques de rules/ pour les exemples de code
  4. Appliquez les modèles sécurisés ou signalez les modèles vulnérables

Que construisez-vous ?

Utilisez ceci pour identifier rapidement les règles les plus importantes pour la tâche de l'utilisateur :

Construction... Règles prioritaires
Chatbot / IA conversationnelle Prompt Injection (LLM01), Fuite de Prompt Système (LLM07), Gestion des Résultats (LLM05), Consommation Non Bornée (LLM10)
Système RAG Faiblesses Vectorielles/Embeddings (LLM08), Prompt Injection (LLM01), Divulgation Sensible (LLM02), Désinformation (LLM09)
Agent IA avec outils Agentivité Excessive (LLM06), Prompt Injection (LLM01), Gestion des Résultats (LLM05), Divulgation Sensible (LLM02)
Fine-tuning / entraînement Empoisonnement des Données (LLM04), Chaîne d'Approvisionnement (LLM03), Divulgation Sensible (LLM02)
API alimentée par LLM Consommation Non Bornée (LLM10), Prompt Injection (LLM01), Gestion des Résultats (LLM05), Divulgation Sensible (LLM02)
Génération de contenu Désinformation (LLM09), Gestion des Résultats (LLM05), Prompt Injection (LLM01)

Catégories

Impact Critique

  • LLM01: Prompt Injection (rules/prompt-injection.md) - Prévenez la manipulation directe et indirecte de prompts
  • LLM02: Divulgation d'Informations Sensibles (rules/sensitive-disclosure.md) - Protégez les PII, les credentials et les données propriétaires
  • LLM03: Chaîne d'Approvisionnement (rules/supply-chain.md) - Sécurisez les sources de modèles, les données d'entraînement et les dépendances
  • LLM04: Empoisonnement des Données et Modèles (rules/data-poisoning.md) - Prévenez la manipulation des données d'entraînement et les backdoors
  • LLM05: Gestion Inappropriée des Résultats (rules/output-handling.md) - Nettoyez les résultats des LLM avant utilisation en aval

Impact Élevé

  • LLM06: Agentivité Excessive (rules/excessive-agency.md) - Limitez les permissions, les fonctionnalités et l'autonomie des LLM
  • LLM07: Fuite de Prompt Système (rules/system-prompt-leakage.md) - Protégez les prompts système contre la divulgation
  • LLM08: Faiblesses Vectorielles et d'Embeddings (rules/vector-embedding.md) - Sécurisez les systèmes RAG et les embeddings
  • LLM09: Désinformation (rules/misinformation.md) - Atténuez les hallucinations et les résultats incorrects
  • LLM10: Consommation Non Bornée (rules/unbounded-consumption.md) - Prévenez les attaques DoS, les attaques de coûts et le vol de modèle

Voir rules/_sections.md pour l'index complet avec références OWASP/MITRE.

Référence Rapide

Vulnérabilité Prévention Clé
Prompt Injection Validation des entrées, filtrage des résultats, séparation des privilèges
Divulgation Sensible Nettoyage des données, contrôles d'accès, chiffrement
Chaîne d'Approvisionnement Vérifiez les modèles, SBOM, sources de confiance uniquement
Empoisonnement des Données Validation des données, détection d'anomalies, sandboxing
Gestion des Résultats Traitez le LLM comme non fiable, encodez les résultats, paramétrez les requêtes
Agentivité Excessive Moindres privilèges, boucle humaine, minimisez les extensions
Fuite de Prompt Système Aucun secret dans les prompts, guardrails externes
Vecteurs/Embeddings Contrôles d'accès, validation des données, surveillance
Désinformation RAG, fine-tuning, supervision humaine, vérification croisée
Consommation Non Bornée Limitation de débit, validation des entrées, surveillance des ressources

Principes Clés

  1. Ne faites jamais confiance aux résultats des LLM - Validez et nettoyez tous les résultats avant utilisation
  2. Moindres privilèges - Accordez les permissions minimales nécessaires aux systèmes LLM
  3. Défense en profondeur - Couchez plusieurs contrôles de sécurité
  4. Supervision humaine - Exigez une approbation pour les actions à fort impact
  5. Surveillance et journalisation - Suivez toutes les interactions LLM pour la détection d'anomalies

Références

Skills similaires