← Tous les projets
LLM & automatisation · 2026

codename

Peut-on piéger une IA pour qu'elle révèle un secret qu'on lui a demandé de garder ? Ce labo oppose des prompts de défense à une bibliothèque d'attaques (jeu de rôle, contournement d'instructions, astuces d'encodage) sur un LLM local, note chaque affrontement, et laisse un modèle plus fort réécrire les défenses perdantes jusqu'à ce qu'elles tiennent.

PythonOllamaStreamlit
Équipe
Seul
Cadre
Projet Epitech, 2e année
Statut
Terminé
1 / 3Test d'un prompt de défense sur un LLM local (vitesse ×6)

Contexte

L'injection de prompt est le principal risque de sécurité des applications LLM : un message utilisateur qui pousse le modèle à ignorer ses instructions. Le labo joue les deux camps. Une défense est un prompt système qui doit garder un secret sauf si l'utilisateur donne le mot de passe, et les attaques tentent d'obtenir le secret ou le mot de passe malgré tout.

Réalisations

  • Une bibliothèque d'attaques : contournement d'instructions, détournement de persona, fuite du prompt système, et requêtes encodées, découpées ou traduites
  • Des tests obligatoires pour l'autre côté du contrat : avec le bon mot de passe, le modèle doit réellement donner le secret
  • Un banc de test qui lance chaque défense contre chaque attaque sur un modèle local (Ollama) et note les résultats
  • Une « War Room » Streamlit : éditeur de prompts, testeur un-contre-tous, et analyses qui classent les défenses par robustesse et les attaques par taux de réussite
  • Une boucle automatique où un modèle plus fort réécrit une défense à partir de ses échecs jusqu'à ce qu'elle passe tous les tests