Sravani2808/LLM-RedTeam-Evaluator
GitHub: Sravani2808/LLM-RedTeam-Evaluator
该框架通过自动化执行多类别对抗性提示词攻击,对大语言模型的安全防御能力进行评估、风险评分和可视化报告生成。
Stars: 1 | Forks: 0
# LLM 红队评估框架
## 概述
**LLM 红队评估框架** 是一个基于 Python 的安全测试工具,旨在针对对抗性提示词对大型语言模型 (LLM) 进行评估。
该框架会自动测试 LLM 在面对诸如越狱尝试、提示词注入、隐私泄露、偏见、幻觉以及其他安全风险等攻击时的表现。
本项目旨在分析 AI 模型是否遵循了安全准则并生成负责任的回复。
# 功能
## 🔐 对抗性测试
该框架会针对多种攻击类别评估 LLM 的回复:
- 越狱攻击
- 提示词注入攻击
- 系统提示词提取尝试
- 隐私泄露尝试
- 偏见评估
- 幻觉测试
- 数据泄露检测
- 毒性评估
- 虚假信息测试
- 角色劫持尝试
## 📊 自动化评估
系统会自动生成:
- PASS / FAIL 评估
- 攻击严重程度评分
- 安全评分
- 风险等级分类
- 评估结果说明
## 📄 报告
生成:
- 基于 CSV 的评估报告
- 汇总统计数据
- 风险分析
## 📈 可视化仪表板
创建可视化报告:
- PASS 与 FAIL 图表
- 风险分布图表
- 安全评分分布图表
# 系统架构
```
Adversarial Prompts
|
↓
Prompt Testing Engine
|
↓
Local LLM (Ollama + Llama 3.2)
|
↓
Response Evaluation Module
|
↓
Risk Scoring Engine
|
↓
CSV Reports + Visualization
```
# 技术栈
## 编程语言
- Python
## LLM 平台
- Ollama
- Llama 3.2
## 库
- Matplotlib
- Pandas
- CSV
- JSON
# 项目结构
```
LLM-RedTeam-Evaluator/
│
├── run.py
│ Runs adversarial tests on the LLM
│
├── evaluator.py
│ Evaluates model responses and assigns scores
│
├── prompts.json
│ Contains red-team attack prompts
│
├── summary.py
│ Generates evaluation statistics
│
├── visualization.py
│ Creates evaluation charts
│
├── results/
│
│ ├── results.csv
│ └── charts/
│
└── README.md
```
# 评估方法
每个 LLM 的回复都会通过以下标准进行评估:
## 攻击严重程度
衡量攻击提示词的危险程度。
评分范围:
```
1 - Low Risk
5 - Critical Risk
```
## 安全评分
衡量模型防御攻击的能力。
评分范围:
```
1 - Unsafe Response
5 - Safe Response
```
## 风险等级
分类:
```
Low
Medium
High
```
# 评估示例
| 类别 | 攻击严重程度 | 评估结果 | 安全评分 | 风险等级 |
|----------|----------------|------------|--------------|------------|
| 越狱 | 5 | PASS | 5 | Low |
| 隐私 | 5 | PASS | 5 | Low |
| 提示词注入 | 4 | PASS | 5 | Low |
| 幻觉 | 3 | PASS | 5 | Low |
# 安装
克隆代码库:
```
git clone
```
进入项目目录:
```
cd LLM-RedTeam-Evaluator
```
创建虚拟环境:
```
python -m venv venv
```
激活环境:
Windows:
```
venv\Scripts\activate
```
安装依赖项:
```
pip install -r requirements.txt
```
# 运行项目
## 第一步:运行 LLM 评估
```
python run.py
```
这将执行所有的红队测试。
## 第二步:生成汇总
```
python summary.py
```
## 第三步:生成可视化报告
```
python visualization.py
```
# 输出
该框架生成:
```
results/
├── results.csv
└── charts/
├── evaluation_results.png
├── risk_distribution.png
└── safety_scores.png
```
# 未来改进
未来的增强计划:
- 集成多个 LLM 提供商
- 自动化生成越狱攻击
- 基于机器学习的评估评分
- 使用 Flask 构建 Web 仪表板
- 高级偏见与毒性检测
- 用于持续 AI 安全测试的 CI/CD pipeline
# 作者
**Sravani Rangineni**
计算机科学与工程
人工智能与机器学习
# 最终项目结构
```
LLM-RedTeam-Evaluator/
│
├── run.py
│ Main execution file.
│ Runs adversarial prompts against the local LLM model.
│
├── evaluator.py
│ Evaluation engine.
│ Performs safety checks, scoring, and risk classification.
│
├── prompts.json
│ Red-team attack dataset.
│ Contains jailbreak, prompt injection, privacy,
│ bias, hallucination, and other test cases.
│
├── summary.py
│ Generates evaluation summary metrics.
│ Calculates pass rate, safety score, and risk distribution.
│
├── visualization.py
│ Creates visual charts for evaluation results.
│
├── requirements.txt
│ Contains required Python dependencies.
│
├── README.md
│ Complete project documentation.
│
├── .gitignore
│ Prevents unnecessary files from being uploaded to GitHub.
│
│
├── screenshots/
│
│ ├── test_execution.png
│ │ Example LLM red-team test execution output.
│ │
│ ├── evaluation_report.png
│ │ Screenshot of generated CSV evaluation report.
│ │
│ ├── evaluation_summary.png
│ │ Evaluation summary output.
│ │
│ ├── evaluation_chart.png
│ │ PASS/FAIL visualization chart.
│ │
│ └── risk_chart.png
│ Risk distribution visualization chart.
│
│
└── results/
│
├── results.csv
│ Detailed LLM evaluation results.
│
└── charts/
│
├── evaluation_results.png
│ PASS vs FAIL chart.
│
├── risk_distribution.png
│ Risk level distribution chart.
│
└── safety_scores.png
Safety score distribution chart.
```
标签:AI安全, AI风险缓解, Chat Copilot, Clair, DLL 劫持, Python, Web技术栈, 人工智能, 大语言模型, 无后门, 用户模式Hook绕过, 红队评估, 逆向工具