D31 系列D · 治理与信任

智能体工具调用的纵深防御:抵御间接提示词注入、OAuth 令牌越权与插件供应链投毒

当智能体同时具备外部内容读取能力与工具执行权限时,间接提示词注入与代理越权将成为核心工程威胁。构建生产级防线需要结合插件签名与许可证核验、按智能体隔离的最小权限身份,以及由策略网关和人工复核把关的高危调用机制。

发布日期
阅读时长
约 7 分钟
参考文献
3
生物安全三级实验室门口的个人门禁读卡装置
图片: Ca.garcia.s / Wikimedia CommonsCC BY-SA 4.0来源

当只读检索遇上高权限令牌:工具调用的隐蔽失控现场

设想这样一种工程情形:团队为内部智能体接入了网页读取插件与办公接口,并为了省去频繁授权,直接把一个具备读写权限的共享 OAuth 令牌交给智能体使用。当员工让智能体汇总一份来自外部的网页或文档时,文档暗处嵌入了一段伪装成指令的文本,要求智能体调用本地搜索接口读取同目录下的未公开备忘录并经外部接口发送。在没有任何语法报错的情况下,只负责摘要的助手变成了数据外泄通道。

这一情形暴露出智能体工程化的安全边界:一旦智能体可读取外部内容,间接提示词注入便成为主要威胁;防线必须下沉为纵深防御体系——包括插件签名与许可证扫描、按智能体的最小权限身份,以及高危调用经策略网关和人工确认。

数据与指令混同、记忆提取与“困惑的代理人”

为什么赋予大模型工具调用能力会改变系统的威胁模型?计算机安全研究从指令边界、模型记忆与操作权限揭示了背后的机制。

首先是数据与指令边界的消解。Greshake 等人(2023)指出,以往通常假设是由用户直接向大模型输入提示词;但在集成大模型的应用中,数据与指令的界限被模糊了[1]。攻击者无需直接接触交互界面,只需将提示词策略性地注入到推理阶段可能被检索的数据中,即可通过“间接提示词注入”(Indirect Prompt Injection)远程利用应用[1]。作者从计算机安全视角建立了系统的风险分类,涵盖数据窃取、蠕虫式传播(worming)与信息生态污染等新型风险,并在联网对话系统、代码补全引擎及合成应用中验证了攻击的现实可行性[1]。研究表明,处理被检索到的提示词可起到类似任意代码执行的作用,操纵应用功能并控制是否及如何调用其他 API,而针对这些新兴威胁的有效缓解手段仍然匮乏[1]。

其次是模型底层的记忆提取风险。Carlini 等人(2021)证实,攻击者可通过查询大模型来执行训练数据提取攻击,从而恢复出单条训练样本[2]。在一个基于公开互联网数据训练的公开模型上,研究者提取出数百条逐字吻合的训练文本序列,包含个人身份信息(姓名、电话号码、电子邮箱地址)、代码与标识符;同时,规模更大的模型比小模型更脆弱[2]。当外部注入指令操控智能体发起查询并外传结果时,提取风险便与工具通道叠加。

更深层的架构缺陷源于操作系统的经典难题。Hardy(1988)描述了一个编译器服务案例:该编译器拥有写入计费文件的权限;一名用户请求编译器将输出写入计费文件的名称,编译器在代表用户行事时动用了自身权限,结果覆盖了计费文件[3]。Hardy 将该程序称为“困惑的代理人”(“confused deputy”):它同时持有两种权限,却分不清自己在为谁行使哪项权限[3]。Hardy 指出,将对象的指定与使用该对象的权限捆绑在一起的“能力”(capabilities)机制可避免这一问题[3]。当智能体持有宽泛的 OAuth 令牌或宿主控制权,却替未经校验的外部文本调用接口时,便成了“困惑的代理人”。

三张卡片:间接提示词注入让被检索的数据像指令一样执行(Greshake 等,2023);训练数据提取可恢复数百条逐字训练序列(Carlini 等,2021);困惑的代理人同时持有两种权限却分不清为谁行使(Hardy,1988)。

构建工具调用的纵深防线:供应链核验、策略网关与人工关口

要阻断上述风险,工程架构必须在插件准入、身份边界与执行动作上建立硬约束。在 rlab.works 的智能中枢与模型网关模块中,这一纵深防线对应四项工作流契约。

第一层是工具供应链准入。技能包工具接入与权限管理(S04)以“待安装工具包与所需访问范围”为输入:先检查签名与许可,由签名插件仓库与可信安装验证签名并输出签名与许可检查清单;随后在“批准账号权限”人工复核关口暂停,由指定复核人或请求用户审批连接与范围(被拒绝的输出退回修订,不进入下一步);批准后安装并登记工具目录,最后经人工复核完成“试用并备回退”,留存安装记录与回退办法。

第二层是最小权限与网关策略。模型网关中的技能包团队模型访问规则(S14)以“团队分工、服务目录与访问要求”为输入,先定义角色和请求规则草案,经人工复核审阅差异并批准版本后,由「策略管控的 MCP 网关」与限定范围的智能体身份与授权绑定账号、限制工具权限范围并按端点与命名空间执行策略,最后由人工抽查请求记录,形成可回退的访问验收结论。

第三层是高危操作确认与恢复准备。技能包经审批的电脑操作(S03)以“操作目标、账号和允许修改的资料”为输入:先准备账号与登录,生成受限上下文,经“审批操作清单”人工关口批准后执行并保留截图、文件差异与回执,最后由人检查改动。涉及版本发布时,「版本发布与回退」(S05)则将整理发布清单、演练备份恢复、人工批准上线、分批上线与人工验收或回退串联成闭环。

中枢示意:外部网页、邮件与第三方文档中的内容,要触发修改文件、对外发送、界面操作或发布版本,须依次经过三层防线——签名与许可核验(S04)、限定范围的身份与网关策略(S14)、高危操作人工确认(S03、S05)。
在本文涉及的企业服务、法律与能源行业中,上述技能包均无“源数据有行业依据”标签,仅作为可迁移应用或通用模式: - **企业服务**:「工具接入与权限管理」(S04)为可迁移应用,可在接入新工具时核对来源、许可和账号范围,但需按包格式和客户端选择适配器并保留失败与撤销路径;其余三项在此行业无标签,仅作通用模式。 - **法律**:「经审批的电脑操作」(S03)为可迁移应用,可让法务助理先列出案卷整理操作、经授权后执行并核对差异,但须逐项限制读写目录,对外提交不在默认权限内;其余三项无此行业标签。 - **能源**:「版本发布与回退」(S05)为可迁移应用,可打包站点辅助软件的安装、签名和恢复证据并经负责人确认后分阶段更新,但只涉及辅助软件交付、不操控电站设备,且需适配离线环境、可信签名与站点变更流程。此外,S14 仅在公共服务中标为可迁移应用(需接入组织身份与实际文档权限,不能只靠提示词限制访问)。

需如实说明边界:站点所有技能包均为拟议编排,仅以合成数据演示,尚未接入真实服务;组件成熟度来自静态源码检查而非生产部署。

上线智能体工具链前的管理检验

业务与技术负责人在资助试点前,可执行三项检验:

  • 凭证是否与具体操作对象绑定? 核查智能体是否仍在共用高权限账号或全局令牌,确保每次工具调用都绑定受限身份与指定目录,防止代理程序替外部文本越权行事。
  • 外部读取与修改动作之间是否设有人工关口? 凡读取过外部网页、邮件或第三方文档的会话,后续涉及文件修改、外发或界面点击的操作必须经策略网关与人工确认,被拒绝的操作不得放行。
  • 插件安装与版本更新是否具备签名与回退证据? 确认工具包入库前已完成签名和许可证核验,发布前已具备隔离恢复证据与回退路径。

参考文献

  1. [1]

    Greshake, K., Abdelnabi, S., Mishra, S., Endres, C., Holz, T., & Fritz, M. (2023). Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection. Proceedings of the 16th ACM Workshop on Artificial Intelligence and Security (AISec), 79–90. doi.org/10.1145/3605764.3623985

  2. [2]

    Carlini, N., Tramer, F., Wallace, E., Jagielski, M., Herbert-Voss, A., Lee, K., Roberts, A., Brown, T., Song, D., Erlingsson, U., Oprea, A., & Raffel, C. (2021). Extracting Training Data from Large Language Models. 30th USENIX Security Symposium (USENIX Security 21), 2633–2650. usenix.org ↗

  3. [3]

    Hardy, N. (1988). The Confused Deputy: (or why capabilities might have been invented). ACM SIGOPS Operating Systems Review, 22(4), 36–38. doi.org/10.1145/54289.871709

分享这篇文章

正在生成海报…

  • X
  • WhatsApp

AI 落地诊断

约 3 分钟 · 9 个问题

对话仅用于本次诊断 · 回复由 AI 生成