microsoft/agent-governance-toolkit
GitHub: microsoft/agent-governance-toolkit
面向自主 AI Agent 的应用级安全中间件,提供策略执行、零信任身份、执行沙箱和可靠性工程,覆盖 OWASP Agentic Top 10 风险。
Stars: 9 | Forks: 1
# 🛡️ Agent Governance Toolkit
**面向自主 AI Agent 的应用级安全中间件**
*策略执行 · 零信任身份 · 执行沙箱 · 可靠性工程*
[](https://github.com/microsoft/agent-governance-toolkit/actions/workflows/ci.yml)
[](LICENSE)
[](https://python.org)
[](docs/OWASP-COMPLIANCE.md)
[](https://www.bestpractices.dev/projects/12085)
[](https://scorecard.dev/viewer/?uri=github.com/microsoft/agent-governance-toolkit)
[快速开始](#quick-start) · [软件包](#packages) · [集成](#framework-integrations) · [OWASP 覆盖](#owasp-agentic-top-10-coverage) · [架构说明](#architecture-notes) · [贡献指南](CONTRIBUTING.md)
## 为什么需要 Agent Governance?
AI Agent 框架(LangChain、AutoGen、CrewAI、Google ADK、OpenAI Agents SDK)允许 Agent 调用工具、生成子 Agent 并采取现实世界的行动——但**没有提供运行时安全模型**。Agent Governance Toolkit 提供:
- **确定性策略执行**,在每次 Agent 行动之前
- **零信任身份**,采用加密 Agent 凭证
- **执行沙箱**,具有权限环和终止控制
- **可靠性工程**,包含 SLO、错误预算和混沌测试
解决了 **[OWASP Agentic Top 10](https://owasp.org/www-project-agentic-ai-top-10/)** 中的 **10 项风险中的 9 项**,第 10 项(行为异常检测)正在积极开发中。
## 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ Agent Governance Toolkit │
│ pip install ai-agent-compliance[full] │
├─────────────────────────────────────────────────────────────────┤
│ (Python middleware layer) │
│ ┌───────────────────┐ ┌───────────────────────────┐ │
│ │ Agent OS Engine │◄────►│ AgentMesh │ │
│ │ │ │ │ │
│ │ Policy Engine │ │ Zero-Trust Identity │ │
│ │ Capability Model │ │ Ed25519 / SPIFFE Certs │ │
│ │ Audit Logging │ │ Trust Scoring (0-1000) │ │
│ │ Action Interception│ │ A2A + MCP Protocol Bridge│ │
│ └────────┬──────────┘ └─────────────┬─────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────────────┐ ┌───────────────────────────┐ │
│ │ Agent Hypervisor │ │ Agent SRE │ │
│ │ │ │ │ │
│ │ Execution Rings │ │ SLO Engine + Error Budget│ │
│ │ Resource Limits │ │ Replay & Chaos Testing │ │
│ │ Runtime Sandboxing│ │ Progressive Delivery │ │
│ │ Termination Ctrl │ │ Circuit Breakers │ │
│ └───────────────────┘ └───────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
## 软件包
| 软件包 | PyPI | 描述 |
|---------|------|-------------|
| **Agent OS** | [`agent-os-kernel`](https://pypi.org/project/agent-os-kernel/) | 策略引擎 —— 确定性动作评估、能力模型、审计日志、动作拦截、MCP 网关 |
| **AgentMesh** | [`agentmesh-platform`](https://pypi.org/project/agentmesh-platform/) | Agent 间信任 —— Ed25519 身份、SPIFFE/SVID 凭证、信任评分、A2A/MCP/IATP 协议桥接 |
| **Agent Hypervisor** | [`agent-hypervisor`](https://pypi.org/project/agent-hypervisor/) | 执行沙箱 —— 4 层权限环、Saga 编排、终止控制、连带责任、仅追加审计日志 |
| **Agent SRE** | [`agent-sre`](https://pypi.org/project/agent-sre/) | 可靠性工程 —— SLO、错误预算、重放调试、混沌工程、渐进式交付 |
| **Agent Compliance** | [`ai-agent-compliance`](https://pypi.org/project/ai-agent-compliance/) | 统一安装程序和合规文档 |
## 快速开始
```
# 安装完整治理 Stack
pip install ai-agent-compliance[full]
```
```
from agent_os import PolicyEngine, CapabilityModel
# 定义 Agent Capabilities
capabilities = CapabilityModel(
allowed_tools=["web_search", "file_read"],
denied_tools=["file_write", "shell_exec"],
max_tokens_per_call=4096
)
# 在每次 Action 前强制执行 Policy
engine = PolicyEngine(capabilities=capabilities)
decision = engine.evaluate(agent_id="researcher-1", action="tool_call", tool="web_search")
if decision.allowed:
# proceed with tool call
...
```
或安装单个软件包:
```
pip install agent-os-kernel # Just the policy engine
pip install agentmesh # Just the trust mesh
pip install agent-hypervisor # Just the hypervisor
pip install agent-sre # Just the SRE toolkit
```
## 框架集成
适用于 **12+ 种 Agent 框架**,包括:
| 框架 | Stars | 集成方式 |
|-----------|-------|-------------|
| [**Microsoft Agent Framework**](https://github.com/microsoft/agent-framework) | 7.6K+ ⭐ | **原生中间件** |
| [Dify](https://github.com/langgenius/dify) | 65K+ ⭐ | 插件 |
| [LlamaIndex](https://github.com/run-llama/llama_index) | 47K+ ⭐ | 中间件 |
| [LangGraph](https://github.com/langchain-ai/langgraph) | 24K+ ⭐ | 适配器 |
| [Microsoft AutoGen](https://github.com/microsoft/autogen) | 42K+ ⭐ | 适配器 |
| [CrewAI](https://github.com/crewAIInc/crewAI) | 28K+ ⭐ | 适配器 |
| [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) | — | 中间件 |
| [Google ADK](https://github.com/google/adk-python) | — | 适配器 |
| [Haystack](https://github.com/deepset-ai/haystack) | 22K+ ⭐ | Pipeline |
## OWASP Agentic Top 10 覆盖范围
| 风险 | ID | 状态 |
|------|----|--------|
| Agent 目标劫持 | ASI-01 | ✅ 策略引擎阻止未授权的目标更改 |
| 过度能力 | ASI-02 | ✅ 能力模型强制执行最小权限 |
| 身份与权限滥用 | ASI-03 | ✅ 具有 Ed25519 证书的零信任身份 |
| 不受控的代码执行 | ASI-04 | ✅ Hypervisor 执行环 + 沙箱 |
| 不安全的输出处理 | ASI-05 | ✅ 内容策略验证所有输出 |
| 记忆投毒 | ASI-06 | ✅ 具有完整性检查的情景记忆 |
| 不安全的 Agent 间通信 | ASI-07 | ✅ AgentMesh 加密通道 + 信任门控 |
| 级联故障 | ASI-08 | ✅ 断路器 + SLO 强制执行 |
| 人机信任缺失 | ASI-09 | ✅ 完整审计轨迹 + 飞行记录器 |
| 流氓 Agent | ASI-10 | 🔄 终止 + 隔离已实现;**行为异常检测正在积极开发中** |
## 文档
- [OWASP 合规映射](docs/OWASP-COMPLIANCE.md)
- [CSA Agentic Trust Framework 映射](docs/CSA-ATF-PROPOSAL.md)
- [更新日志](CHANGELOG.md)
- [贡献指南](CONTRIBUTING.md)
- [安全策略](SECURITY.md)
- [支持](SUPPORT.md)
## 架构说明
### 安全模型与边界
本工具包作为 **Python 中间件**运行——它在应用层拦截 Agent 操作,而不是在 OS 或 Hypervisor 层。理解这一边界至关重要:
| 它的功能 | 它不具备的功能 |
|---|---|
| 在执行前拦截并评估每个 Agent 动作 | 提供 OS 内核级的进程隔离 |
| 强制执行基于能力最小权限策略 | 防止受损的 Python 进程绕过策略 |
| 提供加密 Agent 身份 (Ed25519) | (默认情况下)在独立的地址空间中运行 Agent |
| 维护具有哈希链的仅追加审计日志 | 保证针对进程内对手的防篡改能力 |
| 通过信号系统终止不合规的 Agent | 防止 `try/except BaseException` 捕获终止信号 |
**对于需要强隔离的生产部署**,我们建议:
- 在**独立的进程或容器**中运行每个 Agent
- 将审计日志写入**外部仅追加接收器**(Azure Monitor、一次写入存储)
- 使用 OS 级别的 `process.kill()` 来终止隔离的 Agent 进程
POSIX 隐喻(内核、信号、系统调用)是一种架构模式——它为 Agent 治理提供了一个熟悉且易于理解的心智模型,但执行边界是 Python 解释器,而不是 OS 调度程序。
### 信任评分算法
AgentMesh 在 0–1000 的范围内分配信任评分,具有以下层级:
| 分数范围 | 层级 | 含义 |
|---|---|---|
| 900–1000 | 已验证合作伙伴 | 经过加密验证,长期受信任 |
| 700–899 | 受信任 | 拥有良好记录,具有较高权限 |
| 500–699 | 标准 | 具有有效身份的新 Agent 的默认层级 |
| 300–499 | 留用查看 | 权限受限,处于观察期 |
| 0–299 | 不受信任 | 仅限于只读或被阻止 |
新 Agent 的默认分数:**500**(标准层级)。分数变化由策略合规历史、成功完成任务和信任边界违规驱动。完整算法文档位于 [`packages/agent-mesh/docs/TRUST-SCORING.md`](packages/agent-mesh/docs/TRUST-SCORING.md)。
### 基准测试方法
策略执行基准测试是在涵盖 OWASP Agentic Top 10 风险类别的 **30 个场景测试套件**上测量的。结果(例如,策略违规率、延迟)特定于此测试套件,不应被解释为通用保证。有关方法、数据集和复现说明,请参阅 [`packages/agent-os/modules/control-plane/benchmark/`](packages/agent-os/modules/control-plane/benchmark/)。
### 已知限制与路线图
- **ASI-10 行为检测**:终止和隔离已实现;异常检测(工具调用频率分析、动作熵评分)正在积极开发中
- **审计轨迹完整性**:当前的哈希链位于进程内;计划集成外部仅追加日志
- **框架集成深度**:当前的适配器在函数级别包装 Agent 执行;计划更深入地挂钩框架原生工具调度和子 Agent 生成
- **可观测性**:计划集成 OpenTelemetry 以用于策略决策追踪
## 贡献
本项目欢迎贡献和建议。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详情。
大多数贡献需要您同意贡献者许可协议 (CLA)。详情请访问 https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA 机器人将自动确定您是否需要提供 CLA,并适当地装饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。
本项目已采用 [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)。有关更多信息,请参阅[行为准则常见问题解答](https://opensource.microsoft.com/codeofconduct/faq/)或联系 [opencode@microsoft.com](mailto:opencode@microsoft.com) 提出任何问题。
## 许可证
本项目根据 [MIT 许可证](LICENSE) 授权。
## 商标
本项目可能包含项目、产品或服务的商标或徽标。授权使用 Microsoft 商标或徽标须遵循并必须遵守 [Microsoft 商标与品牌指南](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general)。在修改后的本项目版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均受这些第三方政策的约束。标签:Agent 治理, AI 安全, AutoGen, JSONLines, LangChain, Lerna, OpenSSF, OWASP Top 10, PE 加载器, Python, SLO, Web报告查看器, 中间件, 人工智能, 可靠性工程, 合规, 微软, 无后门, 沙箱, 混沌工程, 渗透测试框架, 用户模式Hook绕过, 知识图谱, 策略执行, 网络安全, 轻量级, 防御, 隐私保护, 零信任, 风险控制