Google上线Agent异常检测审计层:能识别工具误用与执行循环

Feng 50 阅读 AI技术

Google 在 Gemini Enterprise Agent 平台上线了一层推理驱动的监督审计能力,专门盯自主 Agent 的行为边界。它跑在 Agent Runtime 上,服务对象是用 Python 1.2 及以上版本 Agent 开发套件(ADK)搭建的 Agent。官方建议把 ADK 升到 2.1.0 及以上,目前该系统处于私有预览阶段。

告警落到 Security Command Center,和普通安全事件一起分诊

这套检测会消费 Agent 产生的追踪数据,判断运行是否越出预设边界,标出行为异常、可疑意图和策略违规。每条告警都带严重等级、触发原因的白话解释,以及推荐的处置动作。预警不会单独堆在一个新后台,而是并入 Security Command Center,由安全团队按既有流程分诊。

覆盖 OWASP Agentic Top 10 里的四类核心风险

内置检测规范对上的是四类风险:工具误用、身份与授权滥用、Agent 级联故障、失控 Agent。

工具误用这一类,包含不安全工具链调用、参数篡改、曲折提示注入。身份与授权滥用指向动态信任委托、身份伪造、记忆越权、混淆代理人漏洞引发的未授权操作。级联异常则盯无限落实循环、重试震荡、故障扩散、反馈循环放大。失控 Agent 检测识别三种行为:放弃既定角色、绕过安全护栏、偏离体系指令运行。资源耗尽、token 用量飙升这类运转隐患也在覆盖范围内。

Google 高级软件工程师 Achuth Narayan Rajagopal 的说法是,团队正在开发让企业结合自身业务场景界定异常判定基准的能力。企业可以用自然语言写弹性的检测规范,再配确定性规则,标记违反企业特定准则的行为;也能拿历史流量校验自定义业务逻辑的检测准确率。

启用前要过的几道门槛

一键开通是有的,但前提不少。记录与可观测性存储桶必须位于美国多区域。要通过 ADK 打开 Open Telemetry 追踪与记录,原始遥测必须完整抓到提示词输入与响应输出,不能把 enable_tracing 显式设成 false。区域扫描服务账号得对记录与可观测性存储桶有足够读权限,日志桶还要同时开 Log Analytics 与 Observability Analytics。Agent 必须保持活跃遥测流,系统才能校验设定并纳入监控边界。

系统自己发现的 Agent 会先进受观测列表。在显式启用观测之前,不会去拆解这些 Agent 的日志与追踪数据,也不产生费用。不满足前提的 Agent 不会被识别。

三层拆解:轻量统计先筛,LLM 再深挖

检测速率、成本和覆盖范围三者要平衡,所以追踪资料和日志是分层分析的。第一层做轻量扫描,对全吞吐跑统计异常检测,把异常会话挑出来;第二层是 LLM 推理层,只对挑出来的会话做深度分析。

举个官方给的例子。某 Inventory Agent 配了 list_inventory 工具,请求方要每次查看 100 条商品数据,Agent 就不断换偏移量反复调这个工具。这种调用可能不报错,也没有明确的策略违规,但行为模式本身就不正常。第一层按触发量和重复率,把该会话判为统计离群点;第二层看完整交互过程,认定这种大批量、跳偏移量的方式属于体系性爬取,返回判定结果加白话解释。

要是案例还需要进一步核查,系统会启动第三层触发级分析,对对话追踪记录里的单次工具执行流程、执行状态、参数历史逐项拆。上面那个例子里,体系会给出严重等级为“严重”、置信度 95% 的资源耗尽预警,附带完整判定依据和推荐处置:对该请求方限速,或封禁 list_inventory 工具;用授权校验限制批量库存访问;对大偏移量分页模式配告警。

异步执行,不占请求延迟

检测在实时执行路线之外异步跑,不会增加被监控请求的延迟。应用侧也能通过 ADK 回调或组件,把告警的严重等级、置信度跟预设阈值比对,超阈值就阻断后续工具触发。异常告警结果同样可以通过 API 拉取。

这里有个坑值得提前说:告警置信度是模型推理出来的,不是硬规则命中。拿它直接做自动封禁,误伤概率不低。更稳的做法是先用告警结果跑一段观察期,统计误报率,再决定哪些规则可以接到阻断链路上。

适用边界与风险

这套体系对已经在用 Gemini Enterprise Agent 平台、且遥测链路完整的企业最顺手。反过来,遥测存储不在美国多区域、或者 Agent 没走 ADK 追踪的团队,短期内接不进来。

自定义检测规范用自然语言写,灵活,但也意味着判定基准会随措辞漂移。上线前建议拿历史流量回放校验,确认准确率再放开。资源耗尽类告警尤其要留意,限速或封工具会直接影响业务可用性,阈值定太紧就是自己给自己制造故障。

另外,三层分析里第二层依赖 LLM,成本和延迟都集中在那里。全量会话直接进第二层不现实,第一层的统计筛选质量决定了整体检测的性价比。第一层漏掉的慢速、低频异常,第二层是看不到的。

验证方法

接入后先确认遥测是否真的完整:检查追踪记录里提示词输入与响应输出是否都在,enable_tracing 没有被显式关掉。再看 Agent 是否出现在受观测列表里,没出现说明前提条件有缺口。

检测生效的判定标准可以这样定:构造一个已知的误用场景(比如换偏移量批量拉取),确认第一层把它标成离群点、第二层给出判定与解释,且告警能落到 Security Command Center。跑通这条链路,才算真正接上了。

Feng
这位作者很神秘,还没有填写简介。