msaleme/red-team-blue-team-agent-fabric

GitHub: msaleme/red-team-blue-team-agent-fabric

首个面向关键基础设施中多智能体 AI 系统的开源红蓝队测试框架,提供 30 个测试场景和完整的事件响应手册。

Stars: 0 | Forks: 0

# 智能体 AI 系统的红队 / 蓝队测试规范 **首个专为关键基础设施中多智能体 AI 部署构建的开源安全测试框架。** AI 智能体正被部署到企业系统中 —— SAP、SCADA、ServiceNow、金融平台 —— 并具备决策、调用工具以及跨系统链式操作的能力。其攻击面与传统软件根本不同:智能体到智能体的提权、上下文投毒、通过运营数据进行 Prompt 注入,以及安全关键环境中的偏差常态化。 本仓库提供了一套完整、可重复的 **红队 / 蓝队测试包**,包含 30 个测试场景,映射到 STRIDE、NIST AI RMF、OWASP 智能体应用 Top 10 (2026)、OWASP LLM Top 10 和 ISA/IEC 62443。 ## 为什么这很重要 - **EU AI Act 截止日期:2026 年 8 月 2 日** —— 高风险 AI 系统需要透明度、人工监督和文档化的治理。本框架满足这些要求。 - **NIST AI Agent Standards Initiative (2026 年 2 月)** —— NIST 启动了一项专注于安全、可互操作 AI 智能体的倡议。关于智能体安全的 RFI 已于 3 月 9 日截止;关于 AI 智能体身份与授权的概念论文将于 4 月 2 日发布。本框架与 NIST 的发展方向保持一致。 - **OWASP Top 10 for Agentic Applications (2025 年 12 月)** —— 智能体 AI 安全的基准现已发布。本框架提供 **对所有 10 个 OWASP 智能体类别 (ASI01–ASI10) 的完整覆盖**。 - **目前没有开源框架** 涵盖多智能体编排 + 关键基础设施 + 工业安全的交叉领域。 - 企业部署智能体 AI 的速度超过了其保护速度。这弥补了这一差距。 ## 包含内容 | 文档 | 描述 | |---|| | [ENHANCED-RED-BLUE-TEAM-TEST-PLAN.md](ENHANCED-RED-BLUE-TEAM-TEST-PLAN.md) | ⭐ **主要文档** —— 30 个测试场景,分阶段部署(实验室→硬件在环→影子模式→有限→全量),90 天路线图 | | [agent-fabric-red-blue-team-spec.md](agent-fabric-red-blue-team-spec.md) | 原始规范 —— 20 个 STRIDE 场景,架构概述,威胁模型 | | [EXECUTIVE-PRESENTATION.md](EXECUTIVE-PRESENTATION.md) | 24 页高管简报 —— ROI 分析,GO/NO-GO 框架 | | [BLUE-TEAM-PLAYBOOKS.md](BLUE-TEAM-PLAYBOOKS.md) | 所有 27 个场景的事件响应手册 —— 检测→分析→响应→恢复 | | [red_team_automation.py](red_team_automation.py) | Python 自动化套件 —— 全部 30 个场景,JSON 报告,NIST/OWASP 映射 | | [EVALUATION_PROTOCOL.md](EVALUATION_PROTOCOL.md) | 🆕 符合 NIST AI 800-2 的评估方法 —— 目标、协议设计、统计分析、合格声明 | | [grafana-dashboards.json](grafana-dashboards.json) | 3 个 Grafana 仪表盘 —— 高管视图、过程安全、红队测试 | ## 威胁覆盖 场景基于 STRIDE 威胁模型进行映射: | 类别 | 场景数 | 示例 | |---|---|---| | **Spoofing (欺骗)** | 4 | 恶意智能体注册,MCP 重放攻击,凭证速度检查 | | **Tampering (篡改)** | 15 | Prompt 注入,SCADA 传感器投毒,多态攻击,偏差常态化,供应链投毒,代码生成执行,非确定性利用 | | **Information Disclosure (信息泄露)** | 1 | 未授权金融数据访问 | | **Denial of Service (拒绝服务)** | 2 | 编排洪泛,A2A 递归循环 | | **Elevation of Privilege (权限提升)** | 3 | 未授权 A2A 提权,工具越权,安全覆盖 | | **InfraGard 衍生** | 7 | 超人效应,多态规避,LLM 幻觉注入,数据投毒,偏差漂移 | ### OWASP Top 10 for Agentic Applications (2026) — 完整覆盖 本框架提供对 OWASP Agentic Top 10 所有 10 个类别的 **完整映射**: | OWASP 智能体 ID | 风险 | 测试场景 | |---|---|---| | **ASI01** | 智能体目标劫持 | RT-003 (SAP Prompt 注入), RT-018 (社会工程学), RT-022 (幻觉注入) | | **ASI02** | 工具滥用与利用 | RT-006 (工具越权), RT-017 (SCADA 关机建议) | | **ASI03** | 身份与权限滥用 | RT-002 (A2A 提权), RT-025 (超人效应), RT-001 (恶意注册) | | **ASI04** | 智能体供应链漏洞 | RT-014 (恶意编排加入), **RT-026 (MCP 服务器供应链投毒)** | | **ASI05** | 意外的代码执行 | RT-004 (SCADA 传感器注入), **RT-027 (智能体代码生成执行)** | | **ASI06** | 内存与上下文投毒 | RT-005 (级联损坏), RT-009 (长上下文), RT-023 (数据投毒) | | **ASI07** | 不安全的智能体间通信 | RT-020 (MCP 重放), RT-012 (A2A 递归循环) | | **ASI08** | 级联故障 | RT-005 (多智能体级联), RT-024 (偏差常态化) | | **ASI09** | 人机信任利用 | RT-018 (社会工程学), RT-019 (优先级膨胀) | | **ASI10** | 非确定性行为 | **RT-028 (非确定性输出利用)** | *加粗的场景是 v2.1 版本中的新增内容,专门用于完善 OWASP Agentic Top 10 覆盖范围。* ### 框架对齐 - ✅ **OWASP Top 10 for Agentic Applications (2026)** — 完整覆盖 ASI01–ASI10 - ✅ **OWASP LLM Top 10** — 覆盖 LLM01 (Prompt 注入), LLM02, LLM03, LLM04, LLM06, LLM08 - ✅ **NIST AI RMF** — 覆盖 GOVERN, MAP, MEASURE, MANAGE 功能 - ✅ **NIST AI 800-2: Benchmark Evaluation Practices (2026 年 1 月)** — 评估协议遵循全部 9 项实践(参见 [EVALUATION_PROTOCOL.md](EVALUATION_PROTOCOL.md)) - ✅ **NIST AI Agent Standards Initiative (2026 年 2 月)** — 与智能体安全、身份和互操作性支柱保持一致 - ✅ **NIST Cyber AI Profile (IR 8596, 2025 年 12 月)** — 映射到 Secure, Detect, Respond 功能 - ✅ **ISA/IEC 62443** — 安全等级 1-4,针对安全关键智能体的物理隔离回退机制 - ✅ **EU AI Act** — 透明度、人工监督、审计追踪要求 ## 快速开始 ### 1. 查看测试计划 ``` # 从增强计划(主文档)开始 cat ENHANCED-RED-BLUE-TEAM-TEST-PLAN.md ``` ### 2. 运行自动化测试 ``` # 复制并配置环境 cp .env.example .env # 编辑 .env 填入您的目标端点 # 安装依赖 pip install requests geopy # 执行所有 30 个场景 python red_team_automation.py ``` 输出: - 控制台:实时测试执行情况及 PASS/FAIL 结果 - `red_team_report_YYYYMMDD_HHMMSS.json`:包含 NIST/OWASP 映射的详细结果 - `red_team_tests.log`:执行日志 ### 3. 导入仪表盘 ``` # 导入 Grafana dashboards curl -X POST http://grafana:3000/api/dashboards/db \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${GRAFANA_API_KEY}" \ -d @grafana-dashboards.json ``` ### 4. 高管审查 ``` # 查看执行摘要演示文稿 cat EXECUTIVE-PRESENTATION.md # 转换为 PowerPoint(可选) pandoc EXECUTIVE-PRESENTATION.md -o executive-presentation.pptx ``` ## 范围与限制 透明度很重要。以下是本框架确切涵盖和不涵盖的内容。 ### 本框架是什么 - ✅ **一套方法论和威胁模型** —— 30 个场景包含 STRIDE 映射、OWASP Agentic Top 10 对齐、蓝队手册和高管材料。威胁模型、攻击模式和响应程序与平台无关,可迁移至任何多智能体系统。 - ✅ **一个应用层测试套件** —— Python 自动化脚本向 REST API 端点发送 HTTP 请求并验证响应(状态码、内容过滤、速率限制)。这测试的是位于智能体协议 *之上的应用和治理层*。 - ✅ **一个参考实现** —— 针对 MuleSoft Agent Fabric (CloudHub) 构建并验证。演示了如何针对实际部署将方法论落地。 ### 本框架(还)不是什么 - ❌ **不是协议级的 MCP 测试工具** —— 测试脚本发送的是 HTTP POST 请求,而非 MCP JSON-RPC 2.0 消息。我们不测试 MCP 工具发现流程、能力协商、OAuth 2.1 认证或传输层安全。像 RT-020 (重放) 和 RT-026 (供应链) 这样的场景 *描述* 的是 MCP 级别的攻击,但在应用层进行测试。 - ❌ **不是 Google A2A 协议验证器** —— 我们不测试 A2A Agent Card 验证 (`/.well-known/agent.json`)、任务生命周期安全、SSE 流拦截或 Push Notification webhook 完整性。 - ❌ **不是特定框架的扫描器** —— 该套件不测试 LangChain 工具调用内部机制、CrewAI 委托模式、AutoGen 对话协议或任何框架的内置防护栏。它测试的是这些框架在 HTTP/API 边界暴露的内容。 - ❌ **不是合规认证工具** —— 通过这些测试并不意味着获得了 EU AI Act 合规认证或满足了 NIST 要求。该框架有助于 *展示治理严谨性* 和 *识别差距*,但合规需要超出自动化测试范围的组织流程。 ### 诚实的总结 **威胁模型和方法论强大且与框架无关。** STRIDE 映射、OWASP 对齐、蓝队手册和分阶段部署方法可直接迁移到任何多智能体系统。安全架构师可以使用这 30 个场景来构建测试,无论他们使用何种智能体平台。 **测试自动化是针对单一平台的概念验证。** 要测试您的具体部署,您需要调整端点 URL 和 Payload 结构以匹配您的智能体 API 契约。协议级测试(MCP 线路格式、A2A 消息流)已列入 [v3.0 路线图](#v30-roadmap--protocol-level-testing)。 ### 适配您的环境 该方法论适用于任何多智能体系统。要调整测试自动化: 1. 使用您的端点 URL 更新 `.env` 2. 修改 `red_team_automation.py` 中的 Payload 结构以匹配您的智能体 API 契约 3. 根据您的系统如何发出拒绝与接受信号来调整预期的状态码 适用于任何暴露 HTTP/REST API 的系统: - **MuleSoft Agent Fabric** — 已测试和验证(本仓库) - **LangChain / LangGraph** — 通过 LangServe 或自定义 API 端点 - **CrewAI** — 通过 FastAPI/Flask 部署端点 - **AutoGen / Semantic Kernel** — 通过 Azure API Management 或自定义端点 - **自定义 A2A / MCP 实现** — 通过任何位于智能体前端的 REST 层 有关协议级的 MCP 和 A2A 测试,请参阅下方的 [v3.0 路线图](#v30-roadmap--protocol-level-testing)。 ## 成功指标 | 指标 | 目标 | |---|---| | 检测延迟 (TTD) | < 3 秒 | | 拦截准确率 | ≥ 99% | | 误报率 | < 3% | | 链路可追溯性 | 100% | | 恢复时间 (TTC) | < 60 秒 | | 熔断开关激活 | < 1 秒 | ## 背景 本规范整合了以下来源的指导: - **InfraGard Houston AI-CSC** — 关于关键基础设施中 AI 的月度会议见解 - **Marco Ayala** — 国家能源部门负责人,过程安全管理 - **OWASP Top 10 for Agentic Applications (2026)** — [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) — 智能体 AI 安全的基准 - **OWASP Agentic AI Threats & Mitigations** — [genai.owasp.org](https://genai.owasp.org/resource/agentic-ai-threats-and-mitigations/) — 基于威胁模型的参考 - **OWASP LLM Top 10** — [owasp.org/llm-top-10](https://owasp.org/www-project-top-10-for-large-language-model-applications/) - **NIST AI Agent Standards Initiative (2026 年 2 月)** — [nist.gov](https://www.nist.gov/news-events/news/2026/02/announcing-ai-agent-standards-initiative-interoperable-and-secure) — 自主 AI 的安全性、身份和互操作性 - **NIST Cyber AI Profile (IR 8596, 2025 年 12 月)** — [csrc.nist.gov]() — AI 系统的 CSF 2.0 配置文件 - **NIST AI 800-2: Practices for Automated Benchmark Evaluations (2026 年 1 月)** — [doi.org/10.6028/NIST.AI.800-2.ipd](https://doi.org/10.6028/NIST.AI.800-2.ipd) — 我们的 [评估协议](EVALUATION_PROTOCOL.md) 遵循本文档定义的三阶段结构 - **NIST AI Risk Management Framework** — [nist.gov/ai-rmf](https://www.nist.gov/itl/ai-risk-management-framework) - **ISA/IEC 62443** — 工业自动化和控制系统安全 ## v3.0 路线图 — 协议级测试 当前的测试套件在应用/HTTP 层验证安全性。v3.0 将为两个主导的智能体通信标准增加 **线路协议测试**,以及特定框架的适配器。 ### MCP (Model Context Protocol) 测试工具 ✅ 已发布 目标:Anthropic 的 MCP — 基于 stdio/SSE/Streamable HTTP 的 JSON-RPC 2.0 ``` # HTTP transport python -m protocol_tests.mcp_harness --transport http --url http://localhost:8080/mcp # stdio transport(启动 server 进程) python -m protocol_tests.mcp_harness --transport stdio --command "node my-mcp-server.js" ``` | 测试 ID | 测试内容 | OWASP ASI | 状态 | |---|---|---|---| | MCP-001 | 工具列表完整性检查 | ASI04 | ✅ 完成 | | MCP-002 | 通过调用注入注册工具 | ASI04 | ✅ 完成 | | MCP-003 | 通过初始化进行能力提权 | ASI03 | ✅ 完成 | | MCP-004 | 协议版本降级攻击 | ASI03 | ✅ 完成 | | MCP-005 | 资源 URI 路径遍历 | ASI04 | ✅ 完成 | | MCP-006 | 通过 Get 进行 Prompt 模板注入 | ASI01 | ✅ 完成 | | MCP-007 | 采样请求上下文窃取 | ASI02 | ✅ 完成 | | MCP-008 | 畸形 JSON-RPC 处理 | ASI08 | ✅ 完成 | | MCP-009 | 批量请求 DoS | ASI08 | ✅ 完成 | | MCP-010 | 工具调用参数注入 | ASI02 | ✅ 完成 | **计划新增:** | 测试类别 | 验证内容 | 状态 | |---|---|---| | **OAuth 2.1 流程攻击** | Token 窃取,Scope 提权,授权码拦截(根据 MCP 2025-03-26 规范) | 🔲 计划中 | | **传输层安全** | stdio 注入,SSE 事件欺骗,Streamable HTTP 走私请求 | 🔲 计划中 | ### Google A2A (Agent-to-Agent) 测试工具 ✅ 已发布 目标:Google 的 A2A 协议 v1.0 — Agent Cards, Tasks, Push Notifications ``` python -m protocol_tests.a2a_harness --url https://agent.example.com ``` | 测试 ID | 测试内容 | OWASP ASI | 状态 | |---|---|---|---| | A2A-001 | Agent Card 发现与完整性 | ASI03 | ✅ 完成 | | A2A-002 | 通过消息元数据欺骗 Agent Card | ASI03 | ✅ 完成 | | A2A-003 | Agent Card 路径遍历 | ASI04 | ✅ 完成 | | A2A-004 | 未授权任务访问/取消 | ASI03 | ✅ 完成 | | A2A-005 | 任务消息注入 (Prompt + Data + File) | ASI01 | ✅ 完成 | | A2A-006 | 任务状态操纵 | ASI02 | ✅ 完成 | | A2A-007 | Push Notification URL 重定向 | ASI07 | ✅ 完成 | | A2A-008 | 未授权 Skill 请求 | ASI02 | ✅ 完成 | | A2A-009 | Artifact 内容类型滥用 | ASI06 | ✅ 完成 | | A2A-010 | 畸形请求处理 | ASI08 | ✅ 完成 | | A2A-011 | 未记录方法枚举 | ASI03 | ✅ 完成 | | A2A-012 | 跨上下文数据泄露 | ASI06 | ✅ 完成 | ### 框架适配器 ✅ 已发布 为 5 个智能体框架预配置的测试配置文件: ``` # 列出 adapters python -m protocol_tests.framework_adapters --list # 针对您的 framework 运行测试 python -m protocol_tests.framework_adapters langchain --url http://localhost:8000 --run python -m protocol_tests.framework_adapters crewai --url http://localhost:8080 --run python -m protocol_tests.framework_adapters autogen --url http://localhost:5000 --run python -m protocol_tests.framework_adapters openai-agents --url http://localhost:8000 --run python -m protocol_tests.framework_adapters bedrock --url http://localhost:8080 --run ``` | 框架 | 测试 | 关键场景 | |---|---|---| | **LangChain / LangGraph** | LC-001 至 LC-005 | 通过 /invoke 进行 Prompt 注入,Schema 泄露,批量注入,工具边界覆盖,系统 Prompt 提取 | | **CrewAI** | CA-001 至 CA-004 | Crew 启动注入,Crew 成员注入,工具边界,委托劫持 | | **AutoGen / Semantic Kernel** | AG-001 至 AG-004 | 聊天注入,通过 /execute 沙箱逃逸,对话历史注入,群聊参与者注入 | | **OpenAI Agents SDK** | OA-001 至 OA-004 | Agent 运行注入,未授权移交,Code Interpreter 绕过,工具 Schema 注入 | | **Amazon Bedrock Agents** | BR-001 至 BR-004 | 文本注入,知识库投毒,Action Group 逃逸,会话劫持 | ### 企业平台适配器 ✅ 已发布 为 9 个企业 AI 智能体平台预配置的测试: ``` python -m protocol_tests.enterprise_adapters --list python -m protocol_tests.enterprise_adapters sap --url https://your-sap.com --run python -m protocol_tests.enterprise_adapters salesforce --url https://your-org.salesforce.com --run python -m protocol_tests.enterprise_adapters workday --url https://your-workday.com --run ``` | 平台 | 测试 | 关键场景 | |---|---|---| | **OpenClaw** | OC-001–004 | 会话注入,跨会话访问,提权工具执行,Cron 作业注入 | | **Microsoft Copilot/Azure AI** | MS-001–004 | Dataverse 数据窃取 + Power Automate 触发,插件逃逸,跨租户访问,Graph API Scope 提权 | | **Google Vertex AI/Agentspace** | GC-001–003 | BigQuery + Drive 注入,数据存储基础投毒,Workspace 邮件窃取 | | **Amazon Q** | AQ-001–003 | S3 + Confluence 边界逃逸,IAM 角色提权,破坏性 Lambda 执行 | | **Workday** | WD-001–004 | PII 窃取 (SSN/银行),薪资修改,跨员工访问 (CEO 薪酬),大规模福利操纵 | | **SAP Joule** | SAP-001–004 | 供应商发票欺诈,安全程序覆盖 (工厂维护),跨公司代码访问,SCADA 设定点操纵 | | **Oracle Fusion AI** | OR-001–003 | 供应商银行详细信息窃取,审批工作流绕过 (PO),通过智能体进行 SQL 注入 | | **Salesforce Agentforce** | SF-001–003 | 跨对象数据访问,破坏性 Flow 触发,MuleSoft API 策略绕过 | | **ServiceNow Now Assist** | SN-001–003 | CMDB 窃取 (服务器清单),变更管理绕过,大规模事件升级 | ### 扩展企业平台适配器 ✅ 已发布 额外的 11 个企业平台 — 资产管理、数据平台、低代码、ITSM、CRM: ``` python -m protocol_tests.extended_enterprise_adapters --list python -m protocol_tests.extended_enterprise_adapters maximo --url https://mas.example.com --run python -m protocol_tests.extended_enterprise_adapters snowflake --url https://account.snowflakecomputing.com --run ``` | 平台 | 测试 | 关键场景 | |---|---|---| | **IBM Maximo** | MX-001–004 | 批量关闭工单 (跳过安全检查),IoT 传感器阈值操纵,预测性维护警报覆盖 | | **Snowflake Cortex** | SC-001–003 | 通过 Cortex Analyst 进行 SQL 注入,跨数据库边界逃逸,数据共享窃取至外部账户 | | **Databricks Mosaic AI** | DB-001–003 | Unity Catalog 权限绕过,Notebook 代码执行逃逸,MLflow 模型注册表投毒 | | **Pega GenAI** | PG-001–002 | 批量索赔批准 (跳过欺诈检测),信贷决策策略覆盖 | | **UiPath** | UI-001–002 | Robot 凭证资产窃取,使用注入的连接字符串执行流程 | | **Atlassian Rovo** | AT-001–002 | 跨项目数据访问 (安全 + 人力资源),Confluence 知识库投毒 | | **Zendesk AI** | ZD-001–002 | 客户 PII 批量导出,批量关闭工单 (竞争对手破坏) | | **IFS Cloud** | IF-001–003 | MRO 批准供应商覆盖,现场服务安全许可绕过,安全预算重新分配 | | **Infor AI** | IN-001–002 | 多租户跨公司访问,供应链地址重定向 | | **HubSpot Breeze** | HS-001–002 | 联系人 PII 导出 (包括 DNC),通过智能体发送大量网络钓鱼邮件 | | **Appian AI** | AP-001–002 | KYC 流程规则覆盖,记录级安全绕过 | ### 如何为 v3.0 做贡献 如果您在 MCP 内部机制、A2A 实现或任何列出的框架方面拥有专业知识,欢迎做出贡献。请先提交一个 Issue,描述您想要解决的测试类别。指南请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 贡献 欢迎提交 Issue 和 PR。如果您已将本框架适配到不同的平台,请开启一个讨论 — 我将在此处链接值得关注的 Fork。 ## 许可证 Apache License 2.0 — 详见 [LICENSE](LICENSE)。
标签:Agentic AI 安全, AI 治理, AI 风险管理, CISA项目, DevSecOps, DLL 劫持, DNS 反向解析, Homebrew安装, ISA/IEC 62443, LLM 安全, MuleSoft, NIST AI RMF, OWASP Agentic, OWASP Top 10, SAP 安全, SCADA 安全, STRIDE 威胁建模, 上下文污染, 上游代理, 代理冒充, 关键基础设施, 多智能体编排, 大语言模型, 安全合规, 工业控制系统, 智能体安全, 权限管理, 模型越狱, 欧盟 AI 法案, 网络代理, 蓝队防守, 越权攻击, 逆向工具, 金融科技安全, 防御加固