
[ICLR 2026] - Offizielles Repository für das Paper: "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"
Ein umfassendes Framework zur Bewertung der Sicherheit großer Sprachmodelle (LLMs) durch systematische Angriffs- und Verweigerungstests. RedEval bietet eine einheitliche, sichere und erweiterbare Plattform zur Bewertung der Robustheit von LLMs gegenüber adversarialen Prompts und schädlichen Inhalten. Es ist Teil des Papers „RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models“, einem universellen Datensatz für umfassendes Red Teaming von LLMs.
📦 Datensatz: Der RedBench-Datensatz ist öffentlich auf HuggingFace unter knoveleng/redbench verfügbar. Er enthält umfassende Red-Teaming-Prompts für mehrere Sicherheitskategorien und -domänen.
# 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
Bearbeite die .env-Datei mit deinen Zugangsdaten:
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 bewertet die LLM-Sicherheit anhand zweier sich ergänzender Ansätze:
Testet die Verwundbarkeit von LLMs gegenüber adversarialen Prompts mithilfe verschiedener Jailbreaking-Techniken:
Bewertet die Fähigkeit von LLMs, schädliche Anfragen über mehrere Sicherheitsdatensätze hinweg angemessen abzulehnen:
Berechnet umfassende Sicherheitsmetriken, die Angriffs- und Verweigerungsleistung kombinieren.
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]
Repository klonen
git clone <repository-url>
cd redeval
Abhängigkeiten installieren
pip install -r requirements.txt
Umgebung konfigurieren
cp .env.template .env
# Edit .env with your API credentials
Installation überprüfen
python -m redeval.cli --help
RedEval verwendet Umgebungsvariablen für eine sichere und flexible Konfiguration:
| Variable | Beschreibung | Beispiel |
|---|---|---|
OPENAI_API_KEY | OpenAI-API-Schlüssel | sk-proj-... |
HUGGINGFACE_TOKEN | HuggingFace-Token | hf_... |
| Variable | Beschreibung | Standard |
|---|---|---|
REDEVAL_PROJECT_ROOT | Projektstammverzeichnis | Aktuelles Verzeichnis |
REDEVAL_LOG_DIR | Log-Verzeichnis | ./logs |
REDEVAL_RECIPES_DIR | Konfigurationsverzeichnis | ./recipes |
REDEVAL_LOG_LEVEL | Log-Level | INFO |
REDEVAL_NUM_SAMPLES | Anzahl der Evaluierungsstichproben | 10 |
REDEVAL_SEED | Zufalls-Seed | 0 |
| Variable | Beschreibung | Standard |
|---|---|---|
REDEVAL_OPEN_SOURCE_MODELS | Liste der Open-Source-Modelle | "Qwen/Qwen2.5-7B-Instruct" |
REDEVAL_CLOSED_SOURCE_MODELS | Liste der Closed-Source-Modelle | "gpt-4o-mini" |
Konfigurationsdateien im Verzeichnis recipes/ steuern die Evaluierungsparameter:
attack/base-open.yml - Angriffskonfiguration für Open-Source-Modelleattack/base-close.yml - Angriffskonfiguration für Closed-Source-Modelleattack/eval.yml - Konfiguration der Angriffsbewertungrefuse/base-open.yml - Verweigerungskonfiguration für Open-Source-Modellerefuse/base-close.yml - Verweigerungskonfiguration für Closed-Source-Modellerefuse/eval.yml - Konfiguration der VerweigerungsbewertungRedEval bietet eine einheitliche CLI für alle Vorgänge:
# 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
# Run refusal tests
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"