
Réévaluation des détecteurs d'injection de prompt sur les sorties d'outils d'agents LLM (brouillon d'article, scripts, scores)
Réévaluer les détecteurs d'injection de prompt là où les agents LLM les utilisent réellement : sur les sorties d'outils qu'un agent lit.
Les équipes choisissent les détecteurs d'injection en fonction de leurs scores de benchmark. Nous vérifions si ces scores prédisent le comportement à l'intérieur d'un agent, et constatons qu'ils mesurent surtout la proximité du benchmark avec les données d'entraînement du détecteur.
Quinze détecteurs (neuf ouverts, six sous licence dont Prompt Guard 2 de Meta) et deux juges LLM sensibles à la tâche, sur deux benchmarks d'agents (AgentDojo, tau-bench) et sur BIPIA. Les sorties d'outils bénignes proviennent du rejeu des appels d'outils de référence de chaque benchmark sans LLM. La détection est le TPR au seuil donnant 1 % de FPR.
| Détecteur | Publié | FPR sur sorties d'outils bénignes (AgentDojo / tau-bench) | Détection AgentDojo | Détection tau-bench | Détection BIPIA |
|---|---|---|---|---|---|
| Horizon-Labs guard-base | 2026 | 0,0 % / 0,7 % | 82,2 % | 100,0 % | 37,7 % |
| Wolf Defender | 2026 | 0,9 % / 0,0 % | 73,8 % | 90,8 % | 3,5 % |
| Prompt Guard 2 (86M) | 2025 | 0,6 % / 0,0 % | 69,4 % | 57,9 % | 10,4 % |
| Prompt Guard 2 (22M) | 2025 | 0,0 % / 0,0 % | 60,9 % | 60,8 % | 31,7 % |
| Prismor-1.5B | 2026 | 6,5 % / 46,2 % | 72,2 % | 15,2 % | 4,0 % |
| Sheltron-68M | 2026 | 10,6 % / 4,4 % | 20,1 % | 95,2 % | 57,2 % |
| Judge (Llama-3.1-8B) | – | – | 55,3 % | 78,3 % | 8,3 % |
| PIGuard | 2025 | 29,5 % / 11,0 % | 2,1 % | 52,7 % | 95,1 % |
| ProtectAI v2 | 2024 | 30,1 % / 66,9 % | 0,5 % | 10,1 % | 0,7 % |
(Les 15 détecteurs et les deux juges : paper/tab_many.tex.)
Tous les chiffres sont régénérés à partir des fichiers de scores par analysis/compute_all.py ; l'article ne les lit que via paper/numbers.tex.
scripts/ build evaluation sets, score detectors and judges
analysis/ compute_all.py, compute_many.py (every number, table, figure), make_macros.py (-> LaTeX macros)
results/ detector and judge scores used in the paper
paper/ LaTeX source, figures, compiled main.pdf
pip install -r requirements.txt
AGENTDOJO_PY=/path/to/agentdojo-env/bin/python QWEN=/models/Qwen2.5-7B-Instruct LLAMA=/models/Llama-3.1-8B-Instruct bash reproduce.sh
Pour régénérer uniquement les chiffres et les figures à partir des scores publiés, copiez results/*.json dans le répertoire de travail, reconstruisez les ensembles .jsonl (étapes 1–3 de reproduce.sh, CPU uniquement), puis exécutez python analysis/compute_all.py && python analysis/make_macros.py.
Les données d'évaluation sont reconstruites à partir des sources publiques, non redistribuées : AgentDojo v1.2, tau-bench (MIT), attaques InjecAgent (MIT), BIPIA (MIT), READMEs GitHub (h1alexbel/github-readmes), AESLC, FineWeb-Edu. Certains scripts supposent que BIPIA et PIGuard sont clonés sous ~/agentsec/.
paper/usenix-2020-09-xetex.sty est une copie de build du style USENIX qui compile avec tectonic/XeTeX. Pour la soumission, basculez main.tex vers le usenix-2020-09.sty officiel et compilez avec pdflatex.
Brouillon. Pas encore évalué contre des attaques adaptatives ; les deux benchmarks d'agents sont des simulations et le point d'injection de tau-bench est le nôtre ; les détecteurs d'API commerciales ne sont pas inclus. Voir §6 de l'article.
Code, scripts d'analyse et fichiers de scores : MIT (voir LICENSE). Les fichiers tiers conservent leurs propres conditions : le style LaTeX USENIX (paper/usenix-2020-09*.sty) et les benchmarks et détecteurs que les scripts téléchargent (AgentDojo, tau-bench, InjecAgent, BIPIA, et la licence de modèle de chaque détecteur).