LLM-RedTeam · An Open-Source Red Team Toolkit for Chinese LLM Applications
对接 OpenAI / Dify / LangChain / MCP 等大语言模型应用,通过 多攻击策略 + LLM-as-Judge 自动化执行 Prompt 注入、越狱、信息泄露、工具滥用 等红队测试,输出可视化风险评估报告。
| 已有工具 | 局限 |
|---|---|
| NVIDIA/garak | 中文/国产模型 payload 极少,对 Dify、MCP 等新兴生态无支持 |
| microsoft/PyRIT | 架构重、面向企业、上手陡峭 |
| promptfoo | Node.js 技术栈,安全功能较通用化 |
| 绿盟 NSFGPT / AI-Scan | 商业产品,闭源 |
本项目的差异化:
- ✅ 中文原生:所有攻击 payload 以中文语境为主,兼容英文
- ✅ 生态覆盖:原生支持 OpenAI 兼容接口、Dify Workflow、LangChain Agent、MCP Server
- ✅ 学术对齐:攻击分类对齐 OWASP LLM Top 10 (2025) 与绿盟《LLM 安全威胁矩阵 V2.0》
- ✅ 轻量易扩展:插件式架构,新增一种攻击只需写一个 Python 文件
- ✅ LLM-as-Judge:使用更强的模型作为评判员,攻击成功率自动判定
┌──────────────────────────────────────────────────────────┐
│ CLI (Typer + Rich) │
├──────────────────────────────────────────────────────────┤
│ Runner (异步编排) │
├────────────┬──────────────┬─────────────┬────────────────┤
│ Attack │ Target │ Judge │ Reporter │
│ ──────── │ ────── │ ───── │ ───────── │
│ 越狱 │ OpenAI兼容 │ 关键词 │ Console │
│ 注入 │ Dify │ 正则 │ HTML │
│ 泄露 │ LangChain │ LLM-Judge │ JSON │
│ 滥用 │ MCP │ │ │
└────────────┴──────────────┴─────────────┴────────────────┘
详见 docs/DESIGN.md。
# 1. 克隆并安装
git clone https://github.com/SAMSUNGApple7/llm-redteam.git
cd llm-redteam
python -m venv .venv
.venv\Scripts\activate # Windows: PowerShell
# source .venv/bin/activate # Linux/macOS
pip install -e ".[dev]"
# 2. 配置密钥
cp .env.example .env # Linux/macOS
# Copy-Item .env.example .env # Windows PowerShell
# 编辑 .env 填入你的 API Key
# 3. 列出所有可用攻击
llm-redteam list-attacks
# 4. 跑一次最小测试
llm-redteam run --config examples/config.yaml
# 5. 查看报告
start reports/report.html # Windows
# open reports/report.html # macOS
⚠️ Windows + Python 3.10 + 中文路径用户注意如果项目路径包含中文(如
D:\项目\llm-redteam), Python 3.10 读取 hatchling 的.pth文件时会因编码问题报ModuleNotFoundError。 解决方案二选一:
- 设置环境变量
PYTHONUTF8=1(推荐)- 升级到 Python 3.11+(PEP 686 默认 UTF-8 模式)
在 PowerShell 中临时启用:
$env:PYTHONUTF8="1" llm-redteam list-attacks
DeepSeek、通义千问、Kimi、智谱 GLM 等均提供 OpenAI 兼容接口,
直接复用 openai 类型的 target 即可,无需额外代码。
以 DeepSeek 为例,在 .env 中配置:
OPENAI_API_KEY=sk-你的DeepSeek密钥
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_MODEL=deepseek-v4-pro然后运行内置的 DeepSeek 示例配置:
llm-redteam run --config examples/config.deepseek.yaml💡 推理模型注意:DeepSeek-V4、OpenAI o 系列等推理模型会先生成思维链 再输出答案,须把
max_tokens调大(示例配置已设为 4096), 否则思维链会耗尽 token 配额导致响应为空。
✅ 已实现 · 🚧 进行中 · 📅 路线图
当前:v0.1.0 (Alpha) —— 已实现核心架构和最小可用攻击集,可执行端到端测试。
路线图:见 docs/ROADMAP.md。
本项目设计参考了:
- NVIDIA/garak 的 Probe/Detector 插件机制
- microsoft/PyRIT 的 Orchestrator 编排思想
- OWASP LLM Top 10 的威胁分类
- 绿盟科技《LLM 安全威胁矩阵 V2.0》 的威胁建模
