
[ICLR 2026] - Dépôt officiel de l'article : "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"
Un framework complet pour évaluer la sécurité des grands modèles de langage (LLM) grâce à des tests systématiques d'attaque et de refus. RedEval fournit une plateforme unifiée, sécurisée et extensible pour évaluer la robustesse des LLM face aux prompts adverses et aux contenus nuisibles. Il fait partie de l'article "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models", qui est un jeu de données universel pour le red teaming complet des LLM.
📦 Jeu de données : Le jeu de données RedBench est disponible publiquement sur HuggingFace à l'adresse knoveleng/redbench. Il inclut des prompts de red teaming complets couvrant plusieurs catégories et domaines de sécurité.
# Clone the repository
git clone https://github.com/knoveleng/redeval.git
cd redeval
# Install dependencies
pip install -r requirements.txt
# Copy and configure environment variables
cp .env.template .env
# Edit .env with your API keys
Modifiez le fichier .env avec vos identifiants :
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here
# Set up environment
source ./sh/setup_env.sh
# Run with default models, you can edit .env to define models which you wanna run
python -m redeval.cli run-pipeline
# Run complete pipeline with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# Or run individual phases
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh
RedEval évalue la sécurité des LLM selon deux approches complémentaires :
Teste la vulnérabilité des LLM face aux prompts adverses à l'aide de diverses techniques de jailbreak :
Évalue la capacité des LLM à refuser de manière appropriée les requêtes nuisibles sur plusieurs jeux de données de sécurité :
Calcule des métriques de sécurité complètes combinant les performances d'attaque et de refus.
redeval/
├── redeval/ # Core Python modules
│ ├── config.py # Environment & configuration management
│ ├── pipeline.py # Centralized pipeline orchestrator
│ ├── cli.py # Unified command-line interface
│ ├── exceptions.py # Custom exception handling
│ ├── generate_attack.py # Attack prompt generation
│ ├── run_attack.py # Attack execution
│ ├── eval_attack.py # Attack evaluation
│ ├── run_refuse.py # Refusal testing
│ ├── eval_refuse.py # Refusal evaluation
│ └── score.py # Metric calculation
├── sh/ # Shell script interfaces
│ ├── setup_env.sh # Environment setup
│ ├── generate_attack.sh # Attack generation script
│ ├── run_attack.sh # Attack execution script
│ ├── eval_attack.sh # Attack evaluation script
│ ├── run_refuse.sh # Refusal testing script
│ ├── eval_refuse.sh # Refusal evaluation script
│ └── score.sh # Scoring script
├── recipes/ # Configuration files
├── logs/ # Evaluation results
└── .env # Environment variables
graph TD
A[Generate Attack Prompts] --> B[Run Attack Tests]
B --> C[Evaluate Attack Results]
D[Run Refuse Tests] --> E[Evaluate Refuse Results]
C --> F[Calculate Final Scores]
E --> F
F --> G[Generate Reports]
Cloner le dépôt
git clone <repository-url>
cd redeval
Installer les dépendances
pip install -r requirements.txt
Configurer l'environnement
cp .env.template .env
# Edit .env with your API credentials
Vérifier l'installation
python -m redeval.cli --help
RedEval utilise des variables d'environnement pour une configuration sécurisée et flexible :
| Variable | Description | Exemple |
|---|---|---|
OPENAI_API_KEY | Clé API OpenAI | sk-proj-... |
HUGGINGFACE_TOKEN | Jeton HuggingFace | hf_... |
| Variable | Description | Défaut |
|---|---|---|
REDEVAL_PROJECT_ROOT | Répertoire racine du projet | Répertoire actuel |
REDEVAL_LOG_DIR | Répertoire des journaux | ./logs |
REDEVAL_RECIPES_DIR | Répertoire de configuration | ./recipes |
REDEVAL_LOG_LEVEL | Niveau de journalisation | INFO |
REDEVAL_NUM_SAMPLES | Nombre d'échantillons d'évaluation | 10 |
REDEVAL_SEED | Graine aléatoire | 0 |
| Variable | Description | Défaut |
|---|---|---|
REDEVAL_OPEN_SOURCE_MODELS | Liste des modèles open source | "Qwen/Qwen2.5-7B-Instruct" |
REDEVAL_CLOSED_SOURCE_MODELS | Liste des modèles à source fermée | "gpt-4o-mini" |
Les fichiers de configuration du répertoire recipes/ contrôlent les paramètres d'évaluation :
attack/base-open.yml - Configuration d'attaque des modèles open sourceattack/base-close.yml - Configuration d'attaque des modèles à source ferméeattack/eval.yml - Configuration d'évaluation des attaquesrefuse/base-open.yml - Configuration de refus des modèles open sourcerefuse/base-close.yml - Configuration de refus des modèles à source ferméerefuse/eval.yml - Configuration d'évaluation des refusRedEval fournit une CLI unifiée pour toutes les opérations :
# Run full evaluation pipeline
python -m redeval.cli run-pipeline
# Run with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# Run specific phases only
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack
# Generate attack prompts
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml
# Run attack evaluation
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"
# Evaluate attack results
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name