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 ![RedAgent 架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ded3574856003206.svg) ## 问题所在 企业正在不断推出能够调用工具、访问数据并执行实际操作的 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, 多智能体, 大语言模型, 漏洞评估