Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
redeval — [ICLR 2026] — Официальный репозиторий статьи: «RedBench: универсальный набор данных для всестороннего red teaming больших языковых моделей» | Kitploit
Инструменты/GitHubGitHub/knoveleng/redeval
Статьи и ИсследованияОбучение и ОбразованиеПодобранные РесурсыБезопасность ИИСостязательная Атака
GitHubknoveleng/redeval

redeval

[ICLR 2026] — Официальный репозиторий статьи: «RedBench: универсальный набор данных для всестороннего red teaming больших языковых моделей»

Репозиторий
29436 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

RedEval - фреймворк для оценки безопасности LLM

Python 3.8+ License: MIT Dataset on HF

Комплексный фреймворк для оценки безопасности больших языковых моделей (LLM) с помощью систематического тестирования атак и отказов. RedEval предоставляет унифицированную, безопасную и расширяемую платформу для оценки устойчивости LLM к состязательным промптам и вредоносному контенту. Она является частью статьи "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models", которая представляет собой универсальный набор данных для комплексного red teaming LLM.

📦 Набор данных: Набор данных RedBench публично доступен на HuggingFace по адресу knoveleng/redbench. Он включает комплексные промпты для red teaming по множеству категорий безопасности и доменов.

🚀 Быстрый старт

1. Настройка окружения

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

2. Настройка API-ключей

Отредактируйте файл .env, указав свои учётные данные:

root@kitploit:~
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here

3. Запуск оценки

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

📋 Содержание

  • Обзор
  • Архитектура
  • Установка
  • Конфигурация
  • Использование
  • Функции безопасности
  • Справочник API
  • Участие в разработке
  • Лицензия

🎯 Обзор

RedEval оценивает безопасность LLM с помощью двух взаимодополняющих подходов:

🔴 Этап атаки

Проверяет уязвимость LLM к состязательным промптам с помощью различных техник джейлбрейка:

  • Прямые атаки: прямые вредоносные промпты
  • Человеческие джейлбрейки: обходные техники, созданные человеком
  • Zero-shot атаки: автоматическая генерация состязательных промптов

🛡️ Этап отказа

Оценивает способность LLM корректно отказывать в выполнении вредоносных запросов на основе нескольких наборов данных по безопасности:

  • CoCoNot: контекстно-зависимая модерация контента
  • SGXSTest: проверка правил безопасности
  • XSTest: кросс-доменное тестирование безопасности
  • ORBench: объективное бенчмаркирование отказов

📊 Оценка

Вычисляет комплексные метрики безопасности, объединяющие показатели как атак, так и отказов.

🏗️ Архитектура

Основные компоненты

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

Конвейер оценки

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

🛠️ Установка

Предварительные требования

  • Python 3.8 или выше
  • API-ключ OpenAI
  • Токен HuggingFace
  • Git

Пошаговая установка

  1. Клонирование репозитория

    root@kitploit:~
    git clone <repository-url>
    cd redeval
    
  2. Установка зависимостей

    root@kitploit:~
    pip install -r requirements.txt
    
  3. Настройка окружения

    root@kitploit:~
    cp .env.template .env
    # Edit .env with your API credentials
    
  4. Проверка установки

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

⚙️ Конфигурация

Переменные окружения

RedEval использует переменные окружения для безопасной и гибкой настройки:

Обязательные переменные

ПеременнаяОписаниеПример
OPENAI_API_KEYAPI-ключ OpenAIsk-proj-...
HUGGINGFACE_TOKENТокен HuggingFacehf_...

Необязательные параметры конфигурации

Конфигурация моделей

ПеременнаяОписаниеПо умолчанию
REDEVAL_OPEN_SOURCE_MODELSСписок моделей с открытым исходным кодом"Qwen/Qwen2.5-7B-Instruct"
REDEVAL_CLOSED_SOURCE_MODELSСписок проприетарных моделей"gpt-4o-mini"

Файлы конфигурации

Файлы конфигурации в каталоге recipes/ управляют параметрами оценки:

  • attack/base-open.yml — конфигурация атак для моделей с открытым исходным кодом
  • attack/base-close.yml — конфигурация атак для проприетарных моделей
  • attack/eval.yml — конфигурация оценки атак
  • refuse/base-open.yml — конфигурация отказов для моделей с открытым исходным кодом
  • refuse/base-close.yml — конфигурация отказов для проприетарных моделей
  • refuse/eval.yml — конфигурация оценки отказов

🚀 Использование

Интерфейс командной строки

RedEval предоставляет единый CLI для всех операций:

Полный конвейер

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

Отдельные компоненты

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

# Evaluate refusal results
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name

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

Интерфейс shell-скриптов

Для пользователей, предпочитающих shell-скрипты:

root@kitploit:~
# Set up environment (run first)
source ./sh/setup_env.sh

# Run evaluation phases
./sh/generate_attack.sh    # Generate attack prompts
./sh/run_attack.sh         # Execute attacks
./sh/eval_attack.sh        # Evaluate attack results
./sh/run_refuse.sh         # Run refusal tests
./sh/eval_refuse.sh        # Evaluate refusal results
./sh/score.sh              # Calculate final scores

Python API

Для программного доступа:

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

# Initialize configuration
config = EnvironmentConfig.from_env()

# Create pipeline orchestrator
orchestrator = PipelineOrchestrator(config)

# Run complete pipeline
orchestrator.run_complete_pipeline()

# Run specific phases
orchestrator.run_phase(PipelinePhase.GENERATE_ATTACK)
orchestrator.run_phase(PipelinePhase.RUN_ATTACK)

🔒 Функции безопасности

✅ Безопасное управление учётными данными

  • В исходном коде нет захардкоженных API-ключей
  • Конфигурация на основе переменных окружения
  • Поддержка файла .env с валидацией
  • Безопасная обработка токенов для аутентификации HuggingFace

✅ Валидация входных данных

  • Валидация переменных окружения при запуске
  • Валидация файлов конфигурации
  • Валидация имён моделей и параметров

✅ Обработка ошибок

  • Пользовательские классы исключений для различных типов ошибок
  • Комплексное журналирование ошибок
  • Корректная обработка сбоев

✅ Лучшие практики

  • Принцип минимальных привилегий
  • Безопасные значения по умолчанию
  • Комплексное журналирование без раскрытия чувствительных данных

📚 Справочник API

Команды CLI

run-pipeline

Запуск полного конвейера оценки или отдельных этапов.

Параметры:

  • --models: Список моделей для оценки
  • --phases: Конкретные этапы для запуска
  • --config-dir: Путь к каталогу конфигурации
  • --log-dir: Каталог для выходных журналов

generate-attack

Генерация состязательных атакующих промптов.

Параметры:

  • --config: Путь к файлу конфигурации
  • --num-samples: Количество генерируемых образцов
  • --seed: Случайное зерно для воспроизводимости

run-attack

Выполнение оценки атак против целевых моделей.

Параметры:

  • --config: Путь к файлу конфигурации
  • --model: Имя целевой модели
  • --num-samples: Количество обрабатываемых образцов

eval-attack

Оценка результатов атак с помощью моделей-судей.

Параметры:

  • --config: Путь к файлу конфигурации
  • --log-dir: Каталог, содержащий журналы атак

run-refuse

Запуск тестирования способности к отказам.

Параметры:

  • --config: Путь к файлу конфигурации
  • --model: Имя целевой модели
  • --num-samples: Количество тестируемых образцов
  • --split: Используемый сплит набора данных

eval-refuse

Оценка результатов тестов на отказы.

Параметры:

  • --config: Путь к файлу конфигурации
  • --log-dir: Каталог, содержащий журналы отказов

score

Расчёт показателей безопасности по результатам оценки.

Параметры:

  • --log-dir: Каталог, содержащий журналы оценки
  • --keyword: Ключевое слово для поиска в результатах

Классы Python API

PipelineOrchestrator

Централизованное управление конвейером.

Методы:

  • run_complete_pipeline(): Выполнение полного конвейера оценки
  • run_phase(phase): Выполнение конкретного этапа конвейера
  • get_phase_status(phase): Получение статуса этапа конвейера

EnvironmentConfig

Управление окружением и конфигурацией.

Методы:

  • from_env(): Загрузка конфигурации из переменных окружения
  • validate(): Проверка полноты конфигурации
  • setup_logging(): Настройка системы журналирования

🤝 Участие в разработке

Настройка среды разработки

  1. Форк и клонирование

    root@kitploit:~
    git clone https://github.com/knoveleng/redeval.git
    cd redeval
    
  2. Создание окружения разработки

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. Настройка pre-commit хуков

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

Рекомендации по участию

  • Безопасность прежде всего: Никогда не коммитьте API-ключи или чувствительные данные
  • Переменные окружения: Используйте переменные окружения для всей конфигурации
  • Обработка ошибок: Добавляйте корректную обработку ошибок с пользовательскими исключениями
  • Документация: Обновляйте документацию для новых функций
  • Тестирование: Добавляйте тесты для нового функционала
  • Обратная совместимость: Сохраняйте совместимость с существующими интерфейсами

Стиль кода

  • Соблюдайте PEP 8 для Python-кода
  • Используйте аннотации типов там, где это уместно
  • Добавляйте подробные docstring
  • Поддерживайте единообразные паттерны журналирования

📄 Лицензия

Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.

📚 Цитирование

Если этот проект оказался для вас полезным, пожалуйста, процитируйте его в своих исследованиях:

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}
}
Скачать инструмент
ПеременнаяОписаниеПо умолчанию
REDEVAL_PROJECT_ROOTКорневой каталог проектаТекущий каталог
REDEVAL_LOG_DIRКаталог журналов./logs
REDEVAL_RECIPES_DIRКаталог конфигураций./recipes
REDEVAL_LOG_LEVELУровень журналированияINFO
REDEVAL_NUM_SAMPLESКоличество образцов для оценки10
REDEVAL_SEEDСлучайное зерно (seed)0