你搭了一个AI Agent,它能发邮件、查数据库、调API,还能自主做决策——听起来很酷,直到某个深夜,它自己把生产库给drop了。

这不是段子。当Agent有了"手脚"(工具调用),Prompt层的安全提示就像门上贴了张"请勿入内"的纸条——红队测试显示,纯提示词防护的策略违规率高达26.67%

上周,微软开源了 Agent Governance Toolkit(AGT),一个在应用层给Agent加"安全护栏"的运行时治理框架。最关键的是:两行代码就能生效,和任何框架兼容。


🎯 先搞清楚:它治什么病?

AGT解决三个核心问题:

① 这个动作为什么被允许? OAuth和IAM控制的是Agent"能访问哪些服务",但管不了它连上之后干什么。一个有send_emailquery_database权限的Agent,理论上也能drop_table

② 到底是谁干的? 多Agent系统里5个Agent共享一个API Key,出事了只能说"某个Agent干的"——这不是事件响应,是甩锅大会。

③ 能证明发生了什么吗? 审计和合规需要不可篡改的记录:哪条策略在生效、Agent请求了什么、为什么被允许或拒绝。


🚀 5分钟上手:两行代码给Agent加护栏

安装:

pip install agent-governance-toolkit[full]

写一个策略文件  [policy.yaml](http://policy.yaml)

apiVersion: 
            governance.toolkit/v1
          

name: production-policy

default_action: allow

rules:

  - name: block-destructive

    condition: "
            action.type
           in ['drop', 'delete', 'truncate']"

    action: deny

    description: "破坏性操作需要人工审批"


  - name: require-approval-for-send

    condition: "
            action.type
           == 'send_email'"

    action: require_approval

    approvers: ["security-team"]

两行代码接入:

from 
            agentmesh.governance
           import govern


safe_tool = govern(my_tool, policy="
            policy.yaml")
            # 每次调用都会检查、记录、执行

效果——

>>> safe_tool(action="read", table="users")

{'table': 'users', 'rows': 42}   # ✅ 允许


>>> safe_tool(action="drop", table="users")

GovernanceDenied: Action denied by policy rule 'block-destructive':

  破坏性操作需要人工审批      # ❌ 拦截

就这么简单。safe_tool 会在每次调用时评估YAML策略、记录决策,违规则抛出 GovernanceDenied


🏗️ 拆开看:8个模块各守一道门

AGT不是单点工具,而是一整套治理栈,按需叠加:

|
模块
|
干什么
|
| — | — |
| Agent OS |
策略引擎,Agent行为的"门卫"
|
| Agent Mesh |
Agent发现、路由与信任网格
|
| Agent Runtime |
执行沙箱,4层权限环隔离
|
| Agent SRE |
Kill Switch、SLO监控、混沌工程
|
| Agent Compliance |
OWASP合规验证、策略lint、完整性检查
|
| Agent Marketplace |
插件治理与信任评分
|
| Agent Lightning |
RL训练治理,违规惩罚
|
| Agent Hypervisor |
执行审计、delta引擎、承诺锚定
|

每一层都是可选的。大多数团队跑"策略执行 + 审计日志"就够了,不需要全套上齐。


🛡️ OWASP Agentic Top 10 全覆盖

这是AGT最硬的底气——它覆盖了2026年OWASP Agent应用十大风险的全部10项:

|
OWASP风险
|
AGT怎么防
|
| — | — |
|
ASI-01 Agent目标劫持
|
策略引擎在应用层拦截未授权行为变更
|
|
ASI-02 工具滥用
|
能力沙箱,最小权限授权
|
|
ASI-03 身份与权限滥用
|
DID去中心化身份 + 信任评分(0-1000)
|
|
ASI-04 Agent供应链漏洞
|
AI-BOM追踪模型、数据、权重的完整谱系
|
|
ASI-05 意外代码执行
|
4层权限环执行隔离
|
|
ASI-06 记忆/上下文投毒
|
VFS策略 + CMVK验证
|
|
ASI-07 不安全的Agent间通信
|
IATP + 加密通道
|
|
ASI-08 级联Agent故障
|
熔断器 + SLO + 错误预算
|
|
ASI-09 人-Agent信任利用
|
审批工作流
|
|
ASI-10 流氓Agent
|
Kill Switch + 权限环隔离
|

对比数据很直观:提示词防护策略违规率26.67%,AGT的应用层执行违规率——0.00%


🔧 实战:三个最常用的场景

场景一:防止Agent删库跑路

from 
            agent_os.policies
           import PolicyEvaluator, PolicyDocument, PolicyRule

from 
            agent_os.policies
           import PolicyCondition, PolicyAction, PolicyOperator, PolicyDefaults


evaluator = PolicyEvaluator(policies=[PolicyDocument(

    name="db-safety", version="1.0",

    defaults=PolicyDefaults(action=
            PolicyAction.ALLOW),
          

    rules=[PolicyRule(

        name="block-dangerous-tools",

        condition=PolicyCondition(

            field="tool_name",

            operator=
            PolicyOperator.IN,
          

            value=["execute_code", "delete_file", "drop_table"]

        ),

        action=
            PolicyAction.DENY,
           priority=100,

    )],

)])


result = 
            evaluator.evaluate({"tool_name":
           "web_search"})    # ✅ Allowed

result = 
            evaluator.evaluate({"tool_name":
           "delete_file"})   # ❌ Blocked

场景二:给Agent发"身份证"

from agentmesh import AgentIdentity


identity = 
            AgentIdentity.create(
          

    name="data-analyst",

    sponsor="admin@
            company.com",
          

    capabilities=["read:data"],  # 只能读,不能写和删

)

# 身份格式:did:agentmesh:{agentId}:{fingerprint}

# 信任评分会随时间衰减,需要持续"表现良好"来维持

场景三:CI/CD里跑合规检查

agt doctor                                        # 检查安装

agt verify                                        # OWASP合规检查

agt verify --evidence ./
            agt-evidence.json
           --strict # 严格模式,证据不足则CI失败

agt red-team scan ./prompts/ --min-grade B         # 提示注入审计

agt lint-policy policies/                          # 校验策略文件

把 agt verify --strict 加进CI pipeline,每次部署自动跑一轮OWASP检查。


🌍 多语言支持,无厂商锁定

AGT不是Python专属——

  • Python

    pip install agent-governance-toolkit[full]

  • TypeScript

    npm install @microsoft/agent-governance-sdk

  • .NET

    dotnet add package [Microsoft.AgentGovernance](http://Microsoft.AgentGovernance)

  • Rust
    crates.io   agentmesh
  • Go

    go get [github.com/microsoft/agent-governance-toolkit/agent-governance-golang](http://github.com/microsoft/agent-governance-toolkit/agent-governance-golang)   兼容AWS Bedrock、Google ADK、Azure AI、LangChain、CrewAI、AutoGen、OpenAI Agents、LlamaIndex等主流框架。


💡 什么时候该用,什么时候不必

✅ 适合用的场景:

  • Agent有数据库/文件系统/邮件等"真实操作"权限

  • 多Agent协作,需要区分"谁干了什么"

  • 面向企业客户,合规/审计是硬需求

  • Agent接触敏感数据(金融、医疗、法律)  ❌ 可以先不用的场景:

  • Agent只做信息检索和摘要,无副作用操作

  • 个人项目/原型阶段,安全不是首要考量

  • 已经有成熟的治理方案在跑


📌 一句话总结

Prompt层的"请遵守规则"是软约束,应用层的策略执行是硬约束。AGT做的事情很简单:在Agent动手之前,先问一句"这个动作合规吗?"——违规就拦,合规就放,全程留痕。

对于任何要把Agent推向生产环境的团队,这不是锦上添花,是必需品。


🔗 项目地址:  https://github.com/microsoft/agent-governance-toolkit

📖 5分钟快速入门:  https://microsoft.github.io/agent-governance-toolkit

📋 OWASP合规详情: 项目内 docs/ [OWASP-COMPLIANCE.md](http://OWASP-COMPLIANCE.md)


Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐