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绕过, 红队评估, 逆向工具