大模型时代,我们习惯用越狱、提示注入、数据泄露等类别描述安全风险。但到了 Agent 时代,这种分类方式开始显得不够用了。

一次攻击可能从网页中的一段外部信息进入 Agent,首先干扰推理,随后污染长期记忆;几天后,这段记忆又被重新读取,改变 Agent 的计划,并最终触发一个未经授权的工具调用。

你可以把它叫作提示注入,也可以叫记忆投毒或工具攻击,但任何一个标签都只能描述其中的一部分。

更关键的是,我们已经知道很多 Agent 安全风险,并不意味着这些风险都真正被实验验证过。

2026 年 9 月,来自成均馆大学和澳大利亚联邦科学与工业研究组织(CSIRO)的研究人员系统梳理了 2022—2026 年间的 66 篇 Agent 安全研究,提出了一套四维威胁分类框架;又进一步分析了 22 篇具有公开实验材料的红队研究和 11 个代表性安全 Benchmark,试图回答三个问题:Agent 到底有哪些风险?哪些风险已经被真正测过?现有安全评测究竟成熟到了什么程度?

https://arxiv.org/pdf/2609.23894

最终,他们得到了一张包含 4 个维度、32 类威胁和 13 个待解问题的 Agent 安全地图。

从“大模型安全”走向“系统安全”

传统大模型主要完成一件事情:

输入 → 模型 → 输出

即使模型受到干扰,大多数情况下,问题最终停留在输出层。

Agent 则不同。一个典型 Agent 会维护目标和状态,进行推理和规划,读取长期记忆,调用外部工具,并根据工具返回结果继续下一轮决策。

于是安全问题变成了一条不断循环的链:

目标 → 推理 → 记忆 → 规划 → 工具 → 环境 → 新状态 → 再次推理

一次异常输入可能改变推理结果,推理结果可能被写入长期记忆,受污染的记忆可能影响后续规划,错误规划又可能调用具有真实权限的工具,最终修改外部系统状态。新的系统状态还会重新成为 Agent 的观察结果,进入下一轮决策。

这意味着,Agent 安全已经很难被简单理解为“大模型是否会被绕过”。

真正的问题开始变成:

攻击从哪里进入系统,影响了什么组件,跨越了什么信任边界,最终造成了什么后果?

这也是论文提出四维威胁框架的出发点。

四维威胁地图

论文用一个非常简洁的表达描述 Agent 威胁:

T = ⟨S, B, P, A⟩

分别代表:

  • S:Surface,攻击面——攻击影响了什么?
  • B:Boundary,边界——攻击从哪里进入或传播?
  • P:Property,安全属性——最终破坏了什么?
  • A:Architecture,架构——这种风险在哪类 Agent 系统中被实验验证过?

它的关键不在于又创造了一套新的攻击名称,而是把过去分散的风险重新连接起来。

例如,一段来自外部工具的异常信息影响了 Agent 的推理,又被写入长期记忆,并最终诱导 Agent 执行了超出授权范围的操作。

在四维框架中,它可以同时被描述为:攻击影响了推理、记忆和工具,跨越了 Agent—Tool 信任边界,破坏了状态完整性和授权完整性,并且还需要说明这种攻击究竟是在单 Agent、流水线 Agent 还是多 Agent 系统中得到验证。

因此,四个维度不是四个攻击阶段,而是四组可以交叉组合的标签。论文也特别强调,这套表示并不直接描述攻击发生的时间顺序和因果关系。

第一维:Surface——被攻击的不再只有模型

论文将 Agent 的核心攻击面扩展为多个层次。

最靠近 Agent 内部的是目标与状态。攻击者甚至不需要破坏模型本身,只需要改变 Agent 正在追求的目标,一个完全“正常”的推理过程就可能得到错误结果。

其次是我们最熟悉的推理与规划,包括直接或间接提示注入、安全策略绕过、推理路径干扰以及让 Agent 陷入反复推理和重规划的资源消耗攻击。

再往外是记忆与知识。Agent 一旦拥有长期记忆,攻击便可能跨越一次对话持续存在。一次污染可以在后续任务中反复被检索、强化,甚至通过共享记忆传播到从未直接接触攻击者的其他 Agent。

然后是动作与工具。这里的风险已经从“模型说错话”升级为“系统真的执行了错误动作”,包括工具描述污染、工具返回结果操纵、跨工具组合、权限滥用等。

此外,论文还进一步纳入了基础设施、供应链以及治理与监督等系统层面的攻击面。Agent 安全由此逐渐从 Model Security 演变成真正的 System Security。

第二维:Boundary——很多攻击本质上是信任边界被打穿

如果说 Surface 回答“哪里坏了”,Boundary 回答的就是“问题从哪里进来的”。

论文重点关注:

Human–Agent、Agent–Agent、Agent–Tool / Service、Agent–Environment,以及进一步扩展出的基础设施、供应链和治理接口。

这实际上提供了一种比“攻击名称”更稳定的理解方式。

以间接提示注入为例,网页原本只是供 Agent 阅读的数据,但 Agent 却把网页中的某段内容当成了具有更高优先级的指令。

表面上看,这是 Prompt Injection。

从系统安全角度看,它实际上发生了一次更根本的问题:

低信任域的数据跨越边界,被赋予了高信任域指令的权限。

类似的问题同样存在于 Agent 间通信、MCP 工具返回、共享记忆和外部环境观察中。因此,在 Agent 时代,身份、来源、授权以及信息的 provenance——也就是“这条信息究竟从哪里来的”——会越来越重要。

第三维:Property——CIA 已经不够描述 Agent 安全

传统网络安全经常使用机密性、完整性和可用性,也就是 CIA 三元组。

论文在此基础上进一步拆出了 Agent 特有的安全属性,包括:

目标完整性、状态与知识完整性、动作与授权完整性、交互与信任完整性、监督与可追责性,再加上传统的机密性、可用性以及面向具身系统的物理安全,共八类属性。

其中尤其值得注意的是动作与授权完整性。

Agent 的一个特殊风险是:

每一步动作单独看都可能完全合法,但组合起来却可能形成一个从未被授权的执行轨迹。

例如 A 操作合法、B 操作合法、C 操作同样合法,但:

A → B → C

组合起来,却实现了用户从未允许 Agent 完成的目标。

因此 Agent 安全不能只做:

检查这次工具调用是否合法

还需要逐渐走向:

检查整条执行轨迹是否仍然符合最初的授权和目标。

第四维:Architecture——Agent 架构本身决定风险如何传播

论文没有简单地把系统分成单 Agent 和多 Agent,而是进一步区分了几种典型多 Agent 架构:

层级式架构由一个协调者管理多个下游 Agent,一旦上层协调者受到影响,错误权限可能沿委托链向下扩散;

流水线式架构按照 A → B → C 顺序执行,风险更容易沿处理链逐步传播;

水平协作式架构依赖多个 Agent 讨论、投票或交叉验证,因此身份、共识、串谋和拜占庭行为开始成为核心问题;

动态图架构甚至允许 Agent 的成员、角色和通信关系在运行时发生变化,此时“谁是谁、谁授权了谁、信息经过了哪些 Agent”都会成为安全问题。

需要注意的是,这个 Architecture 维度描述的是已有实验在哪些架构上验证过风险,而不是声称某种攻击只能发生在某类架构中。

32类Agent安全风险

在四维框架之上,论文最终归纳出了 32 类 Agent 安全威胁,并为了便于阅读,将它们整理为三组。需要注意,这三组只是组织方式,并不是四维框架之外的新分类轴。

第一组是 15 类功能性威胁,主要针对 Agent 自身的工作机制,包括目标操纵、奖励或规格操纵、策略性失配、指令劫持、安全策略绕过、推理与规划干扰、推理资源消耗、策略泄露、记忆与知识污染、持久状态操纵、上下文数据泄露、工具清单污染、工具执行利用、跨工具利用以及权限升级。

这部分与今天我们熟悉的 Agent 攻击研究最接近,但已经明显从 Prompt 扩展到了 Goal、Memory、Tool 和 Execution。

第二组是 11 类交互与信任边界威胁。

包括人与 Agent 之间的信任操纵、人工审批绕过、Agent 身份和通信攻击、跨 Agent 风险传播、共识和拜占庭操纵、Agent 串谋、工具或服务冒充、工具元数据和返回结果操纵、凭证与授权滥用、环境操纵以及网络—物理系统攻击。

这一组风险最能体现 Agent 与传统大模型的差别:安全问题不再只存在于模型内部,而越来越多地产生于不同主体之间的连接处。

第三组则是 6 类系统性和运营风险,包括资源与可用性攻击、隔离与凭证失陷、组件和依赖项失陷、安装与更新操纵、监督能力退化以及治理规避。

至此,一张完整的 Agent 安全图谱开始从“模型有没有被绕过”,扩张到:

目标 → 推理 → 记忆 → 工具 → Agent 协作 → 身份与授权 → 基础设施 → 软件供应链 → 人类监督与治理。

这也是论文真正有价值的地方:它并没有试图再创造第 33 种攻击,而是告诉我们,应该把不同攻击放在怎样的一张系统地图上理解。

地图已经很大,但真正被实验验证过的区域仍然有限

如果论文只做到32类威胁分类,它仍然只是一篇比较完整的综述。

真正让这篇论文更有价值的是,作者进一步把:

“我们认为存在的风险”

和:

“我们真正通过实验验证过的风险”

区分开来。

在构建威胁地图时,作者分析了 66 篇研究;随后又设置了更严格的实证研究标准:研究不仅需要真正针对 Agent 实现具体攻击,还要能够描述攻击者、目标系统、实验过程和结果,并至少公开代码、攻击 Prompt、数据集或评测脚本中的一种。

最终,只有 22 篇具有公开实验材料的红队研究进入了后续分析,同时作者还检查了 11 个代表性 Agent 安全 Benchmark。

得到的结果非常明显。

22 篇研究中:

16 篇研究的是单 Agent,只有 6 篇涉及多 Agent;真正报告具体防御实验的只有 7 篇。

11 个 Benchmark 中:

10 个主要针对单 Agent 系统。

已有研究主要集中在:

提示与推理、记忆污染和工具相关攻击。

而对于:

跨会话持续攻击、Human–Agent 安全、复杂多 Agent 协作、系统性风险以及长程执行风险

的实证覆盖明显更少。作者也反复强调,这只能说明他们选择的这批公开研究存在这种分布,并不能据此断言整个研究领域都没有相关工作。

换句话说:

Agent 安全的理论地图已经画得很大,但真正被红队“走过”的区域还集中在少数热点。

一个 ASR,正在装下完全不同的安全后果

论文对现有 Agent 安全评测提出了另一个很重要的问题:大家都在报告 ASR,但不同论文里的 Attack Success Rate 可能根本不是同一种“成功”。

  • 有些实验把模型生成了攻击者希望看到的文本算作成功;

  • 有些实验要求 Agent 真的选择某个错误工具;

  • 有些实验以敏感信息真正泄露作为成功;

  • 还有一些实验要求 Agent 完成任务并修改外部系统状态。

这些显然不是同一个安全等级。

因此论文建议,Agent 攻击结果至少应该区分三个层级:

  • Model Compromise:模型受到影响。攻击改变了模型生成的内容。

  • Agent Compromise:Agent 受到影响。攻击进一步改变了 Agent 的目标、状态、计划或者即将执行的动作。

  • System Impact:系统产生真实影响。攻击已经造成可验证的、未经授权的、有害的或者持久性的外部状态变化。

这一区分非常重要。

模型被骗,不等于 Agent 被攻破;Agent 被攻破,也不等于外部系统已经受到影响。

如果仍然把它们全部压缩成一个 ASR,两个“攻击成功率都是80%”的系统,实际安全后果可能完全不在一个数量级上。

从这个角度看,未来 Agent 安全评测需要逐渐从单一的 Response-based Evaluation,走向同时观察:

状态、动作、权限和执行轨迹。

Agent 安全的最小评测单元,正在从一次响应变成一条轨迹

传统大模型 Benchmark 很大程度上围绕 Prompt 和 Response 构建。

但 Agent 系统存在一个新的问题:

即使模型相同、Prompt 相同,只要长期记忆、工具返回结果、环境状态或者其他 Agent 的行为发生变化,两次执行也可能得到完全不同的轨迹。

因此,论文认为 Agent 安全实验要想真正可复现,除了记录模型和 Prompt,还必须记录:

模型版本与参数、工具版本、权限、初始记忆、环境状态、多 Agent 拓扑以及完整执行轨迹。

这里实际上出现了 Agent 安全评测范式的一个重要变化。

以前最基本的评测样本是:

一条输入 → 一条输出

未来更可能变成:

初始状态 → 一系列观察、推理、记忆和动作 → 最终系统状态

也就是一条完整的 Execution Trajectory。

这也解释了为什么论文特别强调轨迹级安全:在复杂 Agent 系统里,危险行为未必存在于某一个明显异常的动作中。可能每一步单独看都正常,真正的问题只有把几十步执行历史放在一起时才会出现。

13个待解问题

论文最后没有再继续扩充攻击列表,而是根据现有评测暴露出的不足,提出了 13 个开放问题。

如果不逐条照搬论文,而按照研究方向重新归纳,大致可以分成五组。

第一组:我们究竟应该怎样衡量 Agent 安全?

前 3 个问题关注评测本身。

不同攻击模型、不同 Agent 架构和不同实验环境下,安全证据的成熟度应该怎样统一衡量?

Model Compromise、Agent Compromise 和 System Impact 又应该如何建立可比较的指标?

以及,一个在单 Agent 或某种多 Agent 拓扑中得到的安全结论,究竟能不能迁移到另外一种架构?

这些问题背后其实都在指向同一个事实:

Agent 安全需要从“一个攻击成功率”走向更完整的系统评测体系。

第二组:从单次攻击转向长程运行安全

OQ4—OQ7 关注的是 Agent 长时间运行之后出现的问题。

例如,Agent 本来就需要根据环境不断调整自己的目标和计划,那么怎样区分合理的目标调整与恶意诱导形成的 Goal Drift?

如果每一步动作都合法,但几十步组合起来最终违反了用户目标,能否在不可逆结果发生之前检测出来?

长期记忆受到污染后,怎样恢复恶意状态,同时保留 Agent 真正学到的有价值信息?

以及,一个 Agent 如果只在某种隐藏触发条件下表现异常,甚至能够意识到自己正处于安全测试之中,现有 Benchmark 又该怎样发现它?

这些问题表明,未来 Agent Guardrail 可能不能只检查:

Prompt、Response 或单次 Tool Call。

它还需要理解:

目标、状态、执行历史、授权关系和后续影响。

第三组:多 Agent 与人类本身也是攻击面

OQ8—OQ10 聚焦 Multi-Agent 与 Human–Agent。

多 Agent 安全不是把一个单 Agent Benchmark 同时跑十遍。

当多个 Agent 通过共享状态、委托、通信和共识机制共同完成任务后,一个被影响的 Agent 能不能进一步改变整个系统,取决于它所处的位置、通信拓扑、权限以及其他 Agent 如何聚合信息。

与此同时,Human-in-the-loop 也并不天然等于安全。

Agent 可以利用人的自动化偏见、生成误导性的解释,或者通过大量重复确认制造“审批疲劳”;攻击者同样可以诱导用户为 Agent 的错误动作主动授权。

因此:

增加一个人工确认按钮,并不意味着建立了真正有效的人类监督。

第四组:供应链和物理世界会成为新的安全边界

OQ11—OQ12 把问题进一步推向系统外部。

现代 Agent 会不断依赖第三方 Tool、Skill、Plugin、MCP Server、模型、代码库和外部服务。

一个组件安装时是可信的,不代表它未来始终可信。更新、依赖变化、服务端行为变化都可能改变原本建立的信任关系。因此论文提出,Agent 组件未来可能需要持续认证、持续监控和动态撤销信任。

当 Agent 进一步进入机器人、汽车、实验自动化和工业系统之后,问题会更加严重。

一句错误文本可以删除。

一次错误的物理动作却可能不可逆。

这意味着 Agent 安全指标最终还需要从“是否生成危险内容”,真正走向:

是否产生了可验证的现实世界后果。

第五组:Benchmark 自己也要能够“活下去”

最后一个问题关注 Agent Benchmark 的长期可复现性。

模型会升级,工具会升级,API 会改变,MCP Server 会更新,Agent 的拓扑也可能不断变化。

那么今天得到的 ASR,一年以后还是否具有比较意义?

论文给出的方向是建立持续维护的 Benchmark,保存版本化的任务、配置和结果,并尽可能记录环境快照与完整执行轨迹,使实验能够重新播放和比较。

安全的对象,正在从“模型”变成“执行中的系统”

如果把这篇论文压缩成一句话,它真正想表达的其实并不是:

Agent 有32类安全风险。

而是:

我们需要改变描述和评估 Agent 安全的基本单位。

过去谈大模型安全,我们习惯围绕模型本身展开:

输入是什么,输出是什么,模型有没有拒绝。

到了 Agent 时代,真正需要保护的对象逐渐变成一个持续运行的系统:

它有自己的目标和状态,会形成长期记忆,会调用具有权限的工具,会和其他 Agent 交换信息,还可能修改数字世界甚至物理世界。

因此,安全研究的关注点也在随之移动:

从 Prompt 走向 State,

从 Output 走向 Action,

从单次响应走向 Execution Trajectory,

从 Model Security 走向 System Security。

四维威胁地图最大的意义,也许并不是替我们记住了32个攻击名称,而是提供了一套更适合 Agent 时代的问题框架:

攻击影响了什么?

从哪个信任边界进入?

破坏了什么安全属性?

这个结论究竟在哪种系统里真正被验证过?

当我们开始用这四个问题审视 Agent 安全时,一个更重要的事实也随之暴露出来:

今天我们已经能够描述很多风险,但距离真正系统地验证这些风险,仍然有很长的路要走。

声明:本文来自模安局,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。