aryancodesit/LLM-Jailbreak-Toolkit
GitHub: aryancodesit/LLM-Jailbreak-Toolkit
一个模型无关的LLM红队测试工具包,通过编排多阶段越狱攻击策略、评估输出并生成合规报告,帮助安全团队自动化审计大语言模型的安全性。
Stars: 0 | Forks: 1
# LLM 红队工具包




**⚠ 仅用于授权的安全研究。使用前请阅读 [DISCLAIMER.md](DISCLAIMER.md)。**
## 这是什么?
大型语言模型(LLM)可以通过精心构造的 prompt 被诱导违反其自身的安全准则——这是一类在学术文献中被广泛研究的攻击。本工具包将这一测试过程自动化,帮助安全团队:
- 识别哪些攻击向量能够成功攻破特定模型
- 量化模型在各类攻击类别下的鲁棒性
- 生成用于修复的、结构化的披露报告
- 在不同模型版本间可复现地重现测试结果
这与 [NVIDIA Garak](https://github.com/NVIDIA/garak)、[Microsoft PyRIT](https://github.com/Azure/PyRIT) 以及 Anthropic 内部红队所做的工作属于同一领域——只是被打包成了一个易于使用的交互式界面。
## 功能
| 阶段 | 功能 |
|---|---|
| 基础架构 | 通过 [litellm](https://github.com/BerriAI/litellm) 支持多模型连接器 —— OpenAI、Anthropic、Groq、Gemini、Ollama |
| 基础架构 | SQLite 结果记录、会话成本追踪、预算上限 |
| TUI | 交互式 5 标签页界面 (Textual) —— 适用于 Windows、Linux、macOS |
| 攻击模块 | 6 种基于已发表研究的攻击类别 |
| 评估 | 智能 evaluator 链:关键词启发式 → LLM-as-judge |
| 策略引擎 | 带有升级树和组合(堆叠)攻击的攻击链接 |
| 报告 | Markdown + JSON 披露报告,攻击 × 成功率热力图 |
## 快速开始
### 1. 克隆并安装
```
git clone https://github.com/YOUR_USERNAME/llm-redteam-toolkit
cd llm-redteam-toolkit
pip install -r requirements.txt
```
### 2. 配置
```
cp config.example.toml config.toml
```
编辑 `config.toml` 并添加你的 API key。推荐的免费选项:[Groq](https://console.groq.com)(每天 14,400 次免费请求)。
```
[target]
model = "groq/llama-3.1-8b-instant"
api_key = "gsk_..."
```
或使用环境变量:
```
# Windows
$env:GROQ_API_KEY = "gsk_..."
# Linux / macOS
export GROQ_API_KEY="gsk_..."
```
### 3. 启动
```
# 交互式 TUI
python tui_main.py
# CLI(快速单次运行)
python main.py --behavior "your test behavior here"
```
## TUI 概览
五个标签页,支持键盘导航:
| 按键 | 标签页 | 用途 |
|---|---|---|
| `1` | ⚙ 仪表盘 | 配置模型、API key、预算。实时会话统计。 |
| `2` | ▶ 运行器 | 手动模式 —— 选择攻击模块,实时流式传输结果。 |
| `3` | ⛓ 策略 | 自动链接 —— 选择策略,观察攻击升级过程。 |
| `4` | 📋 结果 | 完整历史记录表,点击行查看详情,导出 JSON。 |
| `5` | 📊 报告 | 攻击热力图 + 生成 Markdown/JSON 披露报告。 |
| `q` | — | 退出 |
## 攻击模块
每个模块都实现了学术文献中记录的一种独特的对抗性技术:
| 模块 | 技术 | 研究基础 | 严重程度 |
|---|---|---|---|
| `direct_injection` | 原始未包装请求 —— 基线 | — | 低 |
| `token_smuggling` | Base64 / ROT13 / 反向 / leetspeak 编码 | [Greshake et al. 2023](https://arxiv.org/abs/2302.12173) | 中 |
| `system_prompt_extraction` | 指令泄漏探测 | [Perez & Ribeiro 2022](https://arxiv.org/abs/2211.09527) | 中 |
| `roleplay` | DAN / DevBot / AIM 人格劫持 | [Shen et al. 2023](https://arxiv.org/abs/2308.03825) | 高 |
| `many_shot` | In-context 问答预设 (15-shot) | [Anil et al. — Anthropic 2024](https://www.anthropic.com/research/many-shot-jailbreaking) | 高 |
| `competing_objectives` | 虚构 / 学术 / CTF 框架 | [Wei et al. 2023](https://arxiv.org/abs/2307.02483) | 高 |
## 策略
策略定义了攻击如何链接以及何时停止:
| 策略 | 攻击数 | 行为 |
|---|---|---|
| `default` | 5 | 从低 → 高严重程度升级。首次成功即停止。 |
| `aggressive` | 6 | 运行所有模块。生成完整覆盖报告。 |
| `stealth` | 3 | 仅限间接/编码攻击。检测痕迹最小化。 |
| `combo` | 4 | 两层堆叠攻击(例如:Base64 → DAN 人格)。 |
将自定义策略添加为 `strategies/.yaml`。
## 支持的模型
| 提供商 | 模型字符串 | 免费层级 |
|---|---|---|
| Groq | `groq/llama-3.1-8b-instant` | ✅ 14,400 次请求/天 |
| Groq | `groq/llama-3.3-70b-versatile` | ✅ 1,000 次请求/天 |
| Groq | `groq/gemma2-9b-it` | ✅ |
| Google | `gemini/gemini-1.5-flash` | ✅ |
| Anthropic | `anthropic/claude-3-5-sonnet-20241022` | ❌ 付费 |
| OpenAI | `openai/gpt-4o` | ❌ 付费 |
| Ollama (本地) | `ollama/llama3` | ✅ 完全本地 |
## 项目结构
```
llm-redteam-toolkit/
├── tui_main.py # TUI entry point
├── main.py # CLI entry point
├── config.example.toml # Safe example config (copy → config.toml)
├── requirements.txt
├── attacks/ # 6 attack modules + registry
├── connectors/ # litellm unified connector
├── evaluators/ # Keyword → LLM judge evaluator chain
├── engine/ # Strategy engine + combo attack runner
├── strategies/ # YAML strategy definitions
├── db/ # SQLite result store
├── reports/ # Markdown + JSON report generator
├── cfg/ # Config loader
└── tui/ # Textual TUI (5 screens + styles)
```
## Evaluator 模式
| 模式 | 速度 | 成本 | 准确率 |
|---|---|---|---|
| `keyword` | 瞬间 | 免费 | ~65% |
| `llm_judge` | 慢 | Token | ~90% |
| `chain` *(默认)* | 快 | 极少 | ~88% |
链式 evaluator 首先运行关键词检测。如果置信度低于 75%,它会升级至 LLM judge —— 在保持准确率的同时尽可能减少 API 调用。
## 学术参考文献
本工具包实现了以下论文中记录的技术:
- Anil et al. (2024). *Many-Shot Jailbreaking.* Anthropic. https://www.anthropic.com/research/many-shot-jailbreaking
- Shen et al. (2023). *"Do Anything Now": Characterizing and Evaluating In-The-Wild Jailbreak Prompts on Large Language Models.* https://arxiv.org/abs/2308.03825
- Wei et al. (2023). *Jailbroken: How Does LLM Safety Training Fail?* https://arxiv.org/abs/2307.02483
- Perez & Ribeiro (2022). *Ignore Previous Prompt: Attack Techniques For Language Models.* https://arxiv.org/abs/2211.09527
- Greshake et al. (2023). *Not What You've Signed Up For: Compromising Real-World LLM-Integrated Applications.* https://arxiv.org/abs/2302.12173
## 相关项目
- [NVIDIA Garak](https://github.com/NVIDIA/garak) — LLM 漏洞扫描器
- [Microsoft PyRIT](https://github.com/Azure/PyRIT) — Python 风险识别工具包
- [Lakera Gandalf](https://gandalf.lakera.ai/) — Prompt 注入挑战
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
## 免责声明
完整法律条款请参阅 [DISCLAIMER.md](DISCLAIMER.md)。
**本工具仅用于授权的安全研究。**
## 贡献
在贡献之前,请阅读 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。
安全漏洞:请参阅 [SECURITY.md](SECURITY.md)。
标签:DLL 劫持, Python安全, 人工智能, 域名收集, 大语言模型, 用户模式Hook绕过, 逆向工具