
[ICLR 2026] - Repositorio oficial del artículo: "RedBench: Un Conjunto de Datos Universal para Red Teaming Integral de Modelos de Lenguaje de Gran Escala"
Un marco integral para evaluar la seguridad de los modelos de lenguaje de gran escala (LLM) mediante pruebas sistemáticas de ataque y rechazo. RedEval proporciona una plataforma unificada, segura y extensible para evaluar la robustez de los LLM frente a prompts adversarios y contenido dañino. Forma parte del artículo "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models", que presenta un conjunto de datos universal para el red teaming integral de LLM.
📦 Conjunto de datos: El conjunto de datos RedBench está disponible públicamente en HuggingFace en knoveleng/redbench. Incluye prompts integrales de red teaming en múltiples categorías y dominios de seguridad.
# Clonar el repositorio
git clone https://github.com/knoveleng/redeval.git
cd redeval
# Instalar dependencias
pip install -r requirements.txt
# Copiar y configurar las variables de entorno
cp .env.template .env
# Edita .env con tus claves de API
Edita el archivo .env con tus credenciales:
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here
# Configurar el entorno
source ./sh/setup_env.sh
# Ejecutar con los modelos predeterminados; puedes editar .env para definir los modelos que desees ejecutar
python -m redeval.cli run-pipeline
# Ejecutar el pipeline completo con modelos específicos
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# O ejecutar fases individuales
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh
RedEval evalúa la seguridad de los LLM mediante dos enfoques complementarios:
Prueba la vulnerabilidad de los LLM frente a prompts adversarios mediante diversas técnicas de jailbreak:
Evalúa la capacidad del LLM para rechazar adecuadamente solicitudes dañinas en múltiples conjuntos de datos de seguridad:
Calcula métricas de seguridad integrales que combinan el rendimiento de ataque y rechazo.
redeval/
├── redeval/ # Módulos principales de Python
│ ├── config.py # Gestión de entorno y configuración
│ ├── pipeline.py # Orquestador centralizado del pipeline
│ ├── cli.py # Interfaz de línea de comandos unificada
│ ├── exceptions.py # Manejo personalizado de excepciones
│ ├── generate_attack.py # Generación de prompts de ataque
│ ├── run_attack.py # Ejecución de ataques
│ ├── eval_attack.py # Evaluación de ataques
│ ├── run_refuse.py # Pruebas de rechazo
│ ├── eval_refuse.py # Evaluación de rechazo
│ └── score.py # Cálculo de métricas
├── sh/ # Interfaces de scripts de shell
│ ├── setup_env.sh # Configuración del entorno
│ ├── generate_attack.sh # Script de generación de ataques
│ ├── run_attack.sh # Script de ejecución de ataques
│ ├── eval_attack.sh # Script de evaluación de ataques
│ ├── run_refuse.sh # Script de pruebas de rechazo
│ ├── eval_refuse.sh # Script de evaluación de rechazo
│ └── score.sh # Script de puntuación
├── recipes/ # Archivos de configuración
├── logs/ # Resultados de la evaluación
└── .env # Variables de entorno
graph TD
A[Generar prompts de ataque] --> B[Ejecutar pruebas de ataque]
B --> C[Evaluar resultados de ataque]
D[Ejecutar pruebas de rechazo] --> E[Evaluar resultados de rechazo]
C --> F[Calcular puntuaciones finales]
E --> F
F --> G[Generar informes]
Clonar el repositorio
git clone <repository-url>
cd redeval
Instalar dependencias
pip install -r requirements.txt
Configurar el entorno
cp .env.template .env
# Edita .env con tus credenciales de API
Verificar la instalación
python -m redeval.cli --help
RedEval utiliza variables de entorno para una configuración segura y flexible:
| Variable | Descripción | Ejemplo |
|---|---|---|
OPENAI_API_KEY | Clave de API de OpenAI | sk-proj-... |
HUGGINGFACE_TOKEN | Token de HuggingFace | hf_... |
| Variable | Descripción | Valor predeterminado |
|---|---|---|
REDEVAL_PROJECT_ROOT | Directorio raíz del proyecto | Directorio actual |
REDEVAL_LOG_DIR | Directorio de logs | ./logs |
REDEVAL_RECIPES_DIR | Directorio de configuración | ./recipes |
REDEVAL_LOG_LEVEL | Nivel de registro | INFO |
REDEVAL_NUM_SAMPLES | Número de muestras de evaluación | 10 |
REDEVAL_SEED | Semilla aleatoria | 0 |
| Variable | Descripción | Valor predeterminado |
|---|---|---|
REDEVAL_OPEN_SOURCE_MODELS | Lista de modelos de código abierto | "Qwen/Qwen2.5-7B-Instruct" |
REDEVAL_CLOSED_SOURCE_MODELS | Lista de modelos de código cerrado | "gpt-4o-mini" |
Los archivos de configuración del directorio recipes/ controlan los parámetros de evaluación:
attack/base-open.yml - Configuración de ataque para modelos de código abiertoattack/base-close.yml - Configuración de ataque para modelos de código cerradoattack/eval.yml - Configuración de evaluación de ataquesrefuse/base-open.yml - Configuración de rechazo para modelos de código abiertorefuse/base-close.yml - Configuración de rechazo para modelos de código cerradorefuse/eval.yml - Configuración de evaluación de rechazoRedEval proporciona una CLI unificada para todas las operaciones:
# Ejecutar el pipeline de evaluación completo
python -m redeval.cli run-pipeline
# Ejecutar con modelos específicos
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# Ejecutar únicamente fases específicas
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack
# Generar prompts de ataque
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml