Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
redeval — [ICLR 2026] - Repositorio oficial del artículo: "RedBench: Un Conjunto de Datos Universal para Red Teaming Integral de Modelos de Lenguaje de Gran Escala" | Kitploit
Herramientas/GitHubGitHub/knoveleng/redeval
Papers e InvestigaciónAprendizaje y EducaciónRecursos CuradosSeguridad de IAAtaque Adversario
GitHubknoveleng/redeval

redeval

[ICLR 2026] - Repositorio oficial del artículo: "RedBench: Un Conjunto de Datos Universal para Red Teaming Integral de Modelos de Lenguaje de Gran Escala"

Ver Repositorio
294hace 5 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

RedEval - Marco de evaluación de seguridad de LLM

Python 3.8+ License: MIT Dataset on HF

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.

🚀 Inicio rápido

1. Configurar el entorno

root@kitploit:~
# 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

2. Configurar las claves de API

Edita el archivo .env con tus credenciales:

root@kitploit:~
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here

3. Ejecutar la evaluación

root@kitploit:~
# 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

📋 Tabla de contenido

  • Descripción general
  • Arquitectura
  • Instalación
  • Configuración
  • Uso
  • Funciones de seguridad
  • Referencia de API
  • Contribuciones
  • Licencia

🎯 Descripción general

RedEval evalúa la seguridad de los LLM mediante dos enfoques complementarios:

🔴 Fase de ataque

Prueba la vulnerabilidad de los LLM frente a prompts adversarios mediante diversas técnicas de jailbreak:

  • Ataques directos: Prompts dañinos directos
  • Jailbreaks humanos: Técnicas de evasión creadas por humanos
  • Ataques zero-shot: Generación automatizada de prompts adversarios

🛡️ Fase de rechazo

Evalúa la capacidad del LLM para rechazar adecuadamente solicitudes dañinas en múltiples conjuntos de datos de seguridad:

  • CoCoNot: Moderación de contenido sensible al contexto
  • SGXSTest: Examen de pautas de seguridad
  • XSTest: Pruebas de seguridad entre dominios
  • ORBench: Evaluación comparativa objetiva del rechazo

📊 Puntuación

Calcula métricas de seguridad integrales que combinan el rendimiento de ataque y rechazo.

🏗️ Arquitectura

Componentes principales

root@kitploit:~
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

Pipeline de evaluación

root@kitploit:~
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]

🛠️ Instalación

Requisitos previos

  • Python 3.8 o superior
  • Clave de API de OpenAI
  • Token de HuggingFace
  • Git

Instalación paso a paso

  1. Clonar el repositorio

    root@kitploit:~
    git clone <repository-url>
    cd redeval
    
  2. Instalar dependencias

    root@kitploit:~
    pip install -r requirements.txt
    
  3. Configurar el entorno

    root@kitploit:~
    cp .env.template .env
    # Edita .env con tus credenciales de API
    
  4. Verificar la instalación

    root@kitploit:~
    python -m redeval.cli --help
    

⚙️ Configuración

Variables de entorno

RedEval utiliza variables de entorno para una configuración segura y flexible:

Variables obligatorias

VariableDescripciónEjemplo
OPENAI_API_KEYClave de API de OpenAIsk-proj-...
HUGGINGFACE_TOKENToken de HuggingFacehf_...

Configuración opcional

Configuración de modelos

VariableDescripciónValor predeterminado
REDEVAL_OPEN_SOURCE_MODELSLista de modelos de código abierto"Qwen/Qwen2.5-7B-Instruct"
REDEVAL_CLOSED_SOURCE_MODELSLista de modelos de código cerrado"gpt-4o-mini"

Archivos de configuración

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 abierto
  • attack/base-close.yml - Configuración de ataque para modelos de código cerrado
  • attack/eval.yml - Configuración de evaluación de ataques
  • refuse/base-open.yml - Configuración de rechazo para modelos de código abierto
  • refuse/base-close.yml - Configuración de rechazo para modelos de código cerrado
  • refuse/eval.yml - Configuración de evaluación de rechazo

🚀 Uso

Interfaz de línea de comandos

RedEval proporciona una CLI unificada para todas las operaciones:

Pipeline completo

root@kitploit:~
# 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

Componentes individuales

root@kitploit:~
# Generar prompts de ataque
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml

# Ejecutar la evaluación de ataques
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Evaluar los resultados de ataque
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name

# Ejecutar pruebas de rechazo
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Evaluar los resultados de rechazo
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name

# Calcular puntuaciones
python -m redeval.cli score --log-dir ./logs/attack/HarmBench/direct/model_name --keyword "unsafe"

Interfaz de scripts de shell

Para los usuarios que prefieran scripts de shell:

root@kitploit:~
# Configurar el entorno (ejecutar primero)
source ./sh/setup_env.sh

# Ejecutar fases de evaluación
./sh/generate_attack.sh    # Generar prompts de ataque
./sh/run_attack.sh         # Ejecutar ataques
./sh/eval_attack.sh        # Evaluar resultados de ataque
./sh/run_refuse.sh         # Ejecutar pruebas de rechazo
./sh/eval_refuse.sh        # Evaluar resultados de rechazo
./sh/score.sh              # Calcular puntuaciones finales

API de Python

Para acceso programático:

root@kitploit:~
from redeval.pipeline import PipelineOrchestrator, PipelinePhase
from redeval.config import EnvironmentConfig

# Inicializar la configuración
config = EnvironmentConfig.from_env()

# Crear el orquestador del pipeline
orchestrator = PipelineOrchestrator(config)

# Ejecutar el pipeline completo
orchestrator.run_complete_pipeline()

# Ejecutar fases específicas
orchestrator.run_phase(PipelinePhase.GENERATE_ATTACK)
orchestrator.run_phase(PipelinePhase.RUN_ATTACK)

🔒 Funciones de seguridad

✅ Gestión segura de credenciales

  • Sin claves de API codificadas en el código fuente
  • Configuración basada en variables de entorno
  • Compatibilidad con archivos .env con validación
  • Manejo seguro de tokens para la autenticación de HuggingFace

✅ Validación de entradas

  • Validación de variables de entorno al inicio
  • Validación de archivos de configuración
  • Validación de nombres de modelos y parámetros

✅ Manejo de errores

  • Clases de excepción personalizadas para diferentes tipos de errores
  • Registro integral de errores
  • Manejo elegante de fallos

✅ Buenas prácticas

  • Principio de mínimo privilegio
  • Valores predeterminados seguros
  • Registro integral sin exposición de datos sensibles

📚 Referencia de API

Comandos CLI

run-pipeline

Ejecuta el pipeline completo de evaluación o fases específicas.

Opciones:

  • --models: Lista de modelos a evaluar
  • --phases: Fases específicas a ejecutar
  • --config-dir: Ruta del directorio de configuración
  • --log-dir: Directorio de salida para los logs

generate-attack

Genera prompts de ataque adversarios.

Opciones:

  • --config: Ruta del archivo de configuración
  • --num-samples: Número de muestras a generar
  • --seed: Semilla aleatoria para la reproducibilidad

run-attack

Ejecuta la evaluación de ataques contra los modelos objetivo.

Opciones:

  • --config: Ruta del archivo de configuración
  • --model: Nombre del modelo objetivo
  • --num-samples: Número de muestras a procesar

eval-attack

Evalúa los resultados de ataque mediante modelos jueces.

Opciones:

  • --config: Ruta del archivo de configuración
  • --log-dir: Directorio que contiene los logs de ataque

run-refuse

Ejecuta las pruebas de la capacidad de rechazo.

Opciones:

  • --config: Ruta del archivo de configuración
  • --model: Nombre del modelo objetivo
  • --num-samples: Número de muestras a probar
  • --split: División del conjunto de datos a utilizar

eval-refuse

Evalúa los resultados de las pruebas de rechazo.

Opciones:

  • --config: Ruta del archivo de configuración
  • --log-dir: Directorio que contiene los logs de rechazo

score

Calcula las puntuaciones de seguridad a partir de los resultados de la evaluación.

Opciones:

  • --log-dir: Directorio que contiene los logs de evaluación
  • --keyword: Palabra clave a buscar en los resultados

Clases de la API de Python

PipelineOrchestrator

Gestión centralizada del pipeline.

Métodos:

  • run_complete_pipeline(): Ejecuta el pipeline completo de evaluación
  • run_phase(phase): Ejecuta una fase específica del pipeline
  • get_phase_status(phase): Obtiene el estado de una fase del pipeline

EnvironmentConfig

Gestión del entorno y la configuración.

Métodos:

  • from_env(): Carga la configuración desde variables de entorno
  • validate(): Valida la integridad de la configuración
  • setup_logging(): Configura el sistema de registro

🤝 Contribuciones

Configuración de desarrollo

  1. Hacer fork y clonar

    root@kitploit:~
    git clone https://github.com/knoveleng/redeval.git
    cd redeval
    
  2. Crear el entorno de desarrollo

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # En Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. Configurar los hooks de pre-commit

    root@kitploit:~
    pip install pre-commit
    pre-commit install
    

Directrices para contribuciones

  • Seguridad primero: Nunca hagas commit de claves de API ni datos sensibles
  • Variables de entorno: Utiliza variables de entorno para toda la configuración
  • Manejo de errores: Añade un manejo de errores adecuado con excepciones personalizadas
  • Documentación: Actualiza la documentación para las nuevas funciones
  • Pruebas: Añade pruebas para la nueva funcionalidad
  • Compatibilidad retrospectiva: Mantén la compatibilidad con las interfaces existentes

Estilo de código

  • Sigue PEP 8 para el código Python
  • Utiliza type hints cuando sea apropiado
  • Añade docstrings completos
  • Mantén patrones de registro coherentes

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

📚 Cita

Si encuentras útil este proyecto, considera citarlo en tu investigación:

root@kitploit:~
@inproceedings{
   dang2026redbench,
   title={RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models},
   author={Quy-Anh Dang and Chris Ngo and Truong-Son Hy},
   booktitle={ICLR 2026 Workshop on Principled Design for Trustworthy AI - Interpretability, Robustness, and Safety across Modalities},
   year={2026},
   url={https://openreview.net/forum?id=7pZXyk0d07}
}
Descargar herramienta
VariableDescripciónValor predeterminado
REDEVAL_PROJECT_ROOTDirectorio raíz del proyectoDirectorio actual
REDEVAL_LOG_DIRDirectorio de logs./logs
REDEVAL_RECIPES_DIRDirectorio de configuración./recipes
REDEVAL_LOG_LEVELNivel de registroINFO
REDEVAL_NUM_SAMPLESNúmero de muestras de evaluación10
REDEVAL_SEEDSemilla aleatoria0