Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
redeval — [ICLR 2026] - 论文"RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"的官方仓库。 | Kitploit
工具/GitHubGitHub/knoveleng/redeval
论文与研究学习与教育精选资源AI 安全对抗性攻击
GitHubknoveleng/redeval

redeval

[ICLR 2026] - 论文"RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"的官方仓库。

查看仓库
2945个月前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" 的一部分,该论文是一个用于全面红队测试 LLM 的通用数据集。

📦 数据集:RedBench 数据集在 HuggingFace 上公开可用,地址为 knoveleng/redbench。它包含了跨多个安全类别和领域的全面红队测试提示。

🚀 快速开始

1. 设置环境

root@kitploit:~
# 克隆仓库
git clone https://github.com/knoveleng/redeval.git
cd redeval

# 安装依赖
pip install -r requirements.txt

# 复制并配置环境变量
cp .env.template .env
# 编辑 .env 文件,填入您的 API 密钥

2. 配置 API 密钥

编辑 .env 文件,填入您的凭证:

root@kitploit:~
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here

3. 运行评估

root@kitploit:~
# 设置环境
source ./sh/setup_env.sh

# 使用默认模型运行,您可以编辑 .env 定义要运行的模型
python -m redeval.cli run-pipeline

# 使用特定模型运行完整流水线
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# 或者运行单独阶段
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh

📋 目录

  • 概述
  • 架构
  • 安装
  • 配置
  • 使用
  • 安全特性
  • API 参考
  • 贡献
  • 许可证

🎯 概述

RedEval 通过两种互补方法评估 LLM 安全性:

🔴 攻击阶段

使用各种越狱技术测试 LLM 对抗对抗性提示的脆弱性:

  • 直接攻击:直接的有害提示
  • 人工越狱:人类设计的绕过技术
  • 零样本攻击:自动化的对抗性提示生成

🛡️ 拒绝阶段

评估 LLM 在多个安全数据集上适当拒绝有害请求的能力:

  • CoCoNot:上下文感知的内容审核
  • SGXSTest:安全指南检查
  • XSTest:跨域安全测试
  • ORBench:客观拒绝基准测试

📊 评分

计算结合攻击和拒绝性能的综合安全指标。

🏗️ 架构

核心组件

root@kitploit:~
redeval/
├── redeval/                 # 核心 Python 模块
│   ├── config.py           # 环境与配置管理
│   ├── pipeline.py         # 中心化流水线编排器
│   ├── cli.py              # 统一命令行接口
│   ├── exceptions.py       # 自定义异常处理
│   ├── generate_attack.py  # 攻击提示生成
│   ├── run_attack.py       # 攻击执行
│   ├── eval_attack.py      # 攻击评估
│   ├── run_refuse.py       # 拒绝测试
│   ├── eval_refuse.py      # 拒绝评估
│   └── score.py            # 指标计算
├── sh/                     # Shell 脚本接口
│   ├── setup_env.sh        # 环境设置
│   ├── generate_attack.sh  # 攻击生成脚本
│   ├── run_attack.sh       # 攻击执行脚本
│   ├── eval_attack.sh      # 攻击评估脚本
│   ├── run_refuse.sh       # 拒绝测试脚本
│   ├── eval_refuse.sh      # 拒绝评估脚本
│   └── score.sh            # 评分脚本
├── recipes/                # 配置文件
├── logs/                   # 评估结果
└── .env                    # 环境变量

评估流水线

root@kitploit:~
graph TD
    A[生成攻击提示] --> B[运行攻击测试]
    B --> C[评估攻击结果]
    D[运行拒绝测试] --> E[评估拒绝结果]
    C --> F[计算最终分数]
    E --> F
    F --> G[生成报告]

🛠️ 安装

先决条件

  • Python 3.8 或更高版本
  • OpenAI API 密钥
  • HuggingFace 令牌
  • Git

逐步安装

  1. 克隆仓库

    root@kitploit:~
    git clone <仓库地址>
    cd redeval
    
  2. 安装依赖

    root@kitploit:~
    pip install -r requirements.txt
    
  3. 配置环境

    root@kitploit:~
    cp .env.template .env
    # 编辑 .env 文件,填入您的 API 凭证
    
  4. 验证安装

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

⚙️ 配置

环境变量

RedEval 使用环境变量进行安全灵活的配置:

必需变量

变量描述示例
OPENAI_API_KEYOpenAI API 密钥sk-proj-...
HUGGINGFACE_TOKENHuggingFace 令牌hf_...

可选配置

模型配置

变量描述默认值
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:~
# 运行完整评估流水线
python -m redeval.cli run-pipeline

# 使用特定模型运行
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# 仅运行特定阶段
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack

独立组件

root@kitploit:~
# 生成攻击提示
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml

# 运行攻击评估
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# 评估攻击结果
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name

# 运行拒绝测试
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# 评估拒绝结果
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name

# 计算分数
python -m redeval.cli score --log-dir ./logs/attack/HarmBench/direct/model_name --keyword "unsafe"

Shell 脚本接口

对于偏好 shell 脚本的用户:

root@kitploit:~
# 设置环境(先运行)
source ./sh/setup_env.sh

# 运行评估阶段
./sh/generate_attack.sh    # 生成攻击提示
./sh/run_attack.sh         # 执行攻击
./sh/eval_attack.sh        # 评估攻击结果
./sh/run_refuse.sh         # 运行拒绝测试
./sh/eval_refuse.sh        # 评估拒绝结果
./sh/score.sh              # 计算最终分数

Python API

用于编程访问:

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

# 初始化配置
config = EnvironmentConfig.from_env()

# 创建流水线编排器
orchestrator = PipelineOrchestrator(config)

# 运行完整流水线
orchestrator.run_complete_pipeline()

# 运行特定阶段
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. Fork 并克隆

    root@kitploit:~
    git clone https://github.com/knoveleng/redeval.git
    cd redeval
    
  2. 创建开发环境

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # 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 代码
  • 在适当的地方使用类型提示
  • 添加全面的文档字符串
  • 保持一致的日志模式

📄 许可证

本项目采用 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随机种子0