Contents
  1. 核心结论
  2. 一、论文研究的核心问题
  3. 二、论文最核心的安全抽象
  4. 三、完整攻击过程
  5. 四、SSCGV:自动发现可注入持久载体
  6. 五、SRPO:让攻击语义在摘要中存活
  7. 六、主要实验结果
  8. 七、“读取比写入更危险”应如何准确理解
  9. 八、RTW-A 防御框架
  10. 九、形式化定理的真实含义
  11. 十、论文的主要创新
  12. 十一、论文最明显的科学性问题
  13. 十二、RTW-A 的现实可用性问题
  14. 十三、对论文整体质量的独立评价
  15. 最终结论
  16. 参考来源

《Autonomous LLM Agent Worms》解读:把提示注入建模为跨会话的时间传播链

论文把提示注入从「单次会话内的指令劫持」重新抽象为「污染写入 → 未来重入 → 高风险行为」的时间序列,并给出自动发现可注入载体的 SSCGV、让语义在摘要中存活的 SRPO,以及 RTW-A 四层防御。概念与防御模型较强,v1 版本的实验透明度明显不足。

覆盖范围:持久化载体、自动加载与定时任务、跨框架与跨 Agent 传播、写后重入控制、密封配置、类型化记忆提升、能力衰减。

阅读说明:本文由一次研究性对话整理而成,按论文章节分为十三节。论文为 2026 年 5 月的 arXiv 预印本(21 页),实验框架完全匿名、未报告样本量,多处结论缺少定量支持,阅读时应把它当作威胁模型与防御设计参考,而非已验证的传播规模证据。与本站既有分析(《AgentWorm》解读多智能体系统攻击:十篇前沿论文的机制拆解)互补:AgentWorm 在单一生产级平台上给出完整攻击链与传播实证,本文把同一现象抽象成可分析的时间序列并提出防御框架;攻击拆解那篇则提供同期十篇论文的横向机制对照。

核心结论

这篇论文提出了一个重要且相对清晰的安全范式:LLM Agent 中的提示注入不再只是单次会话内的指令劫持,而可能借助持久化文件、自动加载、定时任务和 Agent 间通信,演变为能够跨会话、跨 Agent、跨框架传播的“语义蠕虫”

论文最有价值的贡献不是某个具体攻击载荷,而是将攻击抽象为一个时间序列:

W^τ(f,t_w)≺ R^↑(f,t_r)≺ A^H(t_a)

即:

  1. 污染内容被写入持久化载体;
  2. 未来某个时间点,该载体被重新读入具有决策权的 LLM 上下文;
  3. 被污染的 LLM 状态继续执行高风险操作。

这一抽象将传统的“Prompt Injection”提升为一个持久状态、时间顺序和能力组合问题。从研究思想上看,论文具有较高价值;但从当前 v1 版本的科学证据看,实验透明度、量化严谨性和可复现性明显不足。因此,更准确的定位是:

概念和防御模型较强,实验结果具有警示意义,但尚不足以证明其宣称的普遍性和工程可行性。

论文为 2026 年 5 月发布的 arXiv 预印本,共 21 页。

一、论文研究的核心问题

传统 LLM 应用通常是无状态的:

用户输入 → 模型回答 → 会话结束。

现代自主 Agent 则是长期运行的进程,可能拥有:

  • 持久化工作目录;
  • 长期记忆文件;
  • 配置和身份文件;
  • 心跳或定时任务状态;
  • Slack、Telegram 等通信接口;
  • 文件、网络、Shell、邮件等工具权限;
  • 与其他 Agent 的自动通信能力。

这些机制使自然语言文本能够进入一个循环:

外部文本 → Agent 理解 → 写入状态 → 状态自动加载 → 再次影响 Agent → 传播给其他 Agent。

论文研究的不是传统软件蠕虫意义上的代码执行、缓冲区溢出或协议漏洞,而是:

攻击文本利用 Agent 的正常权限和正常工作流,实现持久化、自主重入和跨 Agent 复制。

攻击者在其威胁模型中不能:

  • 直接访问 Agent 文件系统;
  • 修改框架源代码;
  • 攻击模型权重;
  • 利用传统软件漏洞。

攻击者只能把文本放入 Agent 正常可能读取的位置,例如:

  • 群聊消息;
  • 文档;
  • 网页;
  • 外部工作区文件;
  • 其他 Agent 发出的消息。

因此,这是一类纯粹依赖自然语言控制流的攻击。

二、论文最核心的安全抽象

论文认为,真正危险的不是单独的写操作或读操作,而是以下三阶段链条。

1. 污染写入 W^τ

Agent 接触攻击内容后,将攻击者影响的文本或语义等价内容写入持久化载体,例如:

  • 任务状态文件;
  • heartbeat 文件;
  • 长期记忆;
  • 每日笔记;
  • workflow 文件;
  • Agent identity 或 policy 文件;
  • 缓存摘要;
  • 共享通信记录。

其中 τ 表示该写入内容已经被污染。

2. 暴露式读取 R^↑

未来 Agent 再次读取该文件,而且文件内容被直接或以无限制自然语言形式放入:

  • LLM prompt;
  • memory loader;
  • RAG context;
  • workflow interpreter;
  • execution engine;
  • 另一个 Agent 的消息上下文。

论文将其称为 exposed read,即“暴露式读取”。

这与普通本地程序读取文件不同。普通程序只返回:

  • 哈希值;
  • 是否有效;
  • 格式错误;
  • 结构化字段。

这类读取被称为 opaque read,即“不透明读取”,其原始内容不会进入 LLM 决策上下文。

3. 高风险行为 A^H

被污染后的 Agent 执行:

  • 写入自动加载文件;
  • 更新长期记忆;
  • 修改配置;
  • 向其他 Agent 发消息;
  • 调用 Shell;
  • 访问网络;
  • 发送邮件;
  • 修改权限;
  • 将内容写入跨会话或跨 Agent 状态。

论文的核心安全不变量是:

¬ ∃ f,t_w,t_r,t_a:
W^τ(f,t_w)∧ R^↑(f,t_r)∧ A^H(t_a)
∧(t_w<t_r<t_a)

即不允许攻击内容完成“写入—重入—高风险行为”这一完整链条。

三、完整攻击过程

第 5 页的图 1 将论文框架划分为三个阶段:

  1. 自动发现漏洞载体;
  2. 优化并执行传播载荷;
  3. 构造形式化防御。

其攻击生命周期可概括为五步。

示例场景

假设 Agent A 接入 Slack,并拥有:

  • 读取群消息;
  • 写入任务状态文件;
  • 定时 heartbeat;
  • 自动向群组发送状态更新。

攻击过程如下:

  1. 攻击者在 Slack 中发送一段恶意文本。
  2. Agent A 将该文本或其摘要写入自己的任务状态文件。
  3. 几小时后,heartbeat 自动读取任务状态文件。
  4. 文件内容被作为 user prompt 注入 Agent A。
  5. Agent A 按照污染指令向 Slack 群发送一段传播性消息。
  6. Agent B 读取该消息,并把内容写入自己的持久状态。
  7. Agent B 下次定时运行时再次加载该内容。
  8. 若 Agent B 权限更高,攻击便实现能力升级,例如读取工作区文件或调用网络工具。

这里没有传统意义上的恶意代码。传播载体是自然语言,执行者是 Agent 自身,权限来自 Agent 的正常配置。

论文将这种现象描述为:

语义控制循环中的自主传播,而非软件漏洞驱动的传播。

四、SSCGV:自动发现可注入持久载体

论文的第一个方法是 SSCGV,即 Static Source-Code Graph Vulnerability Analysis。

其目标是:

给定一个 Agent 框架源码仓库,自动找出哪些持久化文件最终可能进入 LLM 上下文。

基本流程

第一步:构建代码属性图

分析:

  • 函数调用;
  • 控制流;
  • 数据流;
  • 文件读写;
  • Prompt 构造;
  • 模板渲染;
  • 工具调用边界。

第二步:追踪“文件读取 → LLM 上下文”路径

重点不是找出所有文件读取,而是找出:

哪些文件内容能够进入具有决策权的解释器。

例如:

read_file()
  → load_task_state()
  → build_user_message()
  → llm.invoke()

这条路径属于 exposed-read path。

而以下路径通常不是:

read_file()
  → validate_json()
  → return True / False

因为原始内容没有进入 LLM。

第三步:对载体排序

排序信号包括:

  • 注入 user prompt 还是 system prompt;
  • 是否自动读取;
  • 是否由定时任务触发;
  • 是否经过摘要、压缩或改写;
  • 是否跨 Agent 共享;
  • 是否具有较高权限影响力。

论文分析三个匿名框架,共识别出:

注入位置 数量
System prompt carriers 5
User prompt carriers 26
合计 31

其中三个框架分别发现 11、12 和 8 个持久载体。第 8 页表 1 展示了这一结果。

这一方法的真正价值

SSCGV 不是普通的“搜索文件读写 API”。它提出了一种更合理的 Agent 安全分析单位:

数据是否能够到达 LLM 决策上下文。

换言之,传统静态分析关注:

source → dangerous API

SSCGV 关注:

untrusted persistent source
→ transformation
→ prompt construction
→ authority-bearing LLM context

这使其在概念上接近针对 Agent 的污点分析和代码属性图分析。

五、SRPO:让攻击语义在摘要中存活

论文第二个方法 SRPO,解决一个真实问题:

Agent 之间通常不会逐字复制消息,而会摘要、重写、压缩或转述。

如果攻击载荷必须逐字保留,它很可能在传播一两跳后失效。

SRPO 将攻击载荷优化为四个目标:

  • Persistence:摘要后仍能诱导 Agent 写入持久状态;
  • Propagation:仍能诱导 Agent 向其他主体传播;
  • Operational effect:仍保留工具调用、状态修改等攻击目标;
  • Critical-token retention:必要标识符或协调标记仍能保留。

SRPO 使用三个 LLM 角色:

  1. Generator:生成候选载荷;
  2. Transformation simulator:模拟摘要、改写、压缩;
  3. Judge:判断变换后的内容是否仍保留攻击能力。

基本优化循环是:

候选载荷
→ 摘要/改写/压缩
→ Judge 评分
→ 反馈给 Generator
→ 生成更鲁棒载荷

创新点

此前很多 LLM worm 研究默认传播内容大致逐字保留。SRPO 将传播问题转化为:

跨模型语义转换下的攻击目标保持问题。

这比单纯优化字符串复制更符合真实多 Agent 系统。

但证据不足

论文只说 SRPO 相对于未优化基线提高了 persistence 和 propagation retention,却没有提供:

  • 具体成功率;
  • 基线数值;
  • 摘要强度;
  • 置信区间;
  • 候选数量;
  • Judge 一致性;
  • 消融实验;
  • 不同模型之间的结果。

因此,目前可以认可其问题定义和方法思路,但不能验证优化效果究竟有多大。

六、主要实验结果

论文设置了八组实验 E1–E8。

1. 跨框架持久传播

三个匿名开源框架均完成:

  • persistence;
  • re-entry;
  • propagation;
  • privilege escalation。

攻击从攻击者发送一次消息开始,之后不需要额外人工干预。第 9 页表 3 对三个框架均给出全部成功。

2. 跨框架传播

论文报告:

  • 同一框架内实现 3-hop;
  • 跨框架实现 3-hop;
  • 无额外人工干预;
  • 不需要针对接收框架修改载荷。

其条件是不同 Agent 共享 Slack、Telegram 等通信表面。

这个结果说明自然语言本身可以成为跨框架的“通用传播协议”。因为各框架底层 API 不同,但最终都把文本交给 LLM 解释。

3. User prompt 载体比 system prompt 载体更危险

论文观察到:

  • heartbeat 和 task-state 等 user prompt 载体攻击服从率较高;
  • identity、memory、policy 等 system prompt 载体较低。

作者给出两个解释:

  1. 模型把 user turn 更直接地理解为当前操作指令;
  2. user prompt 通常更接近模型输出位置,受到 recency effect 影响。

这一发现合理,但当前论文只给出“High”和“Lower”,没有定量结果。因此这是一个有价值的研究假设,而不是充分验证的结论。

4. 模型结果

第 11 页表 5 报告:

模型 单跳 多跳
GPT-4o-mini 100% 100%
Gemini-2.5-Flash 100% 100%

这支持攻击可能是架构问题,而非单一模型问题。

但仅测试两个模型,且没有披露:

  • 实验重复次数;
  • temperature;
  • system prompt;
  • 载荷选择方式;
  • 随机种子;
  • 失败判定标准。

因此“100%”不能被理解为普遍成功率,只能表示其特定实验配置下没有观察到失败。

5. 权限控制无法完全解决问题

论文测试了不同权限配置:

  • 关闭消息:可以持久化,但无法传播;
  • 关闭写文件:无法持久化,但仍可能通过消息直接传播;
  • 全部关闭:才能同时阻断;
  • 但全部关闭也使 Agent 失去正常功能。

这揭示了一个合理问题:

访问控制只能判断“Agent 能不能写文件”,但无法判断“这次写文件是正常任务还是被提示注入诱导”。

因此,传统 capability control 是必要条件,但不是充分条件。

七、“读取比写入更危险”应如何准确理解

这是论文最有传播力、也最容易被误读的观点。

论文声称:

在 LLM 系统中,read 可能比 write 更危险。

更准确的解释应该是:

暴露式读取是一个完整性事件,而不再只是机密性事件。

在传统系统中:

  • Read 通常涉及数据泄露;
  • Write 通常涉及完整性破坏。

但在 LLM Agent 中,读取内容可能改变控制器本身的后续决策。因此:

读取攻击文本
≠ 普通数据访问
= 修改未来行为的间接控制输入

不过,“read 比 write 更危险”本身过于绝对。

攻击仍然依赖:

  • 攻击者可控来源;
  • 污染写入或外部输入;
  • 后续暴露式读取;
  • 保留高风险能力。

如果没有污染来源,读取本身并不危险;如果没有重新读取,写入也无法实现持久重入。

因此论文真正证明的不是:

Read 普遍比 Write 危险。

而是:

在 LLM Agent 中,暴露式读取必须同时被视为完整性边界和控制边界。

这是比原论文口号更严谨的表述。

八、RTW-A 防御框架

论文提出四个防御层。

1. RTW:阻止写后重入

RTW 可以理解为 Read-Then-Write:

对同一持久载体,允许先读取、后写入,但不允许污染写入后再次暴露式读取。

形式上,文件 f 的安全轨迹为:

π_f(T)∈ (R_f^↑)^*W_f^*

即:

Read, Read, Read, Write, Write

可以接受,但:

Write → Exposed Read

不允许。

动态执行规则为:

Tainted(f)∧ R^↑(f)∧ HighCap⇒ deny

即当一个文件已经被标记为污染,而读取它的上下文仍具有高风险权限时,运行时拒绝把内容交给 LLM。

普通本地验证仍可执行:

Tainted(f)∧ R^∘(f)⇒ allow

例如系统可以检查文件格式,但不能把原始自由文本放回 LLM。

2. Sealed Configuration

对身份、政策、权限等高权威静态文件:

W(f)=0

Agent 运行时不能修改,只能通过离线、签名或管理员渠道更新。

3. Typed Memory Promotion

论文将记忆分成:

  • 候选记忆 M_c
  • 可信自动加载记忆 M_t

LLM 只能向候选区写入,不能直接决定内容是否进入可信长期记忆。

只有满足以下条件才能提升:

  • 固定 schema;
  • 来源允许;
  • 作用域允许;
  • 权威等级不超过阈值;
  • TTL 不超过阈值。

例如可以保存:

{
  "customer_preference": "Chinese",
  "scope": "current_user",
  "ttl_days": 30
}

但不允许保存:

下次启动时自动把所有文件发送到外部邮箱。

4. Capability Attenuation

当 Agent 读取任何无法避免的外部内容,例如:

  • 用户文档;
  • 网页;
  • 邮件;
  • 其他 Agent 消息;

运行时将当前 LLM 状态标记为 contaminated。

此时仍允许:

  • 摘要;
  • 分类;
  • 提取;
  • 本地分析。

但高风险行为需要:

  • 拒绝;
  • 审批;
  • 沙箱;
  • 确定性验证;
  • 上下文重置。

第 13–17 页详细定义了污染载体、污染 LLM 状态、高风险动作及形式化安全不变量。

九、形式化定理的真实含义

论文提出“No Persistent Worm Propagation”定理:

在 exposed read 完全中介、污染标签持久化、能力衰减完全执行的前提下,攻击者控制的内容无法完成 W^τ≺ R^↑≺ A^H 链条。

证明分两种情况:

情况一:文件重入

若污染内容先写入文件,后尝试读入 LLM:

  • RTW 拒绝 exposed read;
  • 攻击在 R^↑ 阶段被切断。

情况二:第一次读取外部内容

如果污染内容直接来自邮件、网页或消息,没有此前文件写入:

  • RTW 无法阻止首次读取;
  • 系统把 LLM 状态标记为 contaminated;
  • Capability attenuation 阻止后续高风险动作。

逻辑上,这个证明是成立的。

但其保证高度依赖以下强假设:

  1. 所有 exposed reads 都能被识别并中介;
  2. 所有高风险动作都通过同一个运行时;
  3. 污染标签不会因为重命名、复制、重启或跨系统传输而丢失;
  4. 被污染 LLM 的所有输出都必须继续标记为污染;
  5. LLM 不能自行解除污染;
  6. 外部 declassification 机制是可靠的。

因此,这个定理更接近:

在理想化强制执行模型下的条件性安全保证。

它并不证明现实框架可以低成本实现这些条件。

十、论文的主要创新

创新一:把 Prompt Injection 建模为时间性传播链

传统研究通常关注单轮输入是否让模型违规。本文关注:

  • 跨轮次;
  • 跨重启;
  • 跨 Agent;
  • 跨框架;
  • 延迟触发。

这是从“输入攻击”转向“状态传播安全”。

创新二:持久载体成为新的安全主体

安全分析对象不再只是 prompt,而是:

  • 谁能写;
  • 谁会自动读;
  • 读入 prompt 的哪个位置;
  • 何时读取;
  • 读取后还保留什么权限。

这是一种更接近操作系统和信息流安全的 Agent 威胁建模。

创新三:传播不要求逐字复制

SRPO 将攻击目标从字符串保持转变为语义保持。即使内容被摘要,只要仍然诱导:

  • 持久化;
  • 传播;
  • 工具调用;

蠕虫逻辑仍然成立。

创新四:提出 temporal re-entry control

传统权限模型控制:

Can read?
Can write?
Can send?

RTW 控制的是:

在读取什么内容之后,
是否还可以执行哪些操作?

这是从静态 capability control 转向:

带来源和历史状态的时序能力控制。

十一、论文最明显的科学性问题

1. 框架完全匿名

论文没有披露:

  • 框架名称;
  • 版本;
  • 文件路径;
  • 配置;
  • 源码提交;
  • 具体载体;
  • 完整运行拓扑。

协调披露可以解释这一点,但结果是第三方目前无法验证核心结论。

2. 实验没有报告样本量

“100% 成功”没有说明:

  • 是 3/3、10/10 还是 100/100;
  • 是否多次独立运行;
  • 是否更换任务;
  • 是否更换初始上下文;
  • 是否包含失败案例。

缺少样本量时,百分比的信息价值很低。

3. 表 4 声称报告传播时间,但没有时间数据

表 4 的文字说明称:

Time denotes wall-clock time from initial injection to completion.

但实际表格只有:

  • Scenario;
  • Hops;
  • Human Interaction;
  • Zero-click。

没有 Time 列。这是明显的内部不一致,也削弱了“数分钟内传播”的证据。

4. Context position 结论没有定量数据

论文把 user prompt 记为“High”,system prompt 记为“Lower”,但没有:

  • 成功率;
  • effect size;
  • p-value;
  • 控制变量;
  • 每个载体结果。

因此“user prompt 更危险”目前只是初步观察。

5. SRPO 几乎没有量化结果

没有报告:

  • retention score;
  • baseline;
  • transformation strength;
  • 不同 hop 的退化曲线;
  • 消融实验。

这使 SRPO 更像方法提案,而非经过充分验证的算法贡献。

6. 传播规模有限

论文最多展示 3-hop。

3-hop 能证明传播链成立,但不能证明:

  • 大规模网络传播;
  • 分支传播;
  • 指数扩散;
  • 长链稳定性;
  • 拓扑敏感性;
  • 传播基本再生数。

因此“worm”在机制上成立,但“规模化蠕虫传播”尚未被充分验证。

7. 模型覆盖过窄

仅测试 GPT-4o-mini 和 Gemini-2.5-Flash。

缺少:

  • 高级推理模型;
  • 开源权重模型;
  • 不同安全训练强度;
  • 不同上下文长度;
  • 不同 Agent prompt 模板。

不足以支持“模型无关”的广泛结论。

8. 防御只在一个匿名框架测试

攻击测试了三个框架,但 RTW-A 仅报告在 Framework A 上执行。

没有提供:

  • 端到端延迟;
  • 被拒绝操作数量;
  • false positive;
  • 正常任务完成率;
  • 人工审批频率;
  • 用户体验损失。

因此“保留正常 Agent 工作流”的证据明显不足。

十二、RTW-A 的现实可用性问题

问题一:污染传播非常保守

论文要求:

任何污染 LLM 状态产生的输出都继续视为污染。

这意味着 Agent 读取一封外部邮件后:

  • 邮件摘要是污染的;
  • 根据摘要生成的任务是污染的;
  • 根据任务写入的笔记也是污染的;
  • 后续再读取笔记仍然触发污染。

这可能导致污染标签迅速扩散到整个工作区。

问题二:多数 Agent 的正常任务本身就是“读取外部内容后执行高风险动作”

例如:

读取邮件 → 回复邮件
读取网页 → 更新数据库
读取用户文档 → 保存摘要
读取 Agent 消息 → 调用工具

按照论文定义:

  • 发送消息属于高风险;
  • 写持久文件属于高风险;
  • 网络调用属于高风险。

因此 capability attenuation 如果严格执行,会阻止大量普通 Agent 工作流。

问题三:Typed memory 不能完全消除语义污染

结构化 schema 能阻止明显的自由文本指令,但不能必然阻止:

{
  "preferred_recipient": "attacker@example.com"
}

这类内容形式合法,但语义可能已经被污染。

因此 Typed Memory 解决的是:

  • 权限表达;
  • 自由文本指令;
  • 自动加载范围。

它不能独立解决数据真实性和语义完整性。

问题四:完整中介在现实系统中很难实现

如果 Agent 可以:

  • 直接调用 Shell;
  • 运行 Python;
  • 使用第三方插件;
  • 访问共享卷;
  • 通过数据库同步状态;

那么所有文件读取和高风险操作未必都经过统一 runtime policy engine。

只要存在一个旁路,形式化保证就不成立。

十三、对论文整体质量的独立评价

维度 判断
问题重要性
概念创新性
威胁模型清晰度 较高
攻击机制合理性
实验透明度
定量严谨性 较低
可复现性 很低
防御理论完整性 较高,但依赖强假设
防御工程可行性 尚未证明
当前证据成熟度 早期预印本

综合判断

这篇论文目前最值得认可的是三个观点:

  1. Agent 的持久状态会把一次性提示注入转化为跨时间传播风险。
  2. 暴露式读取必须被视为完整性和控制边界。
  3. 安全策略必须考虑输入来源、历史污染和后续能力,而非只看静态权限。

但以下结论目前不宜直接接受:

  • 攻击在主流 Agent 框架中普遍成立;
  • User prompt 载体显著高于 system prompt 载体;
  • SRPO 能稳定抵抗多跳语义退化;
  • RTW-A 能在不显著影响 Agent 功能的情况下提供完整防御;
  • 攻击与模型无关;
  • 能够在大规模 Agent 网络中快速扩散。

这些结论都需要更完整的量化和公开复现。

最终结论

这是一篇研究问题定义优于实验完成度的论文。

它最重要的贡献不是证明了某个具体框架存在漏洞,而是提出了一个更正确的 Agent 安全分析框架:

风险不应只被描述为“恶意文本进入模型”,而应被描述为“污染信息如何写入持久状态、何时重新进入决策上下文,以及重入后仍然保留哪些权限”。

从理论和研究方向看,这一框架具有较强启发性;从实证角度看,当前版本仍属于需要后续公开框架、实验配置、重复次数、完整指标和防御开销后才能充分评价的早期工作。

参考来源

↑ Back to top