isheng-eqi/agentfuzz
GitHub: isheng-eqi/agentfuzz
AgentFuzz 是一个基于 LangGraph 的 AI Agent 红队测试引擎,通过自适应多轮攻击图自动发现 Agent 系统的安全漏洞。
Stars: 0 | Forks: 0
# AgentFuzz
AI agent red-teaming engine — 用 LangGraph 构建的**自适应攻击图**,自动测试 AI agent 的安全性。
不是跑固定探针列表,而是像真正的攻击者一样:侦察 → 规划 → 攻击 → 分析 → 调整 → 再攻击。
## 为什么做这个
| 现有工具 | 局限 |
|----------|------|
| Garak / Promptfoo / Augustus | 测的是**LLM端点**,不是**agent系统** |
| 它们的方法 | 预定义探针库,单轮请求 → 二元判断 |
| AgentFuzz的方法 | 自适应多轮攻击,观察agent的工具调用链和决策偏差 |
覆盖 **OWASP Agentic Top 10** + **OWASP LLM Top 10** 两大标准。
## 快速开始
# 安装
pip install -e .
# 用内置 mock agent 测试(验证工具本身是否工作)
agentfuzz test --adapter mock -v
# 列出可用的攻击向量
agentfuzz list-attacks
# 测试真实的 HTTP agent
agentfuzz test --adapter http --url https://your-agent-api.com --api-key sk-xxx
## 架构
CLI → [LangGraph 攻击引擎] → [目标适配器] → 被测 Agent
│
├── 侦察 (Recon): 了解目标行为
├── 规划 (Plan): 选攻击向量
├── 攻击 (Attack): 发 payload
├── 分析 (Analyze): 判断结果
├── 判断 (Judge): 决定下一步
└── 报告 (Report): Markdown + JSON
### 攻击向量
| ID | 名称 | 严重度 |
|----|------|--------|
| ASI01 | Agent Goal Hijack | CRITICAL |
| LLM01 | Prompt Injection | CRITICAL |
| ASI02 | Tool Misuse | HIGH |
| LLM07 | System Prompt Leakage | HIGH |
### 添加新攻击向量
在 `src/agentfuzz/attacks/knowledge/` 下创建 YAML 文件即可,无需改代码:
id: MY001
name: My Custom Attack
owasp: CUSTOM
severity: high
description: 描述这个攻击向量的原理
tactics:
- name: my-tactic
description: 战术描述
seed_payloads:
- "攻击 payload 1"
- "攻击 payload 2"
indicators_of_success:
- 成功标志1
- 成功标志2
### 自定义适配器
继承 `TargetAdapter` 协议,实现三个方法:
class MyAdapter:
async def send_message(self, message: str) -> str: ...
async def get_tool_calls(self) -> list[ToolCall]: ...
async def reset(self) -> None: ...
## 开发
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest -v
## License
MIT
标签:AI智能体, DLL 劫持, LangGraph, 大语言模型, 安全规则引擎, 文档结构分析, 红队评估, 自动化攻击, 逆向工具