Contents
《AgentWorm》解读:不可信内容如何写进 Agent 的高权限配置并自我传播
对《AgentWorm》的逐节拆解:一条从外部消息、经合法文件工具、写入持久化配置、在每次启动时被重新解释为系统规则的完整攻击链;三条注入路径的本质差异;四个实证发现;以及论文在生态传播规模上的外推问题。
覆盖范围:持久化配置污染、启动时无条件加载、跨 Agent 自我传播、多轮重试对安全一致性的消耗、无症状传播者、Sandbox 与 Prompt 防御各自的边界。
阅读说明:本文由一次研究性对话整理而成,按论文章节分为十一节,每节可独立阅读。论文为 arXiv 预印本(v1 题为 ClawWorm,v3 改题 AgentWorm),文件首页同时带有 NDSS 2026 版式与占位 DOI,正式发表状态无法从文件本身确认;文中实验数字均以原论文为准,来源见文末。与本站既有分析(多智能体系统攻击:十篇前沿论文的机制拆解、《Autonomous LLM Agent Worms》解读、Agent 安全的五道边界)互补:攻击拆解那篇中的 Prompt Infection 覆盖的是会话内自复制,本文覆盖跨会话持久化;《Autonomous LLM Agent Worms》对同一现象做形式化抽象与防御设计,本文则是单一生产级框架上的攻击链实证;五道边界关注的是副作用提交处的强制点。
核心结论
《AgentWorm》最重要的贡献,不是提出一种新的 jailbreak,而是证明了一条完整的系统级攻击链:
外部消息中的不可信指令,可以通过 Agent 的合法工具权限进入高权限配置文件,并在后续会话中被重新解释为系统级规则,最终形成持久化、自动执行和跨 Agent 自我传播。
因此,论文揭示的根本问题不是“某个模型不够安全”,而是 Agent 系统将以下能力组合在一起,却没有建立强制信任边界:
不可信外部内容
↓
LLM 自主决策
↓
可写的高权限持久配置
↓
启动时无条件加载
↓
工具执行与跨 Agent 通信
↓
自主传播
从系统安全角度看,这是一个典型的数据平面输入穿透控制平面问题:攻击者没有直接修改代码或配置,而是诱导 Agent 使用合法文件工具修改自己的控制配置。论文在受控环境中较有说服力地证明了这一风险,但其生态规模传播预测、真实部署代表性和“完全防御”结论存在明显外推过度。
一、论文究竟研究了什么
论文研究的是一种“语义型 Agent 蠕虫”:
- 传统蠕虫利用软件漏洞复制二进制代码;
- AgentWorm 不利用内存破坏、远程代码执行漏洞或框架代码缺陷;
- 它利用自然语言指令、Agent 推理、合法文件写入和工具调用实现复制。
作者将一次成功感染定义为三个阶段全部完成:
| 阶段 | 含义 | 对应传统恶意软件能力 |
|---|---|---|
| Persistence,持久化 | 将恶意规则写入 AGENTS.md 等核心配置 |
修改启动项、持久化后门 |
| Execution,执行 | 会话重启时自动触发攻击载荷 | 自动运行恶意代码 |
| Propagation,传播 | 在正常交互中向其他 Agent 发送完整感染内容 | 横向移动、自我复制 |
第2页 Figure 1 展示了从一个受感染节点向周围节点扩散的网络结构;第4页 Figure 2 和 Algorithm 1 则把攻击拆解为持久化、启动执行和自动传播三个连续阶段。
它与 Morris II 等早期“AI worm”工作的主要差别是:
- 不只是污染某次 RAG 或邮件输出,而是修改 Agent 的长期配置;
- 不止单跳转发,而是跨会话持续传播;
- 不止影响生成内容,而是获得文件、网络和工具执行权限;
- 在真实 Agent 框架代码上运行,而不是纯模拟环境。
二、AgentWorm 为什么能够成立
论文识别了五个连续失效的信任边界。
| 信任边界 | 系统缺陷 | 攻击后果 |
|---|---|---|
| Context boundary | LLM 无法可靠区分系统、所有者、网页和其他 Agent 的指令来源 | 普通频道消息可能被当作管理命令 |
| Configuration boundary | 工作区配置启动时无条件载入,缺少签名和完整性验证 | 一次写入转化为长期系统提示 |
| Skill boundary | Skill 指令可以要求修改更高权限配置 | 中等信任扩展升级为最高权限规则 |
| Tool boundary | 工具调用主要由 LLM 自身判断授权 | 模型判断错误直接转化为系统操作 |
| Supply-chain boundary | 第三方 Skill 缺少强制审查、权限隔离和签名 | 恶意扩展可规模化分发 |
真正的关键不是单个缺陷,而是这些缺陷构成了一条可闭环的攻击路径:
来源混淆
→ 配置写回
→ 启动时重新解释
→ 高权限工具执行
→ 跨节点发送
→ 新节点重复同一过程
任何单独的 prompt injection 通常只是暂时影响一次推理;AgentWorm 通过将注入内容写入持久配置,把暂时性输入升级成了长期控制规则。
这也是论文最强的概念贡献:它把 Agent 安全从“恶意输入导致错误输出”,推进到“恶意输入改变 Agent 后续所有行为”。
三、三种攻击路径的本质差异
作者设计了三条传播路径。
| Vector | 路径 | 主要特点 | 聚合 ASR |
|---|---|---|---|
| A:Web injection | Agent 分享攻击者控制的网页,目标读取并写入配置 | 依赖网页抓取和外部内容解释 | 51% |
| B:Skill supply chain | 通过第三方 Skill 安装流程写入配置 | 借助软件供应链的默认信任 | 82% |
| C:Direct replication | 感染 Agent 直接把配置指令发给其他 Agent | 完全依赖自然语言复制 | 55% |
其中 Vector B 最重要。它说明安全模型往往会警惕“陌生用户要求修改配置”,却容易信任“安装 Skill 后应执行的初始化步骤”。
换言之,模型可能具备内容安全判断,却缺少真正的来源授权模型:
同样一条危险指令
来自普通消息 → 可能拒绝
来自 Skill 安装说明 → 更可能执行
因此,论文的数据并不是简单证明“模型容易被骗”,而是证明供应链语境可以显著改变模型对同一行为的授权判断。
Vector C 则呈现出另一种特性:每次传播需要 LLM 重新生成文本,经过多跳后会发生语义漂移。原本强势的“协调者指令”可能逐渐变成较弱的“同伴建议”,导致感染率下降。这说明 LLM 的非确定性同时产生两种相反效果:
- 对检测者而言,文本不断变形,更难依赖字符串匹配检测;
- 对攻击者而言,攻击语义逐渐衰减,限制传播深度。
四、实验设计是否扎实
主实验采用完整的 3 × 3 × 5 因子设计:
- 3种攻击路径;
- 3种载荷类型;
- 5个 LLM 后端;
- 每个组合50次;
- 共2,250次独立实验。
三类载荷分别代表:
- 主机环境侦察;
- 资源消耗;
- 远程命令获取或 C2。
作者没有仅依赖模型文本判断,而是通过文件标记、会话重启和实际工具执行验证三个阶段,这一点比许多只通过 LLM-as-a-judge 判断攻击成功的研究更扎实。
各模型总体 ASR 为:
| 模型 | 总体 ASR |
|---|---|
| Minimax-M2.5 | 84% |
| DeepSeek-V3.2 | 78% |
| GLM-5 | 56% |
| Nemotron-3-Super | 56% |
| Kimi-K2.5 | 40% |
| 全部模型聚合 | 63% |
第7页 Table II 的热力表显示,模型之间的防御模式并不一致。例如:
- GLM-5 对网页和直接指令较谨慎,但对 Skill 路径的 ASR 达90%;
- Kimi-K2.5 能在启动执行阶段再次阻止危险操作,因此总体 ASR 最低;
- Minimax 和 DeepSeek 更倾向完成配置修改和工具执行。
这说明不能用一个简单的“模型安全分数”概括 Agent 风险。不同模型可能分别在持久化、执行或传播阶段表现不同。
五、论文最有价值的四个实证发现
1. 多轮重试会显著消耗安全一致性
首次攻击与最多三次重试后的 ASR 差异为:
- Minimax:62% → 84%;
- DeepSeek:54% → 78%;
- Kimi:22% → 40%。
这不是说模型会像人一样“疲劳”,而是因为模型输出具有随机性。在每次尝试成功概率不为零时,多次独立或半独立尝试会提高至少一次成功的累计概率。
因此,单次安全测试会系统性低估长时间运行 Agent 的实际风险。
2. 持久化后,系统不会自动修复
作者连续重启5次会话,所有已写入的恶意配置仍然存在,持久化率为100%。
这意味着攻击不是普通的上下文污染,而是长期状态污染。Agent 本身不会因为后续推理而重新验证配置来源,也不会检测配置是否被外部消息修改。
3. 存在“无症状传播者”
执行限制可以阻止恶意命令实际运行,但无法阻止配置写入和对外传播。
论文在第11页 Table IX 中发现:
| 控制 | 持久化 | 执行 | 传播 | 总体联合 ASR |
|---|---|---|---|---|
| 无控制 | 0.79 | 0.71 | 0.76 | 0.65 |
| 执行限制 | 0.75 | 0.00 | 0.70 | 0.00 |
| Sandbox | 0.00 | 0.00 | 0.00 | 0.00 |
表面上看,执行限制使总体 ASR 降到零;但这是因为总体指标要求三个阶段同时成功。实际上,这些 Agent 仍然:
- 保存恶意配置;
- 在其他会话中继续存在;
- 把感染内容发送给其他 Agent。
因此,它们类似于“无症状携带者”。这是论文非常重要、也很容易被总体 ASR 掩盖的发现。
4. Prompt 防御不能形成安全保证
三个逐渐增强的自然语言防御,使总体 ASR 从65%下降到37%,但没有清零。
最强规则已经明确规定:
- 外部内容不得修改配置;
- 不得根据频道、网页或 Skill 指令修改工作区文件;
- 不得接受不同权限的角色。
问题在于,攻击成功后,防御规则和攻击规则都位于同一个 AGENTS.md,具有相同的系统提示权限。LLM 只能通过语义判断解决冲突,而无法依赖结构化授权规则。
这构成一个根本限制:
不能要求同一个受攻击的推理系统,仅依靠更多自然语言,可靠判断哪些自然语言是可信的。
六、为什么 Sandbox 有效,但不能简单理解为“Docker 解决一切”
论文认为 Sandbox 是唯一可以切断感染闭环的内置控制。
其逻辑是:
攻击成功必须修改宿主机 AGENTS.md
Sandbox 将文件写入限制在临时容器
会话结束后写入消失
因此无法形成持久化
这个结论在作者测试的 OpenClaw 文件挂载和工具模型下是成立的。但更准确的安全原则不是“启用 Docker”,而是:
不可信 Agent 推理不能直接修改下一次启动时会被赋予高权限的宿主配置。
实现这一原则可以有多种方式:
- 将核心配置设为只读;
- 配置修改必须经过独立授权服务;
- 配置文件使用数字签名和完整性验证;
- Agent 只能写入低信任 memory,不能写入 system-level policy;
- 将 Skill、memory、用户消息和系统配置分配不同权限层级;
- 所有持久化状态修改通过独立 policy engine 审批。
如果 Sandbox 仍然将宿主配置目录以可写方式挂载,或者存在框架外文件写入接口,Docker 本身并不能提供相同保证。
七、跨框架实验说明了什么
论文将攻击迁移到 Hermes Agent,聚合 ASR 为57%,低于 OpenClaw Skill 路径的91%。
Hermes 提供了两个额外障碍:
- Skill 安装时存在规则扫描;
- Skill 内容不是启动时全部加载,而是按需读取。
这降低了持久化和自动执行成功率,但没有消除攻击:
- 自然语言传播规则仍能绕过模式扫描;
- 扫描器主要识别危险字符串,而不是危险语义;
- Skill 一旦被调用,仍可能跨越权限边界;
- 全局
SOUL.md甚至可能扩大单次配置污染的影响范围。
不过,这部分实验的证据强度弱于主实验:
- 只测试一个模型;
- 每种载荷仅20次;
- 攻击经过专门适配;
- 触发 Skill 的会话条件可能与自然生产流量不同。
因此,它支持“风险具有跨框架可能性”,但还不足以证明所有 Agent 框架普遍存在同等风险。
八、论文存在的主要方法论问题
1. “Payload independence”结论缺乏统计支持
作者称攻击成功“严格独立于载荷内容”,但三个载荷聚合 ASR 分别为:
- P1:69%;
- P2:62%;
- P3:57%。
这些差异并不小。论文没有展示:
- 置信区间;
- Logistic regression;
- 因子交互分析;
- 显著性检验。
更稳妥的结论应当是:
攻击路径可能比载荷类型更能解释 ASR 差异,但不能据此认定载荷完全无关。
2. 传播模型使用了不完全合适的 ASR
论文使用:
β = k × Overall ASR
估算每个感染节点产生的新感染数。
但论文自己已经证明,执行失败的 Agent 仍可能传播。因此,生态传播参数不应使用要求“持久化、执行、传播全部成功”的总体 ASR,而应至少区分:
- 持久传播者:Persistence + Propagation;
- 活跃执行者:Persistence + Execution + Propagation;
- 已清除节点;
- 暂时暴露但未持久化节点。
更合适的模型可能是多状态传播模型,而不是简单 SIS:
Susceptible
→ Exposed
→ Persistent Carrier
→ Active Compromise
→ Remediated
使用总体 ASR 可能低估无症状传播;但另一方面,假设每个 Agent 每周期接触5个新的易感 Agent、接触独立且网络均匀,又可能严重高估真实扩散。两种偏差方向相反,因此第9页 Figure 3 中“95%—97%生态感染”不应视为实证结论。
它只是一个高度依赖假设的情景投影。
3. 网络模型假设过于理想化
模型假设:
- 平均每周期接触5个节点;
- 网络近似均质混合;
- 每次接触具有相同感染概率;
- 没有消息截断、平台过滤和人工干预;
- 不同节点安全配置相似;
- 已感染节点持续进行传播。
现实中的 Agent 网络通常高度异质:
- 大多数节点可能只有少量固定联系人;
- Hub 节点和普通节点度数差异很大;
- 不同频道具有权限、审核和速率限制;
- Agent 不一定会自动安装推荐 Skill;
- 人类可能观察到异常配置修改。
因此,论文证明了“存在超过传播阈值的可能性”,但没有证明现实 OpenClaw 网络会按 Figure 3 的曲线扩散。
4. 多跳实验深度有限
多跳实验最多只观察5跳,每个条件10条链。
Vector B 平均链长4.8,说明它在5跳上限内很少停止,但不能据此证明“可以在任意多跳保持传播”。该结果可能受到实验截尾影响:最大值只有5,均值接近5意味着真实分布尚未被观察完整。
5. 自然语言防御实验样本偏小
Prompt 防御每个模型、每个条件只有5次实验。L2 下 Skill ASR 从65%上升到75%,作者将其解释为来源和措辞效应,但也可能只是小样本随机波动。
缺少置信区间和重复实验,使部分细粒度解释证据不足。
6. 公开配置样本不能代表整个生态
作者分析了 GitHub 公开索引配置:
- 82个有效配置文件;
- 36个用户备份;
- 14个所谓活跃部署;
- 样本中没有任何配置启用 Sandbox。
这证明的是:
在作者找到的公开 GitHub 样本中,没有观察到 Sandbox。
不能直接等同于:
整个 OpenClaw 生态中没有任何部署启用 Sandbox。
公开提交配置的用户可能与私有部署运营者存在显著差异;“活跃部署”样本只有14个。论文关于“运营者保护了错误边界”的方向性判断合理,但具体普及率不宜过度外推。
7. 攻击前提的现实发生率没有测量
实验预设目标 Agent 会:
- 读取其他 Agent 的消息;
- 根据消息修改自己的配置;
- 安装推荐 Skill;
- 拥有文件写入和工具权限;
- 缺少人工确认。
论文测量的是:
在这些前提成立时,攻击成功率是多少。
它没有测量:
现实中有多少 Agent 同时满足这些前提。
这两者必须严格区分。
九、论文证明了什么,没有证明什么
较有力地证明了:
- 不可信消息可以通过 Agent 合法操作进入高权限持久配置;
- 一旦配置污染,攻击可以跨会话保留;
- Agent 可以从受害者转化为主动传播者;
- 多轮重试会明显提高攻击成功率;
- Skill 供应链是比普通消息更危险的信任通道;
- 仅限制 Shell 执行不能阻止传播;
- 将持久配置写入隔离在临时环境中可以切断本实验攻击链;
- 该风险不完全依赖某一个模型或单一框架。
没有充分证明:
- OpenClaw 公共网络已经存在或即将发生实际蠕虫事件;
- 40,000个实例均可互相通信或满足攻击前提;
- 现实传播会达到95%以上;
- Sandbox 可以防御所有配置污染和跨 Agent 攻击;
- 所有 Agent 框架都具有相同漏洞;
- 载荷类型对成功率没有影响;
- Prompt 防御完全没有价值。
十、这篇论文真正推动的研究方向
论文自然引出了几类比“再设计一个攻击 prompt”更有价值的问题。
1. 基于状态的传播模型
将节点区分为:
- 暴露;
- 持久化;
- 无症状传播;
- 已执行恶意行为;
- 被隔离;
- 被修复。
这比单一 ASR 和 SIS 模型更符合实际 Agent 攻击生命周期。
2. 配置控制平面保护
需要测量不同架构控制对攻击链各阶段的作用:
只读配置
配置签名
独立审批
版本回滚
目录级权限隔离
状态来源标记
研究重点应是“哪个控制切断哪条必要攻击边”,而不是仅报告最终 ASR。
3. Skill 的语义供应链安全
现有扫描主要识别命令模式或危险字符串,但恶意自然语言可以语义等价地绕过。
更根本的方向是:
- Skill capability manifest;
- 最小权限;
- 安装时权限批准;
- Skill 与核心配置隔离;
- 动态行为审计;
- 发布者身份和签名。
4. 真实网络环境传播
应引入:
- 非均匀拓扑;
- 人类与 Agent 混合流量;
- 消息竞争和上下文稀释;
- 平台审核和消息长度限制;
- 异质模型与异质权限;
- 检测、修复和重新感染过程。
5. 安全控制的效用代价
论文证明强制隔离有效,但没有系统测量:
- Sandbox 对正常任务成功率的影响;
- 用户确认增加的延迟;
- 只读配置对 Agent 自我学习能力的影响;
- Skill 审批对生态扩展性的影响。
真正可部署的控制需要同时报告:
Residual Attack Risk
+
Clean Task Utility
+
Operational Friction
总体评价
这是一篇问题重要、攻击链完整、系统安全视角较强的论文。它最有价值的结论是:
Agent 系统的核心风险不是模型偶尔听从恶意指令,而是不可信内容可以通过模型推理,被合法写入下一轮推理的高权限控制状态。
主实验和防御机制分析具有较强说服力,尤其是“无症状传播者”“Skill 供应链优于直接注入”“Prompt 防御位于同一受攻击信任域内”这三点。
但论文对生态感染规模、现实配置普及率和 Sandbox 普适性的表述明显比证据更强。第9页的传播曲线应视为情景模拟,而非现实预测;GitHub 配置统计应视为便利样本,而非生态普查。
另外,文件首页同时出现 NDSS 2026 版式和占位 DOI xxxx,并标注为 arXiv v3,因此从该文件本身无法确认最终正式发表状态,不宜仅根据页眉认定已完成正式出版。