aryancodesit/LLM-Jailbreak-Toolkit

GitHub: aryancodesit/LLM-Jailbreak-Toolkit

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

Stars: 0 | Forks: 1

# LLM 红队工具包 ![Python](https://img.shields.io/badge/python-3.11+-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey) ![Status](https://img.shields.io/badge/status-research%20tool-orange) **⚠ 仅用于授权的安全研究。使用前请阅读 [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绕过, 逆向工具