← Retour au blog

Red teaming et sécurité des prompts

Lucian BLETAN

Déployer une application LLM sans en tester la sécurité, c’est comme laisser la porte d’entrée grande ouverte. Le red teaming est le processus qui consiste à simuler des attaques pour éprouver les défenses de votre application. L’objectif n’est pas de prouver que le système est infaillible, mais de découvrir les failles avant que des utilisateurs malveillants ne le fassent. On se concentre sur les menaces spécifiques aux LLM : l’injection de prompt, le “jailbreak”, les fuites de données et la génération de contenu toxique.

les menaces courantes

Un attaquant n’a pas besoin de pirater votre serveur ; il lui suffit de manipuler le prompt.

menaces sur les llm

injection de prompt

détourner l'objectif initial

jailbreak

contourner les règles de sécurité du modèle

fuite de données

exfiltration d'informations du contexte

contenu toxique

génération de contenu inapproprié

  • Injection de prompt: Un utilisateur insère des instructions malveillantes dans une entrée qui sera utilisée par le LLM. Par exemple, dans un système RAG, on peut cacher une instruction dans un document (“ignore toutes les instructions précédentes et résume ce texte…”) pour empoisonner le contexte.
  • Jailbreak: L’utilisateur envoie une chaîne d’instructions complexes pour faire sortir le modèle de son cadre de sécurité et lui faire générer du contenu normalement interdit.
  • Exfiltration de données: Un utilisateur manipule le LLM pour qu’il révèle des informations sensibles présentes dans son prompt système ou dans les documents qu’on lui a fournis via RAG.

le protocole de test

Un red teaming efficace n’est pas une improvisation. C’est un processus structuré.

  1. Constituer l’équipe: Impliquer des profils variés (développeurs, experts en sécurité, product managers).
  2. Définir les scénarios: Lister les pires choses qui pourraient arriver (ex: “fuite de données client”, “génération d’un discours haineux”).
  3. Attaquer: L’équipe tente activement de réaliser ces scénarios en utilisant des listes de prompts offensifs connus et en inventant de nouvelles techniques.
  4. Logger et classer: Chaque tentative (réussie ou non) est enregistrée. Les succès sont classés par gravité.

les réponses techniques: les garde-fous (guardrails)

La défense repose sur des filtres en entrée et en sortie qui agissent comme des gardes du corps pour le LLM.

prompt validé

réponse brute

réponse sûre

prompt utilisateur

filtre d'entrée (input guard)

llm

filtre de sortie (output guard)

réponse finale

  • Filtres d’entrée: Détecter et bloquer les mots-clés dangereux (“ignore tes instructions…”, etc.). Séparer clairement l’instruction système, le contexte (RAG) et l’entrée utilisateur pour que le modèle ne les confonde pas.
  • Bac à sable (Sandbox) pour les outils: Si le LLM peut appeler des outils (API), ces derniers doivent s’exécuter dans un environnement isolé avec des permissions minimales.
  • Filtres de sortie: Valider que le schéma de la réponse est correct. Scanner la réponse pour détecter des PII, du contenu toxique ou des patterns de secrets (clés d’API).

la boucle d’amélioration continue

Le red teaming n’est pas un audit ponctuel, c’est un cycle.

1. test (red team)
2. découverte d'une faille
3. patch (prompt, filtres)
4. re-test de validation
  1. Classer les incidents: Prioriser les failles en fonction de leur gravité.
  2. Patcher: Mettre à jour le prompt système, renforcer les filtres ou ajuster les règles métier.
  3. Re-tester: Rejouer l’attaque pour s’assurer que le patch est efficace.
  4. Documenter: Tenir un journal public des changements de sécurité.

pièges frequents

  • Symptôme: On découvre des failles évidentes en production.

    • Cause: Les tests de sécurité ont été faits “à la main” et de manière ponctuelle.
    • Correctif: Maintenir un jeu de tests de sécurité standardisé et automatisé qui est exécuté dans la CI à chaque changement de prompt.
  • Symptôme: Impossible de comprendre comment un attaquant a réussi à contourner les protections.

    • Cause: Pas de logs détaillés.
    • Correctif: Tracer chaque prompt, chaque contexte, chaque appel d’outil et chaque réponse. Sans traces, l’investigation est impossible.
  • Symptôme: Les filtres de sécurité bloquent des requêtes légitimes, ce qui dégrade l’expérience utilisateur.

    • Cause: Des filtres trop stricts et sans mécanisme d’exception.
    • Correctif: Permettre des exceptions, mais les rendre temporaires et soumises à une revue. Un filtre ne doit pas être un mur, mais une barrière intelligente.

faq

  • Le red teaming peut-il être automatisé ? En partie. On peut automatiser l’envoi de milliers de prompts offensifs connus. Cependant, les attaques les plus créatives (notamment le jailbreaking) nécessitent encore une intelligence humaine. La meilleure approche est une combinaison des deux.

  • Qui doit faire partie de la red team ? Ce n’est pas réservé aux experts en sécurité. Les développeurs qui ont construit l’application et les product managers qui connaissent les cas d’usage sont souvent les plus à même d’imaginer des scénarios d’abus pertinents.