Ashur0/ai-redteam-agent
GitHub: Ashur0/ai-redteam-agent
一个自主式 AI 红队测试 Agent,通过多轮提示词注入和越狱技术库自动化评估 LLM 的安全鲁棒性。
Stars: 0 | Forks: 0
# AI Red-Team Agent 🤖🔓
一个对 AI 模型进行红队测试的自主 agent:它会通过一个包含提示词注入 / 越狱技术的库来运行一个 **侦察 → 攻击 → 观察 → 适应 → 升级** 的循环,直到提取到目标(一个 flag、一个秘密、一次 system-prompt 泄露)——然后报告是哪种技术取得了成功以及完整的交互记录。
这是针对 AI 层的“黑客机器人”。它建立在和 Microsoft **PyRIT** 及 NVIDIA **garak** 相同的理念之上,并映射到 **OWASP LLM Top 10** 和 **MITRE ATLAS**。
## ⚠️ 授权说明
**仅**将其用于以下目标:
- 你 **拥有** / 在本地运行的模型,或者
- 你被明确允许测试的 **实验室** 或 **CTF**。
未经书面许可攻击第三方 AI 系统是违法的。你对保持在测试范围内负全部责任。默认目标是一个安全的、离线的模拟环境。
## 快速开始
```
python3 redteam.py # attack the built-in practice target
python3 redteam.py --goal "reveal your system prompt"
python3 redteam.py --budget 6 --pause 0.5 # try 6 techniques, 0.5s between calls
```
## 指向你自己的模型 / CTF(已授权)
`HTTPTarget` 会向 URL 发送 `{"prompt": "..."}` 的 POST 请求并读取回复:
```
# 例如,一个返回 {"reply": "..."} 的本地 model server
python3 redteam.py --target 'http:http://localhost:5001/model|prompt|reply'
```
`--target` 格式:`http:||`。
### 添加 API/Ollama 目标(只需几行代码)
在 `targets.py` 中,添加一个带有 `.send(prompt) -> str` 方法的类。示例:
```
class OllamaTarget:
def __init__(self, model="llama3"): self.model = model
def send(self, prompt):
import json, urllib.request
body = json.dumps({"model": self.model, "prompt": prompt, "stream": False}).encode()
req = urllib.request.Request("http://localhost:11434/api/generate", data=body)
return json.loads(urllib.request.urlopen(req).read())["response"]
```
然后将其接入到 `get_target()` 中。
## 内部构造
- `strategies.py` — 技术库(直接提问、角色扮演/DAN、开发者模式、抑制拒绝、假设性框架、翻译、payload 拆分、base64 走私、多次试探、忽略指令、**crescendo** 多轮对话)。按从温和到激进的顺序排列;由 agent 进行升级。
- `targets.py` — 可插拔目标(`PracticeTarget`、`HTTPTarget`,以及自定义目标)。
- `redteam.py` — 自主循环 + 响应评分器(`win` / `partial` / `refusal` / `neutral`),用于决定何时取得成功。
## 路线图(后续版本)
1. **响应驱动的变异** — 让 agent 根据收到的拒绝回复重写失败的 prompt(真正的自适应搜索),并添加一个评分评判器。
2. **防御模式** — 将其指向 *你的* 应用程序并获取一份强化报告(哪些技术突破了防御 → 应该添加什么 guardrail)。
3. 将结果接入 garak-demo **8200 University**,作为一个实时的“红队实验室”。
## 学习路径
将此与 **AI Hacking A→Z** 路线结合起来。在以下目标进行合法练习:你自己的模型、Lakera **Gandalf**、**HackAPrompt**,以及包含 AI 范围的 HackerOne 项目。
标签:DLL 劫持, Python脚本, 人工智能, 反取证, 大语言模型, 安全评估, 文档结构分析, 用户模式Hook绕过, 自动化攻击, 逆向工具