自动化与运维 ✓ Microsoft · 官方 policy-enforcementzero-trust-identityexecution-sandboxingaudit-loggingowasp-compliancemcp-securitypython-sdk

微软 Agent Governance Toolkit

为自主 AI 智能体的工具调用提供可执行的策略、身份与审计控制。

FollowAgents 评估 · FARS-2.1
谨慎使用
66/ 100 五分制 3.3 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全19 / 29 · 3.3/5

证据显示:策略引擎支持最小权限原则,通过YAML策略定义允许/拒绝操作,并支持require_approval机制,体现了用户确认。数据流透明性通过审计日志和决策记录实现。敏感数据处理有输入验证(如拒绝NaN/Inf)和审计日志。依赖安全通过Dependabot、SLSA、OpenSSF Scorecard等工具体现。外部影响通过策略控制工具调用,并有沙箱和权限环。回滚通过审计日志和策略变更管理支持。来源归属通过Microsoft官方组织验证。扣分原因:静态审查无法验证实际执行效果,且部分安全措施仅声明未提供详细证据。

2可靠稳定9 / 14 · 3.2/5

证据显示:自一致性通过形式化规范和992个一致性测试体现。依赖可用性通过多语言SDK和包管理支持。失败消息通过CLI错误处理和测试覆盖,如错误信息不泄露内部细节。扣分原因:静态审查无法验证运行时可靠性,且依赖可用性未提供实际运行证据。

3适用触发12 / 18 · 3.3/5

证据显示:受众和场景广泛,支持多种框架和语言。能力边界通过策略和权限环明确。触发精度通过策略条件和干预点实现。环境适配通过多平台部署文档和Docker支持。扣分原因:静态审查无法验证实际适配效果,且部分集成仅声明未提供详细证据。

4规范维护12 / 18 · 3.3/5

证据显示:信息架构清晰,有文档、规范、ADR。安装说明详细,支持多语言包。命名稳定性通过版本控制和弃用警告体现。示例和FAQ丰富。已知限制有专门文档。许可证为MIT。版本变更日志存在。维护责任通过GOVERNANCE.md和MAINTAINERS.md明确。扣分原因:静态审查无法验证文档与实际代码的一致性,且部分文档可能未及时更新。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性通过CLI和SDK的多种输出格式(JSON、plain)体现。边际价值通过解决实际问题(如策略执行、审计)体现。成本效益通过开源免费和多种部署选项体现。扣分原因:静态审查无法量化实际效益,且成本效益未提供具体数据。

6证据核验5 / 8 · 3.1/5

证据显示:声明可追溯性通过规范、测试和合规映射体现。跨来源佐证通过多个标准(OWASP、NIST等)和外部认证(AARM、ATF)体现。事实与推断分离通过文档区分设计意图和实现。扣分原因:静态审查无法验证外部认证的真实性,且部分声明仅依赖项目自身文档。

证据充分度: 评估于 2026年8月9日 审查版本 81955d48025c
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 静态审查无法验证实际执行效果,所有安全声明需通过运行测试和实际部署验证。
  • 部分安全措施(如SLSA、OpenSSF Scorecard)仅声明,未提供详细证据,需进一步核实。
  • 外部认证(AARM、ATF)的真实性需独立验证。
  • 文档可能未及时更新,需与实际代码核对。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Agent Governance Toolkit(AGT)是微软的开源智能体治理工具包,面向会调用工具、浏览网页、查询数据库或委派任务的自主智能体。其核心是在工具调用和消息发送抵达外部系统前,在应用中间件层执行确定性的策略判定,而不是依赖提示词约束。项目包含 Agent OS、Agent Control Specification、Agent Mesh、Agent Runtime、Agent SRE、Agent Compliance 等组件,并提供 Python、TypeScript、.NET、Rust 和 Go 的安装路径。策略可使用 YAML、OPA 或 Cedar,决策可结合身份、信任和防篡改审计记录;被拒绝的调用会产生 `GovernanceDenied`。它适合希望逐步加入策略执行和审计的团队,但其安全边界位于应用进程内,生产环境仍建议将每个智能体置于独立容器中。

开发者用 from agentmesh.governance import govern 导入包装器,并通过 govern(my_tool, policy="policy.yaml") 将现有工具函数置于治理入口之后。每次调用时,AGT 读取并评估 YAML 策略中的条件,例如匹配 action.type in ['drop', 'delete', 'truncate'],记录决策,并在拒绝时抛出 GovernanceDenied;允许的调用才执行原工具。需要程序化判定时,可用 AgentControl.from_path("manifest.yaml") 创建运行时,再以 runtime.evaluate("input", {...}) 获取 verdict。命令行提供 agt doctoragt verifyagt red-team scanagt lint-policy,分别用于安装检查、OWASP 证据校验、提示注入审计和策略文件校验。项目还列出 MCP Security Gateway、执行沙箱、SLO 与混沌测试、信任评分及框架适配等可选能力。

  1. 负责生产数据库工具的智能体团队,需要阻止 dropdeletetruncate 等破坏性操作,同时允许受策略约束的读取。
  2. 使用 OpenAI Agents SDK 构建客服或运维智能体的开发者,需要在工具调用前应用策略门控和信任层级。
  3. 运行多个共享凭据智能体的平台团队,需要通过 AgentMesh 身份、委派链和审计记录区分具体执行主体。
  4. 为 MCP 服务发布工具的团队,需要检查工具投毒、配置漂移、拼写仿冒或隐藏指令风险。
  5. 有 OWASP Agentic AI Top 10、NIST AI RMF、EU AI Act 或 SOC 2 证据需求的安全与合规团队,需要使用 agt verify 和审计导出支撑检查流程。

这个 Agent 有哪些优点和局限?

优点
  • 将策略判定置于工具调用、消息发送和委派操作的应用代码拦截点,可对被拒绝的动作实施确定性阻断。
  • 从两行 govern() 包装开始,并可按需叠加身份、审计、沙箱和 SRE 层,适合渐进式采用。
  • 提供 Python、TypeScript、.NET、Rust 和 Go 路径,以及 OpenAI Agents SDK、Claude Code、Semantic Kernel、LangGraph、CrewAI、MCP 等集成或适配说明。
  • 包含 agt verify、策略 lint、提示注入扫描、正式规格和 992 个一致性测试的项目级治理材料。
局限
  • 项目标注为 Public Preview,GA 前可能出现破坏性变更;旧 Python 包名已改为重定向到整合发行版的存根包。
  • 治理在应用中间件层实施,策略引擎与智能体共享同一进程边界;文档建议以独立容器提供操作系统级隔离。
  • 快速开始依赖 agent-governance-toolkit[full] 或核心发行版,基础 wheel 仅包含合规 CLI,已有安装方式可能需要调整。
  • 不同语言的功能覆盖并不相同:README 明确说明 Python 具有完整栈,其余 SDK 实现核心治理能力。

如何安装或部署这个 Agent?

前提是 Python 3.10+。安装完整快速开始依赖:

pip install agent-governance-toolkit[full]

基础 agent-governance-toolkit wheel 只安装合规 CLI;治理模块位于整合后的核心发行版中。也可按语言安装:TypeScript 使用 npm install @microsoft/agent-governance-sdk,.NET 使用 dotnet add package Microsoft.AgentGovernance,Rust 使用 cargo add agent-governance,Go 使用 go get github.com/microsoft/agent-governance-toolkit/agent-governance-golang。Azure 集成功能可选用 AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_CLIENT_SECRET

如何使用这个 Agent?

创建 policy.yaml,例如设置 default_action: allow,并添加条件为 action.type in ['drop', 'delete', 'truncate']、动作是 deny 的规则。然后包装工具:

from agentmesh.governance import govern
safe_tool = govern(my_tool, policy="policy.yaml")

调用 safe_tool(action="read", table="users") 时会在执行前完成策略检查;调用 safe_tool(action="drop", table="users") 会被拒绝并抛出 GovernanceDenied。可运行 agt doctor 检查安装,使用 agt lint-policy policies/ 验证策略,使用 agt verify --evidence ./agt-evidence.json --strict 在 CI 中严格校验证据。

常见问题

被策略拒绝的工具调用会怎样?
使用 govern() 包装的工具在动作被策略阻断时会抛出 GovernanceDenied,原工具不会在该路径上执行。
它能替代容器或操作系统级隔离吗?
不能。项目明确说明其在应用中间件层而非 OS 内核层执行,并建议生产环境为每个智能体运行独立容器。
是否只能用于某一个智能体框架?
不是。README 列出 Microsoft Agent Framework、Semantic Kernel、AutoGen、LangGraph、CrewAI、OpenAI Agents SDK、Google ADK 等集成或适配路径。
是否需要 Azure 凭据才能开始?
不需要。AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_CLIENT_SECRET 仅被列为 Azure 集成功能的可选环境变量。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents