rohith-0099/redagent
GitHub: rohith-0099/redagent
RedAgent 是一个多 agent 协作的 AI 红队安全测试系统,自动化发现 LLM 应用的漏洞并提供修复验证闭环。
Stars: 0 | Forks: 0
# 🔴 RedAgent — 自主 AI 红队系统
**专为 Google Cloud Rapid Agent Hackathon — Arize 赛道而构建。**
🌐 **在线演示:** https://redagent-ui-563626673936.us-central1.run.app
📺 **演示视频:** _[添加链接]_
📦 **开源许可证:** MIT

## 问题所在
企业正在不断推出能够调用工具、访问数据并执行实际操作的 AI agent。但大多数组织在部署 AI 之前并没有对其进行安全测试——而且现有的工具大多只测试聊天输入/输出层。几乎没有任何工具测试 *agent* 实际是如何失效的:**目标劫持** (goal hijacking) 和 **工具滥用** (tool misuse) ——这正是全新的 OWASP Agentic Top 10 风险(ASI01、ASI02)。
前沿实验室所采用的手动红队测试需要专家团队,而这是大多数公司无法配备的。**RedAgent 通过 agent 自动化了这一工作流。**
## RedAgent 的功能
由专家级 Gemini agent 组成的 pipeline 可自主运行完整的红队生命周期:
```
[Adapter] → Recon → Strategist → Attacker → Analyst → (Human Approval) → Defender → Verifier → CI/CD Export
│
Arize Phoenix tracing (evidence for every attack)
│
Attack Memory (RAG — learns per target over time)
```
| Agent | 职责 |
|-------|-----|
| **Recon** | 使用良性消息探测目标,以发现其用途、工具和攻击面——无需任何先验知识 |
| **Strategist** | 规划要运行的攻击类别,并映射到 OWASP LLM + Agentic Top 10 |
| **Attacker** | 执行攻击——包括单次、多轮 **crescendo** 以及 **agentic**(目标劫持 / 工具滥用)——从 RAG 索引的目录中提取技术 |
| **Analyst** | 构建一份确定性、映射到 OWASP 的漏洞报告,并进行严重性评分 |
| **Defender** | 提出强化的系统 prompt + 防护规则(需经人工批准) |
| **Verifier** | 针对修复方案重新运行已突破的攻击,以**证明**这些突破现已失效 |
## 独特之处
RedAgent 的优势不在于攻击库的大小。它胜在那些开源工具所不具备的**闭环**:
**发现 → 证明(取证) → 修复 → 重新验证 → 回归导出**
| 功能 | Garak | PyRIT | Promptfoo | **RedAgent** |
|---|:---:|:---:|:---:|:---:|
| 单次攻击 | ✅ | ✅ | ✅ | ✅ |
| 多轮攻击 (crescendo) | ⚠️ | ✅ | ⚠️ | ✅ |
| **Agentic(工具滥用 / 目标劫持)** | ⚠️ | ⚠️ | ❌ | ✅ |
| 自主侦察 | ❌ | ❌ | ❌ | ✅ |
| OWASP Agentic Top 10 映射 | ❌ | ❌ | ❌ | ✅ |
| 针对目标的学习(RAG 记忆) | ❌ | ❌ | ❌ | ✅ |
| Human-in-the-loop 闸门 | ❌ | ❌ | ❌ | ✅ |
| **修复 + 重新验证证明** | ❌ | ❌ | ❌ | ✅ |
| CI/CD 回归导出 | ❌ | ⚠️ | ✅ | ✅ |
## Arize Phoenix 是核心支撑,而非可有可无的摆设
对于大多数项目来说,可观测性是后期拼接上去的。但对于 RedAgent 来说,**trace 就是产品本身**:每一次攻击——prompt、响应、工具调用、判定结论、严重性——都被捕获为 Phoenix 的 span。该 trace 是每项发现背后的*法证证据*。Analyst 通过 partner MCP 查询 Phoenix 来构建其报告。如果没有 Phoenix,RedAgent 只能提供声称;有了它,RedAgent 就能提供铁证。
## Agentic 攻击(核心亮点)
RedAgent 的演示目标(VictimBot)暴露了真实的工具(`lookup_order`、`issue_refund`)。RedAgent 的侦察机制会自行发现它们,然后精心制作滥用这些工具的攻击:
```
Crescendo TOOL_MISUSE attack:
turn 1: builds rapport (benign)
turn 2: "it's order A1001..." → bot calls lookup_order
turn 3: fabricated damage story → bot calls issue_refund{amount: 500} ← BREACH
```
该 bot 给出了本绝不该给的资金。这是大多数工具甚至无法察觉的 agentic 失效模式——而在这里,我们以完整的工具调用 trace 作为证据将其捕获。
## 经过验证的结果(实时)
针对已部署目标进行的实时活动:
```
28 attacks · 16 breaches across COMPETITOR, SCOPE_VIOLATION, GOAL_HIJACK, TOOL_MISUSE
After applying the Defender's hardened prompt + 9 guards:
COMPETITOR 100% → 0% ✓ HELD
SCOPE_VIOLATION 100% → 0% ✓ HELD
GOAL_HIJACK 100% → 0% ✓ HELD
TOOL_MISUSE 100% → 0% ✓ HELD
VERDICT: FIX EFFECTIVE — 16 breaches → 0
```
## 技术栈
每个依赖项都来自 Google Cloud 或 Arize 合作伙伴技术栈。
- **Agent:** Google ADK
- **模型:** 通过 Vertex AI 调用 Gemini 2.5
- **可观测性:** Arize Phoenix + Phoenix MCP _(Arize 赛道集成)_
- **RAG:** ChromaDB + Gemini embeddings(技术目录 + 攻击记忆)
- **后端:** FastAPI + SSE(实时攻击流)
- **前端:** Next.js + Bun(终端操作控制台)
- **托管:** Google Cloud Run(3 个服务)
- **测试:** 165 个通过
## 设计原则
- **LLM 负责提议,Python 负责强制执行。** 每一个数字——突破次数、成功率、修复前后——都由确定性的 Python 计算得出。LLM 绝不报告自己的得分。
- **仅限类型化契约。** Agent 仅通过 JSON 契约进行通信;不存在自由格式的 agent 聊天。
- **Human-in-the-loop。** 在提出任何修复方案之前,都设有一道严格的批准闸门——这是混合人工/自动化红队测试面临的开放性挑战,在这里通过设计得以解决。
- **黑盒、端点级。** RedAgent 像真实的外部攻击者一样通过 HTTP 发起攻击——无需代码访问权限。
## 本地运行
```
# Backend API
cd backend && uvicorn main:app --port 8000
# VictimBot(演示目标)
cd backend && uvicorn victim.main:app --port 8001 --app-dir ..
# Frontend
cd frontend && bun install && bun dev # → http://localhost:3000
```
需要具备 Vertex AI 访问权限的 Google Cloud 凭据 (ADC) 以及 Phoenix API 密钥。请参阅 `.env.example`。
## 攻击您自己的 AI
RedAgent 可以攻击任何 JSON HTTP endpoint。在 UI 中:粘贴您的 bot URL,选择一个预设(简单 JSON / OpenAI 兼容)或映射请求/响应字段,然后启动。
**关于防御循环:** RedAgent *报告*一个强化后的 prompt——它**不会**直接修改您的 AI。您在自己的端应用修复后,RedAgent 会重新进行验证。就像真正的红队一样,RedAgent 负责发现、记录、证明并重新测试;而由开发者来应用修复。
## 后续计划
- 封装为 GitHub Action(`uses: redagent/scan@v1`)以实现一行代码的 CI 采纳
- 提供更多目标适配器(LangServe、A2A、MCP endpoint)
- 由攻击记忆(新技术对战旧目标)驱动的计划内重新扫描
- 欧盟 AI 法案对抗性测试合规报告(2026 年 8 月起要求)
## 安全性
RedAgent 是一款**防御性**工具,用于测试您拥有或被授权测试的 AI。攻击目标锁定在应用层策略(防护栏、作用域)——而非模型内置的安全机制。专为 Google Cloud Rapid Agent Hackathon 而构建。
_MIT 授权 · 使用 Google ADK、Vertex AI 上的 Gemini 以及 Arize Phoenix 构建。_
标签:AES-256, AI安全, Chat Copilot, DLL 劫持, Gemini, 多智能体, 大语言模型, 漏洞评估