一个AI代理的审批门,到底在批什么?多数human-in-the-loop(人工介入)方案只回答一个问题:这个工具允不允许用。有人在approve_payment上点了“通过”,门就算过了。但这次批准绑定的是动词,不是对象——它没有和这个收款方、这个金额、这张发票绑在一起。于是点击之后代理读到的内容,依然能决定钱最终付给谁。
![]()
有人搭了一个小型模拟公司来验证这件事:客服、财务、代码评审和发布代理,全部放在一层策略后面。策略在拒绝类测试里拿到10/10全过。一封供应商邮件触发不了付款,一段PR描述也没法自己合并。然后他写了五个测试,动词一个不动,只改它们作用的对象。五个里挂了三个。
这条攻击路径叫间接提示注入,入口是代理检索到的内容。代理读到的东西,作者并不是发起请求的那个人——可能是一份wiki运维手册、一个发票字段、一段PR描述、一条更早的工单消息。这些内容会左右代理接下来做什么。
把系统拆成两层看会更清楚。上层是控制面:请求人、系统提示词、策略检查、审批人。下层是数据面,按“谁有写权限”来标注。两层最终塌进同一个上下文窗口,中间那条虚线边界就消失了。
那10/10到底测了什么?十个测试样本里有九个是直接注入,攻击者的文本和请求出现在同一条消息里。只有一个是真正间接的:一条被污染的wiki笔记。而且每个测试问的都是同一个问题——这道门能不能拦住这个高权限动词。答案是能,门的接线是对的。但这说明不了参数层面的任何事。
三个失败案例用的是同一套策略:
- 银行字段替换。人工批准支付发票INV-2201,随后发票的银行信息被改,款项打进了新账户。
- 金额篡改。同一次批准,金额从$1,840抬到$18,400,照样通过。
- “安全”工具外泄。一张客服工单让代理把员工联系人列表塞进回复,走的是send_reply——策略认定它永远安全。脱敏过滤器五条记录一条都没拦住。
需要说明的是,这些是脚本化的替身,行为上假定模型已经服从了注入文本。它测的是策略层,不是某个具体模型抗注入的能力。这个设定是有意的:应当假定模型有时会照做,然后追问系统在它照做时允许了什么。
“模型服从了一份恶意文档”这句话没错,但没用。底下是七个彼此独立的机制,每个要不同的修法。
RC1:指令和数据没有结构性隔离。SQL注入基本靠参数化查询解决,代码和数据分开走。LLM的上下文没有对应物,一份运维手册和系统提示词是同一种token。RC2:任务框定会放大服从性。“照着手册做”“按工单说的办”,把指令跟随从风险变成了岗位职责。RC3:来源信息在摄入时被剥掉。一个chunk进到上下文窗口时,外包人员改的wiki和SRE负责人改的看起来一模一样。RC4:混淆代理。能写数据面的人群,远大于被允许触发动作的人群,代理把这两拨人连了起来。
RC5:审批绑定动词,不绑定对象。这正是10/10掩盖掉的那条。攻击者不需要解锁高权限工具,只需要坐在一个人已经批准的工具上游,塑造它的参数。RC6:人工门由代理中介。审批人读的摘要,是刚读过被污染内容的同一个代理写的;所谓“可信通道”,常常只是调用方自己设的一个字符串。RC7:“安全”工具就是出口。策略守住高权限动词,对send_reply、comment、summarize一路放行。一旦私有数据和非可信输入共处一个会话,这些工具就是一道出口。
修法很无聊,但有效。收紧后的策略通过了全部五个测试,两个合法用途的对照也仍然工作。
- 把审批绑到对象上。对精确参数签名(工具、收款方、金额、发票、过期时间、nonce),并在执行时重新校验。签核之后有任何变动,拒绝。
- 出口做污点追踪。非可信内容一旦进入上下文,出站工具降级为仅内部、模板化,或者需要审批。
- 给审批人看原始请求和参数,而不是代理写的摘要。
- 给检索到的chunk标注来源,并限制高权限任务的上下文里能出现哪些来源。
- 按任务最小权限。用请求用户自己的权限跑,而不是一个超级身份。
- 测对象,不只测动词。给每个高权限工具加一条回归测试:审批后改动参数;再加一条正向对照,证明合法工作仍然成功。
“在系统提示词里加一句,让模型忽略文档里的指令”不在这个清单上。它在边缘情况下可能有帮助,但七个根因一个都修不了。
可以拿自己平台上的审批记录试一下:它绑定的是精确参数(收款方、目标、金额、过期时间),还是只有工具名?如果只写了工具名,那这套human-in-the-loop批准的是一个类别,不是一笔交易。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.