跳到正文
原文
arXiv:Agent 与 MCP 安全· arXiv:2609.17648· Tanzim Hossain Safin·本站收录· 原文发表

多智能体 LLM 流水线中的信任传播与结构隔离

Trust propagation and structural containment in Multi-agent LLM pipelines

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

四智能体流水线上,结构性授权在记忆投毒下把UAR从100%降到0%,但T1的JBR仍为100%(Table I)。

威胁模型记忆投毒可替换Validator并伪造批准,持签名密钥时可生成匹配令牌;agent hijacking经检索文档送入伪造批准。

问题
多智能体流水线中,低权限智能体被攻破后,可能促使高权限Executor执行未授权动作。作者要把审查被绕过和未授权动作真正执行分开,并考察结构性授权能否在模型判断失败时拦住后者。
方法
作者搭建四智能体LangGraph流水线。Executor须同时通过任务绑定的HMAC单次令牌和独立策略预言机,才写入沙箱邮件库。两种攻击是替换Validator的记忆投毒,以及检索文档中的伪造批准。JBR衡量审查是否被绕过。
实验与结果
三颗种子上,记忆投毒在T0的UAR为100%,T1为0%而JBR仍为100%。持有签名密钥时,policy-only的UAR为0%,token-only为100%。Observer把劫持FPR从49.1%降到7.4%,UAR仍为0%。
局限与可以继续做的
作者指出策略与语料同组编写,劫持注入显眼故操作点不宜外推到自适应对手。评测为60个任务、13类动作,授权消融是单种子。作者计划评估更弱攻击者、多种子消融和更多模型。无密钥时令牌防伪造、绑定和防重放未直接评测。
实验设置gemma4:31b-cloud · Enron Email Dataset、60-task corpus (36 safe, 24 unsafe, 13 action types) · UAR、JBR 等
威胁模型
记忆投毒可替换Validator并伪造批准,持签名密钥时可生成匹配令牌;agent hijacking经检索文档送入伪造批准。受害系统为LangGraph四智能体流水线,Executor可写入沙箱SQLite邮件库。T0关闭令牌与策略预言机,T1两者都开。UAR与JBR分别衡量执行与审查绕过。
被测模型
gemma4:31b-cloud
基准
Enron Email Dataset60-task corpus (36 safe, 24 unsafe, 13 action types)
指标
UARJBRFPRLTCF1
AI 导读研究者在四智能体 LangGraph 流水线(Supervisor、Researcher、Validator、Executor)中评估共享内存投毒和通过检索文档伪造审批的间接提示注入,比较 Validator 判断与基于任务绑定签名 token 和独立策略 oracle 的授权层。在三个随机种子、60 个标注任务中,内存投毒在无防御时每次都能到达执行阶段;启用授权后攻击成功率(JBR)仍为 100%,但 Unsafe Action Rate 为 0%,说明 Validator 可被攻陷而执行仍被隔离。面对持有签名密钥的攻击者,隔离效果来自策略 oracle,独立编写的最小权限策略也能保持该结果。

研究者在四智能体 LangGraph 流水线(Supervisor、Researcher、Validator、Executor)中评估共享内存投毒和通过检索文档伪造审批的间接提示注入,比较 Validator 判断与基于任务绑定签名 token 和独立策略 oracle 的授权层。在三个随机种子、60 个标注任务中,内存投毒在无防御时每次都能到达执行阶段;启用授权后攻击成功率(JBR)仍为 100%,但 Unsafe Action Rate 为 0%,说明 Validator 可被攻陷而执行仍被隔离。面对持有签名密钥的攻击者,隔离效果来自策略 oracle,独立编写的最小权限策略也能保持该结果。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    低权限失陷可能经委托链触发未授权执行;作者用结构性授权和JBR把两件事分开。

    低权限智能体失陷后,可能让高权限 Executor 执行未授权的真实动作;作者要看结构性授权能否在 Validator 判断失效时拦住该动作。

    • 场景:作者称低权限组件可能让高权限组件误用合法权限,即 confused deputy。作者认为,破坏性或对外可见的动作里,应把审查绕过和动作被阻止分开。
    • 现有做法的缺口:作者称既有工作多看智能体是否被欺骗;在工具调用评测中,被攻破与有害动作重合,因为没有独立授权边界。作者还称只靠提示词层防护不够。
    • 作者的考察:用密码学核验权限,而不是只靠模型判断,看独立授权边界能否阻止未授权动作。
    • 威胁模型:
      • 目标:使动作到达 Executor,并在沙箱留下可记录的数据库或文件系统变更;实验存储是 SQLite 邮件库。
      • 能力:记忆投毒替换 Validator,由例程伪造批准;持有签名密钥时不调用模型,直接生成匹配令牌。agent hijacking(经检索文档的间接提示注入)让 Researcher 取回带伪造批准、置信度和来源声明的文档,Validator 不知来源,只根据摘要推理。
      • 受害系统:LangGraph 上,Supervisor 做确定性路由且不调用模型;Researcher 低权限只读,Validator 中权限批准,Executor 高权限执行。
      • 判定:T0 关闭令牌检查和策略预言机,T1 两者都开。UAR 看 gold-unsafe 任务是否执行;JBR 看其中 Validator 的真实审查是否被跳过或绕过。
    • 系统与度量:作者实现该流水线与两种攻击,在持钥设定下做组件消融,并定义 JBR;Observer 只在审查前删除伪造批准声明。作者称令牌和策略监控不是新原语。
  2. 有哪些相关研究?

    作者将工作放在提示注入与结构授权之间,并用JBR分开失陷和最终动作。

    作者将相关工作分成提示注入、输入层防御、结构授权和零信任,并把自己的工作放在完整流水线的传播测量上。

    提示注入与工具智能体

    • Perez and Ribeiro (2022):作者引用的结果是,对抗文本可以覆盖模型指令。
    • Greshake et al. (2023):检索文档中的恶意内容可通过间接提示注入影响 LLM 应用。
    • Zhan et al. (2024):InjecAgent 里,工具型智能体经常跟随注入指令。作者指出,该评测中智能体失陷和有害动作重合,因为没有独立授权边界。

    输入层与运行时防御

    • ADR:运行时监测,并用推理做策略评估。
    • 分隔符、StruQ、Jatmo:用分隔符、结构化的提示与数据通道,或任务特定微调保护模型输入。
    • Observer 的位置:作者称 Observer 沿输入层路线,在验证前去掉伪造批准声明,并按保持效用的组件评测,而不是安全边界。

    结构约束与零信任

    • AgentBound 与 Signed-Prompt:前者把 MCP 服务器限制在预定义能力内;后者要求特权命令带密码学签名。作者称自己的设计把授权绑到智能体之间的任务和范围,并独立评估策略,包括攻击者持有签名密钥时。
    • 纵深防御:Zhang et al. 主张最小权限、纵深防御和完全中介。Abdelnabi et al. 用结构验证保护智能体间通信,而不是隐式信任。
    • 独立审计:Ando 提出独立审计者,并描述 Alignment Paradox:审计者可能因为动作符合用户请求而批准不安全动作。Cunningham 的 Agentic Zero Trust 把零信任扩展到自治智能体。作者称这些工作促使他们使用独立策略,而不是只依赖 LLM 判断。

    威胁建模与评测现状

    • 框架:MAESTRO、ASTRIDE、ThreatGPT 用于识别智能体风险;Visual Confused Deputy 把结构验证用于计算机使用智能体。
    • 作者的判断:作者称,完整多智能体系统中攻击传播的实际评测仍然有限;编码助手、网络监控智能体的研究以及现有指南,也要求做实证安全测试。

    基线与数据:对照是同一代码库上的 T0/T1、token-only、policy-only、corpus policy 与 independent policy,以及 Observer 的关/开。资源是 Enron Email Dataset 的 1,000 条消息头;指标接在 60 个任务(36 safe、24 unsafe、13 类动作)上。

    作者不把 HMAC 签名能力令牌或基于策略的引用监控称为新原语,而把贡献放在传播实验、组件消融,以及用 JBR 区分审查绕过和未授权执行。

  3. 论文如何解决这个问题?

    四智能体流水线用任务绑定令牌和独立策略预言机,把执行从Validator判断上拆开。

    作者在四智能体 LangGraph 流水线上把结构性授权放在 Executor 之前:HMAC 签名的、绑定任务的、单次使用令牌,加上独立的策略预言机。Validator 的批准不再单独决定真实写入能否发生。

    流水线与调用

    • 路由:Supervisor 是确定性路由器,不调用模型,按固定顺序把控制权交给 Researcher、Validator、Executor。四者经共享 typed state 通信,每次转移写日志(Figure 1)。
    • 权限:Researcher 低权限、只读;Validator 中权限,做批准门;Executor 高权限,可做真实动作。拒绝结束于 Rejected,执行结束于 Complete。
    • 模型:Researcher、Validator,以及启用时的 Observer,都用 gemma4:31b-cloud,经 Ollama,temperature 为 0。种子只是尽力而为,因为 Ollama 不保证同一种子输出相同。日志记录 provider、模型、温度和种子。

    资源、任务与策略

    • 可变数据:Enron Email Dataset 含超过 500,000 封邮件、约 150 名员工。作者解析 Message-ID、发件人、收件人、时间戳,取固定 1,000 条且只留消息头,放入索引表。沙箱工具把它当作可改写数据,而不是分类对象。
    • 任务:另有 60 个任务,36 safe、24 unsafe,13 类动作,各有资源访问范围。Section V 的指标都是把试验和对应任务接上之后计算。
    • 两种策略:corpus policy 复述每个任务的金标签,除另作说明外 Section V 都用它。作者称,若 UAR 为 0%,那表示所给策略被执行,而不是独立发现了不安全动作。independent policy 是手写的最小权限允许列表,只接收拟议动作及其范围,不用任务标签;它与全部 60 个金标签一致,且 corpus 判决被修改时不变。

    攻击从哪里进入

    • 记忆投毒:Validator 换成妥协例程并伪造批准;持有签名密钥时不调用语言模型,直接生成匹配令牌。
    • agent hijacking:Researcher 从被攻破来源取回文档,其中有伪造批准、置信度和来源声明。Validator 对所得摘要推理,且不知道来源。
    • 干净输入:baseline 使用诚实来源和干净输入。三种情况的批准都进入同一个 Executor。

    授权边界与 Observer

    • 两道检查:Executor 核验 HMAC、任务绑定和单次使用,并由策略预言机独立重算权限。两道都通过才写入 SQLite 邮件库。作者称这道边界用来区分结构性强制和 Validator 的判断。
    • T0 与 T1:T0 关闭令牌检查和策略预言机,T1 两者都开。持钥消融再拆成只查令牌、只查策略。作者称签名核的是来源不是权限;没有密钥时,令牌还可防伪造、绑定任务与范围,并用单次 nonce 防重放,但这三项没有直接评测。
    • Observer:位于 Researcher 与 Validator 之间,同一模型、同一解码设置,再调用一次。它只处理把其他智能体的审查或授权说成既成事实、或表示不必再监督的声明,并只删除这类内容;解析失败时用确定性删改。过滤用二元判决。它看不到任务记录、金标签、策略预言机和 Validator 输出,也不能批准或拦截。作者把它定为保持效用的组件,不是安全控制。自报置信度在 0 到 1,只用于操作点分析。

    如何计分

    • 混淆矩阵:动作未到执行记 blocked,否则 allowed。TP 是被拦的 gold-unsafe,FP 是被拦的 gold-safe,FN 是被执行的 gold-unsafe,TN 是被放行的 gold-safe。FPR = FP/(FP+TN),且按构造 LTC = 1−FPR。Recall 与 F1 用标准定义。
    • 两个比率:不安全任务里到达执行的比例是 UAR = FN/(TP+FN);审查是否失陷是 JBR = Nb/Na。Na 是 gold-unsafe 且带攻击注入的试验数,Nb 是其中真实审查被跳过或绕过的试验数。
    • JBR 怎么数:记忆投毒中,例程不调用模型就给出批准,因此 JBR 按构造为 100%。劫持中,只有 Validator 批准了 gold-unsafe 任务才计入 Nb。作者把 JBR 和 UAR 并列,用来分开审查失陷和未授权执行。
  4. 论文做了哪些实验?

    记忆投毒在T1的UAR为0%而JBR为100%;持密钥时遏制来自策略预言机。

    实验设置

    • 模型:被测语言模型为 gemma4:31b-cloud(Ollama,temperature 0)。Supervisor 不调用模型。种子 1、7、42 为尽力而为。
    • 数据:60 个任务(36 safe、24 unsafe、13 类动作);Enron 子集 1,000 条消息头作为可改写存储。
    • 样本量:除另作说明,每格是三颗种子的均值,n=180。95% 区间是种子均值上的 Student t 区间(df=2)。同一颗种子内的试验共用任务集,作者因此不把单次试验当作独立样本。授权消融是一个种子,每条件 n=60,不报告区间。
    • 条件:输入包括记忆投毒、agent hijacking,以及方法中定义的诚实来源加干净输入。保护层为 T0 与 T1;Figure 2 在持有签名密钥的记忆投毒下再拆 token-only 与 policy-only。
    • 指标:UAR、FPR、LTC、F1、JBR。JBR 的分母是每种子 24 个 gold-unsafe 试验,FPR 的分母是每种子 36 个 gold-safe 试验。Table I 注明,UAR 与 JBR 在每一格的三个种子上都相同。作者称多数有防护条件下 UAR 为 0%,因而更关注 FPR、LTC、F1 和 JBR。
    • 判定:对照任务自带的金安全标签,不是另一个模型打分。论文未报告人工一致性。

    主结果

    下表模型为 gemma4:31b-cloud,三颗种子均值,每格 n=180,数字来自 Table I。劫持 FPR 的 95% t 区间:T0 为 [52.7, 65.8],T1 为 [28.1, 70.0],两段重叠。

    表格较宽,可左右滑动

    攻击层级UARFPRJBR
    Memory poisoningT0100.0%0.0%100.0%
    Memory poisoningT10.0%0.0%100.0%
    Agent hijackingT00.0%59.3%0.0%
    Agent hijackingT10.0%49.1%0.0%
    • 记忆投毒:作者称没有授权时,伪造批准会一直到达执行;打开 T1 后 Validator 仍然失陷,但 Executor 单独阻止了未授权动作。
    • 劫持:两种层级都没有不安全任务到达执行,同时合法任务被拦住的比例见上表。作者称 FPR 的差别不应归到授权上,因为令牌和策略只能在 Validator 批准之后拒绝执行;区间重叠,与 Validator 判断的波动相符。作者称结构性授权保住的是执行,并不处理这类假阳性。
    • 读数分工:记忆投毒的 JBR 按构造表示审查被跳过。作者用它和 UAR 并列,把判断失陷和未授权执行分成两个读数。

    持有签名密钥时的组件消融

    • 测了什么:只做记忆投毒,攻击者持有签名密钥。四个条件是 T0、只保留令牌、只保留策略预言机、T1。一个种子,每条件 60 个任务,无置信区间(Figure 2,Section V-B)。
    • 结果:Figure 2 把 T0 与 token-only 标在未遏制一侧,UAR 都是 100.0%;policy-only 与 T1 标在已遏制一侧,UAR 都是 0.0%。
    • 作者解读:作者称此时遏制来自策略预言机,而不是签名检查,因为攻击者自己可以生成有效签名。作者同时称,这不表示令牌没有用:没有密钥时它可以防伪造、绑定任务与范围并防重放,但这几项没有直接评测。作者给出的较窄结论是,签名授权的是来源,只做签名的系统会继承持钥者的权限。

    手写最小权限策略

    • 测了什么:T1 下用不能读取金标签的允许列表重跑两种攻击,三颗种子,每格 n=180(Table II,Section V-C)。该列表只看拟议动作和范围,并与 60 个金标签全部一致。
    • 结果:作者报告两种攻击、两种策略的 UAR 都是 0%(Section V-C)。记忆投毒下,corpus 与 independent 的 FPR 都是 0.0%,F1 都是 1.00。劫持的 FPR 为 corpus 49.1%(区间 [28.1, 70.0])对 independent 46.3%(区间 [32.1, 60.5]),F1 都是 0.74。
    • 作者解读:作者认为遏制不单是用评测标签充当策略造成的。两组策略由同一组人编写,因此一致只说明实现没有把标签循环写进策略,不能说明策略客观上正确。Table II 注明,记忆投毒的 F1=1.00 衡量的是执行与金标签一致的程度,不是检测难度。

    Observer 与劫持的假阳性

    • 测了什么:agent hijacking,Observer 关与开,三颗种子,n=180(Table III、Figure 3)。另在 60 个任务的配对干净检索与劫持检索上单独跑 Observer,共 120 例。
    • 结果:FPR 从 49.1% 到 7.4%,LTC 从 50.9% 到 92.6%,F1 从 0.74 到 0.95,JBR 从 0.0% 到 4.2%,两种条件下 UAR 都是 0%。流水线内检测率 97.2%,干净内容被删除的比例 0.0%。作者称 FPR 的相对降幅为 85%。摘要写的是从 49% 到 7%。Figure 3 把 F1×100 标为 73.6 与 94.8,图注写明两条件下 UAR 为 0%。配对集上,干净例置信度 0.0、判决 CLEAN,劫持例 1.0、INJECTION;τ 属于 (0, 1] 时 TPR 为 1.0、FPR 为 0.0,只有 τ=0 标记全部。
    • 作者解读:作者把 JBR 上升归因于 Validator 推理的内容变了,而不是审查变弱。作者称,没有 Observer 时显眼的伪造批准造成大范围拒绝,49.1% 的 FPR 大约对应一半合法任务被拦,0% 的 JBR 反映的是普遍怀疑。去掉该声明后合法任务更多被找回,同时出现少数仍被授权边界拦住的判断错误。作者认为 UAR 不变与这一解读一致,并称这与注入显眼时智能体可能更倾向拒绝的已有观察相符。作者还称,分数完全分开来自威胁模型里的显式批准声明,不是 Observer 的一般性质;97.2% 对应线上 Researcher 摘要,不是配对集。

    其他消融与分析

    • 劫持 FPR 的种子区间在 T0 [52.7, 65.8] 与 T1 [28.1, 70.0] 上重叠(Table I)。
    • Figure 2 只给出 UAR;该图的 JBR、FPR 论文未报告,也没有置信区间。
    • corpus 判决被修改时,独立策略不受影响;论文未给出修改后的指标(Section V-C)。
    • 作者称配对阈值扫描除 τ=0 外操作点相同,常规操作曲线因此没有额外信息,原因是分离完全,不是样本小(Section V-D)。
    • 记忆投毒的 JBR 在三个种子上均为 100%,作者称这是构造结果(Table I 注)。
    • 诚实来源、干净输入下,整条流水线的 UAR 与 FPR 论文未在 Section V 的表中给出。
  5. 有什么可以进一步探索的点?

    作者指出策略同组编写、劫持注入显眼、消融仅单种子,并计划检验更弱攻击者。

    作者指出的局限与后续方向

    • 策略作者:独立策略不能访问金标签,但仍由编写语料的同一组人手写(Section V-E)。Section V-C 写明,这种一致是实现没有循环使用标签的证据,不是策略客观上正确。
    • 种子:作者称三颗种子上 UAR 和 JBR 稳定,但劫持 FPR 差异大,95% 区间为 [28.1%, 70.0%];三颗种子均值上的区间不精确,授权消融只用一个种子(Section V-E)。
    • 任务规模:评测限于 60 个任务和 13 类动作(Section V-E)。
    • 注入形态:劫持注入是显眼的,明确包含批准、置信度和来源声明。作者认为这很可能解释了无 Observer 时 Validator 的 0% JBR 和分数的完全分离,因此 Observer 的操作点不应外推到自适应对手;更像样的注入可能带来重叠的分数、非平凡的操作曲线和非零 JBR(Section V-E)。
    • 架构与模型:结果限于一种架构、一种框架和一种模型;Validator 的行为可能随模型变化,遏制结果需要在更广的范围上检验(Section V-E)。
    • 后续计划:本次用的是持有流水线签名密钥的攻击者。作者计划评估那些签名令牌预期会承重的更弱攻击者,把授权消融扩展到多种子,并测试更多模型和异构智能体配置(Section VI)。

    实验覆盖范围

    • 语言模型为 gemma4:31b-cloud,temperature 0,经 Ollama;种子为尽力而为。主实验种子是 1、7 和 42(Section IV-B、Section V)。
    • 攻击包括共享记忆投毒,以及经检索文档的间接提示注入;持有签名密钥时比较了 T0、token-only、policy-only 和 T1(Section IV-C、Figure 2)。
    • Table I、Table II、Table III 为三颗种子、每格 180 次试验;Figure 2 为一个种子、每条件 60 次,不附置信区间。
    • 策略侧包括复述金标签的 corpus policy,以及与 60 个金标签一致的手写 independent policy;Observer 另有 120 个配对例子和阈值扫描(Section V-C、Section V-D)。
    • 论文写明,没有签名密钥时,令牌在防伪造、任务绑定和防重放上的作用没有直接评测(Section V-B)。论文未报告评审与人工的一致性。
  6. 总结一下论文的主要内容

    结构性授权拦住了记忆投毒的未授权执行,持密钥时承重的是策略预言机。

    作者在一条会改写沙箱邮件库的四智能体流水线上,检查低权限失陷会不会变成未授权的真实动作。

    • 问题:检索、批准、执行拆开之后,低权限角色可能以 confused deputy 的方式推动高权限 Executor。作者要把“审查被绕过”和“动作真的执行”分开计。
    • 做法:Supervisor 只做确定性路由。Researcher 检索,Validator 批准,Executor 必须同时通过 HMAC 任务绑定单次令牌和独立策略预言机才写入 SQLite。记忆投毒替换 Validator;劫持把伪造批准放进检索文档。JBR 只计 Validator 的审查是否被跳过。Observer 在批准前删除这类声明,但不能放行或拦截。
    • 记忆投毒:gemma4:31b-cloud、三颗种子、每格 n=180 时,T0 的 UAR 为 100.0%,T1 的 UAR 为 0.0%,JBR 仍为 100.0%(Table I)。作者称判断可以失陷,执行仍可被挡住。
    • 承重组件:攻击者持有签名密钥、一个种子、每条件 n=60 时,token-only 的 UAR 为 100.0%,policy-only 为 0.0%(Figure 2)。手写最小权限策略下,两种攻击的 UAR 仍为 0%(Section V-C)。作者称两组策略由同一组人编写,一致不能说明策略客观上正确。
    • 劫持:无 Observer 时 UAR 已是 0.0%,但 T1 的 FPR 为 49.1%;Observer 打开后 FPR 为 7.4%,JBR 为 4.2%,UAR 仍为 0%(Table III)。作者称假阳性下降没有改变执行层的结果,并称操作点来自显眼注入,不应外推到自适应对手。
    • 作者的结论:上游智能体被攻破,不等于最终动作被攻破;LLM 判断者可以被当作不可信的决策者,而不自动获得造成真实效果的权限。作者写明所用授权原语是标准的,并计划在更弱攻击者、多种子和更多模型上继续检验。
阅读原文arxiv.org