治理更新于 2026-08-22 · 版本 1.0

什么是智能体威胁模型?

智能体威胁模型是自主智能体可能遭受攻击的路径图:攻击并非通过其权重进行,而是通过它所读取、记忆、调用以及被允许执行的一切操作。它指明了各种攻击面——直接和间接提示词注入、工具投毒、过度授权、记忆投毒、供应链、数据外泄通道、混淆代理——从而让每一个攻击面都能在支撑系统中得到具体控制,而不是寄希望于系统提示词。

证据: 行业观察置信度: 来源: 行业观察来源: 论文来源: 个人经验

定义

智能体威胁模型是对AI智能体特有的攻击面、对手目标和滥用路径(包括其输入、上下文、记忆、工具、凭证和自主权)进行的结构化列举,用于在授予智能体生产环境访问权限之前,决定需要哪些支撑系统控制措施。

核心要点

  • 对智能体的行为进行威胁建模,而不是对模型的输出进行威胁建模。
  • 智能体读取的每个输入都是一个指令通道:文档、页面、工具结果、其他智能体。
  • 智能体可以调用的每个工具,都是攻击者在注入成功那一刻所继承的能力。
  • 记忆会将单次攻击转变为持久性攻击。
  • 爆炸半径(受损范围)由凭证和出口决定,而不是由提示词决定。
  • 未被指明的攻击面并不意味着它存在——请明确记录已接受的风险。

背景

传统的威胁建模关注攻击者可以向你的系统发送什么。而对于智能体,更难的问题是你的系统会主动读取什么并将其视为指令。一个获取页面、打开工单或读取工具结果的智能体,在未经任何人决策的情况下,就已经扩大了其信任边界。

第二个转变是能动性。一个被愚弄的聊天机器人只会产生错误的句子;而一个被愚弄的智能体则会进行调用、转账、删除分支或发送包含文件的电子邮件。成功攻击的严重程度取决于绑定到该智能体的工具和凭证,这就是为什么权限授予是一个安全决策,而不仅仅是为了方便。

框架为这一实践提供了支撑:OWASP Top 10 for LLM Applications 命名了漏洞类别,而 MITRE ATLAS 则编目了针对 AI 系统观察到的对手战术。将它们用作针对你自己架构的检查清单,而不是替代架构本身。

架构

直接提示词注入——与智能体对话的人试图覆盖其指令。这种尝试成本最低,也最容易限制,因为该用户已经处于会话所授予的任何权限范围内。

间接提示词注入——隐藏在智能体检索内容中的指令:网页、PDF、工单评论、电子邮件、源文件或其他智能体的输出。攻击者从未直接与你的智能体对话,他们只是在智能体将要读取的地方植入文本。

工具投毒——工具的描述或结果本身具有对抗性。服务器可以在审批时将工具描述为无害的,并在之后对其进行修改,从而实现“一次审核,永久使用”的信任滥用。

过度授权(Excessive agency)——智能体拥有的权限超出了任何单一任务所需的范围。目前还没有发生任何问题;其隐患在于,一旦智能体被劫持,它将立即继承支撑系统(harness)愿意授予的所有权限。

内存毒化(Memory poisoning)——将虚假事实或指令写入持久化内存或向量数据库中,从而使攻击在会话结束后依然存在,并在未来无关的任务中重新触发。

供应链(Supply chain)——从组织外部拉取的模型、系统提示词、MCP 服务器、依赖包和数据集。一个能够重写工具描述的依赖项,同样能够重写智能体的行为。

外发通道(Exfiltration channels)——任何字节可以流出的路径:出站 fetch 请求、回复中渲染的图片 URL、电子邮件或 webhook 工具、提交(commit)。数据不需要被人类读取才算被盗;一个 URL 就足够了。

混淆代理(Confused deputy)——智能体使用请求者不具备的凭据执行操作,因此无法直接访问系统的攻击者会要求智能体代表其进行访问。

组件

资产清单:智能体可以接触的数据、系统和凭据,按智能体的触达范围而非团队的组织架构图列出。信任边界:哪些输入是指令,哪些是数据,以及该界限是在代码中强制执行还是仅在文本中说明。带权限的工具目录:每个工具及其范围、是否执行写操作,以及攻击者通过调用它能获得什么。出口地图:字节可以流出的每种方式,包括意外流出的方式——链接预览、渲染的图像、日志传输、错误报告。对手目标:外发、提权、持久化、破坏、欺骗——每个目标都映射到上述攻击面上。带负责人的控制措施:哪个支撑系统(harness)组件限制了每条路径,以及由谁来维护它。接受的风险:故意保留的开放路径,以及原因和补偿性检测措施。测试用例:针对每个攻击面,证明控制措施有效的注入或滥用尝试。从未见证过失败的控制措施是未经证实的控制措施。

优势

  • 它将“我们的智能体安全吗?”转化为一个有限的攻击面列表,每个攻击面都有负责人和控制措施。
  • 它使权限决策在授予生产环境访问权限之前变得明确且可审查。
  • 它为红队提供了目标列表,并为评估套件提供了可自动化的具体案例。
  • 它经得起时间考验:模型经常变化,而攻击面变化缓慢,因此该地图在下一次模型更换后依然适用。

风险

  • 对聊天机器人而非智能体进行建模——列举了输出危害,却忽略了将这些输出转化为行动的工具。
  • 将模型视为控制点。对齐只能减少尝试,并不能限制后果。
  • 文档一次写成后便再未修改。每个新工具都是一个新的攻击面,因此该模型应纳入变更流程中。
  • 将覆盖范围与防御混淆:命名一个攻击面并不等于控制它,未经测试的控制措施只是一种说辞。

工具与技术

OWASP Top 10 for LLM Applications——漏洞类别的共享词汇表。MITRE ATLAS——针对 AI 系统观察到的对手战术和技术。NIST AI RMF——该地图接入的治理框架(治理、映射、测量、管理)。智能体追踪和审计日志——证据层;没有它们,模型是无法证伪的。自动化红队套件——在 CI 中运行的注入语料库,以便在发布前发现回归问题。策略和权限引擎——模型结论实际执行的地方。

示例

  • 读取客户电子邮件的支持智能体:邮件正文是不可信的指令输入,CRM 工具是能力,而回复通道是外发路径。一个功能产生三个攻击面。
  • 具有代码库写入权限和网络出口的编码智能体:通过依赖项的 README 进行注入,通过 commit 工具获得能力,通过其可触达的任何注册表进行外发。
  • 针对内部 Wiki 的检索智能体:任何可以编辑页面的人都可以编写智能体将读取的指令,这使得低权限的内部编辑器成为注入向量。

常见问题解答

这与普通的威胁模型有什么不同?
方法相同,但攻击面是全新的。经典模型假设代码执行指令,而数据不执行。对于智能体,数据就是指令——因此检索、内存和工具结果都变成了攻击者可以触达的输入通道。
如果我的智能体是只读的,我还需要威胁模型吗?
是的,需要一个规模较小的模型。只读智能体仍然具有外发攻击面——任何它能读取的内容都可以被诱导重复输出——而且“只读”这一属性必须在工具层强制执行,而不能仅凭提示词来假设。
如果我什么都还没写,该从哪里开始?
列出智能体可以调用的工具以及每个工具所触达的数据。仅凭这张表就能生成地图的大部分内容:能力是爆炸半径,而能够触达它们的输入则是攻击路径。
应该多长时间重新评估一次?
每当工具、数据源或自主程度发生变化时——这些都是产生攻击面的事件。模型升级的影响比人们预期的要小;它们改变的是可能性,而不是触达范围。

参考文献