系统:运行中
← 返回所有攻击
AGENTS MEDIUM NEW

ClawTrojan:被存储的提示注入演变为持久化的智能体后门

2026 年 5 月 29 日的一篇 arXiv 论文显示,藏在文件中的注入可被本地智能体存储并在日后执行——攻击成功率达 95.5%,而单轮注入几乎为零。

2026-06-03 // 5 min affects: gpt-5.4, llm-agents, coding-agents, openclaw

这是什么?

2026 年 5 月 29 日,Jiejun Tan、Zhicheng Dou、Xinyu Yang、Yuyang Hu、Yiruo Cheng、Xiaoxi Li 与 Ji-Rong Wen 发布了 From Prompt Injection to Persistent Control: Defending Agentic Harness Against Trojan Backdoors(arXiv:2605.31042,cs.CR/cs.AI/cs.CL)。代码与基准在 GitHub 组织 RUC-NLPIR 下发布。

论文的贡献并非一个新的 payload,而是对一个盲区的量化:在本地智能体框架(agentic harness)中——大模型可以读写文件、调用工具、并在多个会话之间复用工作区状态——被注入的指令无需立即生效,它可以被存储下来,在很久之后才执行。作者构建了基准 ClawTrojan 来揭示这类多步木马,并提出防御 DASGuard,用于追溯工作区中”控制类”文本的真实来源。在运行 GPT-5.4 的 OpenClaw 风格模拟工作区中,ClawTrojan 的攻击成功率(ASR)达到 95.5%,而传统单轮提示注入在同一模型上几乎为

工作原理

该攻击将单一恶意目标拆分到若干看似无害的步骤中。攻击者把注入放进智能体即将读取的内容里——文件、工具输出或被检索到的上下文片段。智能体读取这条隐藏指令,关键之处在于,它会将其写入工作区:配置文件、笔记文件或某个持久化状态。日后——可能是在另一个会话中——智能体重新读取自己的工作区,把被植入的文本当作合法的控制内容并加以执行。

步骤 1  智能体读取含隐藏文本的不可信文件/工具输出
步骤 2  智能体把该文本写入敏感的本地文件  [后门已植入]
   ...  (看起来像普通的工作区维护)
步骤 N  智能体重新读取该文件并执行被植入的指令

关键洞见是结构性的:单看任何一步都不像恶意行为。 写配置文件是常规操作,重读工作区状态也是常规操作,危害只存在于序列之中。论文指出,现有防御逐步孤立地检查每一步:它们能拦下明显有害的最终动作,却完全错过更早那次植入后门的写操作。这正是单轮注入在 GPT-5.4 上几乎为零、而多步变体却有 95.5% 成功率的原因——模型逐步的拒绝行为依然完好,被利用的是工作流

这与记忆的时间污染休眠记忆外泄的教训相同,如今被应用到本地编码框架的文件状态上,而非向量记忆库。

为何重要

本地智能体框架恰恰是最受影响的环境。它们按设计保留持久状态——这正是其跨会话有用之处——并赋予智能体写文件与执行工具的能力。这一组合把一段被存储的字符串变成潜伏的控制力。这正是通过文件系统体现的致命三要素(不可信内容、敏感能力、持久性)。

由此带来两个后果。其一,按动作设置的护栏制造了虚假的安全感:一个框架可以拒绝每一个单独危险的请求,却仍被完全攻陷,因为危险指令早已通过历史中一次无害的写操作被”洗白”。其二,影响半径是持久的。写入工作区状态的后门会跨越会话边界存活:一次接触被投毒的文件,就可能掌控操作者永远不会与最初注入联系起来的未来运行。

这些是基准上的模拟结果,而非真实环境中观察到的攻击活动,且该框架是 OpenClaw 风格而非某个具体在售产品。正确的解读是对一类弱点的下界,而非某个厂商的独立漏洞。

防御

论文提出的防御 DASGuard 基于来源追溯,其设计可推广为具体的实践指引。

  1. 追溯”控制类”文本的来源。 DASGuard 扫描敏感本地文件中类似指令或控制流的内容,追溯其来源,并移除非可信来源的控制内容。原则是:一段字符串的权限应取决于它来自哪里,而非它现在位于何处。这与 data-flow-is-not-authority来源图谱的工作思路一致。

  2. 防御序列,而非单步。 既然没有任何单独动作是恶意的,按动作过滤就不够。应将写操作与之后对同一工件的读取关联起来,把”智能体把指令形态的文本写入自身状态、日后再据此行动”作为一等检测目标。

  3. 将运行时拦截与净化提交结合。 DASGuard 把运行时攻击拦截与对工作区的净化提交相结合:它不仅阻止当下的动作,还会从持久状态中清除被植入的后门,使其日后无法触发。应在写入与读取两端,都把工作区状态视为”未经验证即不可信”。

  4. 约束框架本身。 文件访问的最小权限、把智能体可写状态与智能体可读配置相隔离、以及出站(egress)控制,都能限定被植入指令所能造成的后果,无论其如何被洗白。这正是智能体二要素规则的架构姿态。

状态

项目参考日期备注
论文发布arXiv:2605.31042 [cs.CR]2026-05-29”From Prompt Injection to Persistent Control: Defending Agentic Harness Against Trojan Backdoors”
基准ClawTrojan检测本地智能体框架中的多步木马
防御DASGuard控制类文本来源扫描 + 净化提交
评测OpenClaw 风格工作区,GPT-5.4多步 ASR 95.5% vs. 单轮几乎为零
代码与数据github.com/RUC-NLPIR/ClawTrojan随论文发布
利用状态真实环境中未见模拟基准;未发布针对在线系统的 payload

要点并非”智能体会被提示注入”——这早已是旧闻。要点是持久性把一条被拒绝的指令变成了一条被存储的指令,防御必须读取智能体自身工作区的历史,而不仅是它的下一个动作。

Sources