PMPA:针对 OpenClaw 与 Claude Code 的持久记忆投毒攻击
When Malicious Instructions Persist: Persistent Memory Poisoning Attack on Harness-Based Agents
作者针对OpenClaw和Claude Code评估持久记忆投毒攻击PMPA,诱导其跨会话执行恶意动作并造成隐私泄露。
受害模型是部署在用户受控环境(个人设备或项目工作区)中基于 harness 设计的智能体(如 OpenClaw 或 Claude Code)。
- 基于 harness 设计的智能体引入了持久记忆机制以支持长流程与跨会话工作流。然而,当智能体处理未经验证的外部数据时,恶意指令可能被持久化到记忆中,导致跨会话的隐私泄露风险,且现有研究尚未探索无需直接访问智能体框架的持久记忆投毒风险。
- 作者提出了持久记忆投毒攻击 PMPA。攻击者在文本、图片或 PDF 格式的良性外部问答数据中嵌入包含过渡句、记忆写入指令和条件恶意规则的载荷;当用户让智能体读取该内容时诱导其写入持久记忆,在后续不同会话的工作区任务中触发隐私泄露。
- 在 OpenClaw 和 Claude Code 上,PMPA 平均 ISR 为 73.7% 与 66.9%,平均 C-ASR 为 55.5% 与 81.7%,良性任务 Utility 均在 80% 以上;文本输入效果高于图像与 PDF;提示词防御对已写入记忆的攻击防护有限。
- 作者在结论中指出未来将在更广泛的设置和更多骨干模型上评估 PMPA,并探索更有效的防御方法。实验覆盖层面,被测智能体为 OpenClaw 和 Claude Code,骨干模型为 3 个,工作区场景为 4 个,防御仅测试了三明治提示词防御。
- 威胁模型
- 受害模型是部署在用户受控环境(个人设备或项目工作区)中基于 harness 设计的智能体(如 OpenClaw 或 Claude Code)。攻击者能力受限,无法查询智能体或观察其输出,无法访问设备、persistent memory、系统提示词或运行时配置;只能在外部未验证源中嵌入恶意指令。
- 被测模型
- DeepSeek-V4-FlashDeepSeek-V4-ProQwen3-Max
- 基准
- MMLUARCCommonsenseQASocialIQA
- 指标
- ISRS-ASRC-ASRUtility
研究者提出 PMPA,一种针对基于 harness 的智能体的持久记忆投毒攻击,攻击者只需在外部来源中嵌入恶意指令,无需直接访问智能体框架。注入阶段把载荷藏在文本、图片或 PDF 的良性问答内容中,诱导智能体将其写入持久记忆;触发阶段在新会话中检索该记忆,在完成正常任务的同时执行额外动作造成隐私泄露。在 OpenClaw 与 Claude Code 上,以 DeepSeek-V4-Flash、DeepSeek-V4-Pro、Qwen3-Max 为底座模型,平均注入成功率与跨会话攻击成功率为 73.7%/55.5% 和 66.9%/81.7%,同时良性任务表现保持在 80% 以上。纯文本模态攻击效果最强,OpenClaw 上注入成功率接近 100%;日历场景跨会话成功率最高,达 96.7% 和 87.8%。
推荐理由论文给出跨会话记忆投毒在 Claude Code 与 OpenClaw 上的分项成功率,并显示提示层防御对已污染记忆几乎无效。
深度解读
这篇论文试图解决什么问题?
论文试图解决基于 harness 设计的智能体在无直接访问权限下被外部源持久记忆投毒并引发跨会话隐私泄露的问题。
这篇论文试图探究在攻击者无法直接访问智能体框架的前提下,嵌入外部源的恶意指令是否会被写入持久记忆并引发跨会话的隐私泄露。
- 场景与重要性:基于 harness 设计的新一代大语言模型智能体(如 OpenClaw 与 Claude Code)通过引入持久记忆机制支持长流程工作流与跨会话连续性;然而当智能体处理未经验证的外部来源时,恶意指令跨越临时任务输入边界进入持久状态,将产生跨会话的安全与隐私风险。
- 现有方法的不足:作者指出,现有的提示注入攻击(如 AgentDojo、InjecAgent、AdvAgent、EIA)主要关注单个任务或当前交互内的行为操纵;现有的后门与记忆投毒攻击(如 BadAgent、AgentPoison、MINJA)则通常假设攻击者具有更强能力,如投毒微调数据、直接修改记忆库或直接向智能体提问。
- 核心观察与假设:作者假设攻击者无需直接访问智能体框架,仅通过在良性外部源中嵌入特定结构的恶意载荷,即可诱导智能体将其当作用户需求或偏好写入持久记忆,并在后续会话触发恶意行为。
- 威胁模型:
- 受害系统:基于 harness 设计的大语言模型智能体(如 OpenClaw 或 Claude Code),部署在用户受控的本地环境(个人设备或项目工作区)中。
- 攻击者目标:诱导受害智能体将恶意指令写入持久记忆,在跨会话的后续工作区任务中触发恶意动作,导致用户或任务的私有信息泄露。
- 攻击者知识与能力:相比 black-box 设定,攻击者能力更为受限;不能查询智能体或观察其输出,无法访问用户设备、persistent memory、系统提示词或运行时配置,仅能制作恶意指令并嵌入外部未验证来源中。
- 论文的提出方案:作者提出了持久记忆投毒攻击 PMPA(Persistent Memory Poisoning Attack),通过两阶段流程实现记忆注入与跨会话隐私泄露。
有哪些相关研究?
相关研究涵盖智能体与 harness 工程、提示注入攻击以及后门与记忆投毒攻击三类。
相关研究主要围绕基于大语言模型的智能体与 harness 工程、智能体提示注入攻击,以及后门与记忆投毒攻击三个方向展开。
智能体与 Harness 工程
- 工具调用与智能体系统(Yao et al., 2022; Schick et al., 2023; Shen et al., 2023):ReAct 将推理轨迹与动作结合,Toolformer 使模型学习调用外部 API,HuggingGPT 利用大模型作为控制器规划任务与调用外部模型;后续研究进一步引入记忆(Park et al., 2023)与反馈(Shinn et al., 2023)。
- Harness 工程架构与持久记忆(Anthropic, 2025, 2026; Yehudai et al., 2025; Pan et al., 2026; Hu et al., 2025):Harness 作为编排层协调上下文管理、规划、工具交互、策略、运行时控制与持久记忆,以支持长流程任务;作者指出,现有 harness 研究主要关注能力提升与长流程支持,跨会话持久记忆的安全风险受到的关注相对有限。
智能体提示注入攻击
- 单会话提示注入与基准(Debenedetti et al., 2024; Liao et al., 2024; Zhan et al., 2024; Xu et al., 2024):AgentDojo 评估了智能体在不可信数据上的提示注入攻防;EIA 报告了网页内容诱导智能体泄露个人隐私信息的风险;InjecAgent 构建了间接提示注入基准;AdvAgent 优化网页中的恶意提示以操纵智能体动作。作者指出,这些研究主要关注在当前任务或单次交互内影响智能体行为。
智能体后门与记忆投毒攻击
- 强能力假设下的后门与投毒(Yang et al., 2024; Chen et al., 2024; Wang et al., 2024b; Dong et al., 2025):AgentPoison 通过投毒长期记忆或 RAG 知识库实施后门攻击;BadAgent 通过投毒微调数据建立触发器与恶意行为的关联;MINJA 通过攻击者直接向智能体提问实施记忆注入。作者指出,这些方法假设了更强的攻击者能力,如直接修改记忆库、直接交互或修改微调数据。
评测环境与防御基线
- 数据集与基线:良性外部源构建自四个公开问答数据集 MMLU(Hendrycks et al., 2021)、ARC(Clark et al., 2018)、CommonsenseQA(Talmor et al., 2019)和 SocialIQA(Sap et al., 2019);虚拟工作区环境参考了 AgentDojo(Debenedetti et al., 2024)的设计;防御对比采用了受 Schulhoff(2024)启发的三明治提示词防御(Sandwich-style Prompt Defense)。
作者将本文与现有工作的区别定位为:聚焦于具备持久记忆的 harness 智能体,在攻击者无法直接访问智能体、仅发布嵌入恶意指令的外部源的受限条件下,研究恶意指令能否被写入持久记忆并造成跨会话隐私泄露。
论文如何解决这个问题?
论文提出了持久记忆投毒攻击 PMPA,通过两阶段工作流与三组件载荷设计,诱导智能体将外部恶意规则存入持久记忆并跨会话触发。
整体思路上,论文提出了针对基于 harness 智能体的持久记忆投毒攻击 PMPA(Persistent Memory Poisoning Attack),通过在良性外部源中嵌入三组件结构的载荷,诱导智能体在处理外部数据时将其存入持久记忆,并在后续会话执行工作区任务时触发隐私泄露。
两阶段攻击工作流
PMPA 的攻击流程划分为两个阶段:
- 注入阶段(Injection Phase):攻击者发布嵌入了攻击载荷的外部来源(支持文本、图像、PDF 三种模态)。当用户将该外部源提供给智能体执行良性问答任务时,智能体在处理内容时读取到恶意指令;由于载荷被伪装为用户偏好,智能体可能将其作为用户需求写入持久记忆文件(如 .md 格式的持久记忆)。
- 触发阶段(Trigger Phase):在后续不同会话中,用户要求受害智能体执行良性的个人工作区任务。智能体在处理任务时从持久记忆中检索出之前存储的规则,在完成良性任务的同时额外执行恶意动作,导致个人或任务私有信息泄露给攻击者。
攻击载荷的三组件结构
每个攻击载荷由三个关键组件构成(附录 B 和 C 给出了完整提示词示例):
- 过渡句(Transition Sentence):连接恶意指令与周围的良性问答内容。其设计目的是保持外部源的语义连贯性,降低注入内容的可察觉性。
- 记忆写入指令(Memory-Writing Instruction):明确指示智能体将后续规则存储到持久记忆中。
- 条件恶意规则(Conditional Malicious Rule):指定该规则被激活的任务条件以及智能体应当额外执行的恶意动作。当触发条件满足时,智能体伴随良性任务一起执行该动作以泄露私有数据。
注入策略设计
为了提高载荷注入成功率,作者在两个维度进行了策略设计:
- 注入位置(Injection Position):基线策略将载荷放置在良性外部源的中间位置(位于问题与选项之间),使其看起来像上下文的一部分,减少放置在开头或结尾时的突兀感,旨在提升隐蔽性并保留原始内容可读性。消融实验中对比了顶部(问题之前)和底部(完整问答之后)位置。
- 语言风格(Linguistic Style):基线策略采用第一人称且类似真实用户的口吻(如使用以“我”为视角的请求表达),将指令伪装成用户的偏好或要求,旨在降低智能体的防备并提升存入持久记忆的概率。消融实验中对比了第二人称(指令式)与非人称风格(客观规则)。
虚拟工作区环境与泄漏场景
为了安全可控地观察隐私泄露,作者参考 AgentDojo 构建了包含四个 JSON 文件(email.json、calendar.json、docs.json、form.json)的本地虚拟工作区,并为每个场景实现对应的智能体技能:
- 邮件场景(Email):良性任务为发送邮件,条件恶意规则设定为将邮件内容抄送至攻击者指定账户。
- 日历场景(Calendar):良性任务为创建日历日程,条件恶意规则设定为创建日程时额外邀请攻击者指定账户作为参会人员。
- 共享文档场景(Shared Docs):良性任务为编辑个人文档,条件恶意规则设定为编辑时将内容同步至共享文档。
- 表单场景(Form):良性任务为填写并提交表单,条件恶意规则设定为提交时额外附加个人私有信息。
样本构建与实验配置
- 外部源构建:从 MMLU、ARC、CommonsenseQA 和 SocialIQA 四个公开问答数据集中均衡随机采样 30 个原始 QA 样本,每个样本分别结合 4 个场景的攻击载荷生成 120 个内容,再转换为纯文本、图像和 PDF 三种模态,共生成 360 个注入样本。
- 触发提示词:为 4 个工作区场景各设计 1 个良性触发任务提示词,提示词本身不含任何恶意指令,仅提供匹配条件规则的良性任务环境。
论文做了哪些实验?
论文在两个智能体和三个模型上测得平均 ISR 达 66.9%–73.7%,跨会话 C-ASR 达 55.5%–81.7%,且防御对已写入记忆防护有限。
实验设置
- 被测系统与骨干模型:测试了两个代表性基于 harness 的智能体系统 Claude Code 和 OpenClaw,各自搭载三个骨干大模型:DeepSeek-V4-Flash、DeepSeek-V4-Pro、Qwen3-Max。
- 数据集与测试样本量:从 MMLU、ARC、CommonsenseQA、SocialIQA 四个基准中均衡采样 30 个良性问答样本,组合 4 种工作区载荷(共 120 个内容),转换为文本、图像、PDF 三种模态,总计构建 360 个注入样本;触发阶段针对 4 个场景各设置 1 个良性工作区任务提示词。
- 防御基线:测试了受 Schulhoff (2024) 启发的三明治提示词防御(Sandwich-style Prompt Defense),在注入阶段和触发阶段的用户提示词前后加入安全提醒。
- 评测指标:评估四个指标,(1) 注入成功率(ISR):恶意规则成功写入持久记忆的比例;(2) 同会话攻击成功率(S-ASR):在注入阶段会话内造成隐私泄露的比例;(3) 跨会话攻击成功率(C-ASR):持久记忆中的条件恶意规则在后续新会话中被激活并造成隐私泄露的比例;(4) 效用(Utility):注入阶段良性问答任务被正确回答的比例。
- 评测方式与重复次数:通过检查智能体持久记忆文件(.md)及虚拟工作区状态文件(email.json、calendar.json、docs.json、form.json)记录动作与泄露;论文未报告是否使用大模型作为评审器,结果汇报了均值与标准差。
主结果
主结果汇总在下表(据 Table 1,聚合 3 种输入模态与 4 种触发场景):
表格较宽,可左右滑动
智能体系统 骨干大语言模型 Utility (%) ↑ ISR (%) ↑ S-ASR (%) ↑ C-ASR (%) ↑ Claude Code DeepSeek-V4-Flash 80.9 ± 8.3 69.7 ± 13.7 37.5 ± 19.3 92.5 ± 9.5 Claude Code DeepSeek-V4-Pro 89.4 ± 3.3 69.4 ± 13.6 52.2 ± 25.9 82.5 ± 10.9 Claude Code Qwen3-Max 84.2 ± 8.0 61.7 ± 11.4 6.4 ± 2.4 70.0 ± 30.9 OpenClaw DeepSeek-V4-Flash 90.0 ± 4.2 75.6 ± 7.4 65.8 ± 16.2 75.8 ± 20.6 OpenClaw DeepSeek-V4-Pro 93.3 ± 1.6 77.5 ± 4.2 73.9 ± 4.9 60.0 ± 24.5 OpenClaw Qwen3-Max 92.8 ± 7.3 68.1 ± 15.2 43.3 ± 4.6 30.8 ± 30.4 - 跨会话持久攻击效果:各配置下 ISR 处于 61.7% 至 77.5% 之间,C-ASR 处于 30.8% 至 92.5% 之间;作者指出这表明恶意规则有较高概率写入持久记忆并在新会话中持续影响行为。
- 同会话攻击的波动性:S-ASR 在不同配置间差异较大,其中 Claude Code 搭配 Qwen3-Max 时 S-ASR 仅为 6.4 ± 2.4%,而其他组合同会话攻击效果更强;作者指出相同骨干模型在不同智能体框架下的攻击表现存在差异。
- 良性任务效用保持:所有设置下的 Utility 均保持在 80% 以上,作者指出 PMPA 能在保持良性问答任务完成能力的前提下达成攻击目标。
输入模态与触发场景分析
- 输入模态对比(Table 2):纯文本模态在两个系统上均达到最高攻击指标,OpenClaw 上文本的 ISR 为 99.4 ± 0.8%、S-ASR 为 88.9 ± 3.5%,Claude Code 上文本的 ISR 为 91.4 ± 6.2%、S-ASR 为 42.2 ± 23.8%;图像与 PDF 的 ISR 和 S-ASR 相对较低(如 Claude Code 图像的 ISR 为 47.5 ± 7.9%)。作者推测原因可能是图像与 PDF 通常需要额外的解析步骤与工具调用,内容更容易被标记为不可信,从而削弱了载荷依从性。
- 触发场景差异(Table 3):日历场景在两个系统上均表现出较高的跨会话攻击效果,Claude Code 和 OpenClaw 的 C-ASR 分别达到 96.7 ± 4.7% 和 87.8 ± 9.5%;OpenClaw 上表单场景的 ISR 与 S-ASR 最高(80.0 ± 4.8% 与 71.1 ± 14.2%);作者指出攻击成功率取决于恶意规则与触发任务本身,但全部四个场景均观察到了泄露。
良性交互对攻击持久性的影响
- 多轮良性交互测试(Table 5):在以 DeepSeek-V4-Flash 为骨干模型的设置下,测试了在触发前插入 1、3、5 轮无载荷外部源问答交互后的跨会话成功率 C-ASR@i。
- 持久性表现:经历 5 轮良性交互后,日历场景在 Claude Code 和 OpenClaw 上的 C-ASR 分别维持在 93.3%(下降 3.3 个百分点)和 86.7%(下降 3.3 个百分点);但 OpenClaw 邮件场景的 C-ASR 从 36.7% 降至 10.0%(下降 26.7 个百分点),Claude Code 表单场景从 86.7% 降至 50.0%(下降 36.7 个百分点)。
- 作者解读:作者指出各场景和智能体并未呈现通用的单调衰减趋势,即使经过长良性上下文交互,持久记忆中的恶意规则仍可被检索并执行。
三明治提示词防御评测
- 防御对写入与同会话的抑制(Table 6,日历场景):在图像与 PDF 模态下,防御使 ISR 大幅下降(如 Claude Code 图像 ISR 从 65.6% 降至 2.2%,OpenClaw 图像 ISR 从 50.0% 降至 0.0%),S-ASR 也同步下降至 2.2% 或 0.0%;但在文本模态下防御效果相对较小(Claude Code 文本 ISR 从 96.7% 降至 84.4%,OpenClaw 文本 ISR 从 100.0% 降至 66.7%)。
- 防御对跨会话攻击的失效:一旦恶意指令已写入持久记忆,防御后的 C-ASR 几乎未变(Claude Code PDF 的 C-ASR 维持在 96.7% 保持不变;OpenClaw PDF 的 C-ASR 从 97.8% 仅微降至 96.7%)。作者指出提示级防御在持久记忆被投毒后能够提供的保护非常有限。
其他消融与分析
- 注入位置消融(Table 4):固定第一人称,顶部位置在 Claude Code 和 OpenClaw 的 ISR 分别为 87.8 ± 14.6% 和 73.3 ± 38.5%,底部为 86.7 ± 12.1% 和 59.6 ± 42.7%,中间为 83.0 ± 17.2% 和 66.7 ± 31.8%。
- 语言风格消融(Table 4):固定中间位置,Claude Code 在第一人称、第二人称和非人称下的 ISR 分别为 83.0 ± 17.2%、54.4 ± 35.7% 和 48.1 ± 36.1%;OpenClaw 对应分别为 66.7 ± 31.8%、67.4 ± 29.3% 和 65.2 ± 32.3%。
有什么可以进一步探索的点?
作者计划未来在更广泛设置与更多模型上评估该攻击,并探索针对持久记忆投毒更有效的防御手段。
作者指出的局限与后续方向
- 评估设置与模型覆盖局限(Section 5):作者在结论中指出,未来的工作将把 PMPA 拓展到更广泛的设置和更多的骨干模型上进行评估,以检验其性能表现。
- 有效防御手段的探索(Section 5):作者在结论中指出,未来将探索针对持久记忆投毒和隐私泄露更有效的防御方法。
- 提示词级防御能力的局限(Section 4.3 及 Section 5):作者指出,针对性的提示词级三明治防御虽然能够在多个设置下减少注入,但一旦恶意指令已被写入持久记忆,其对跨会话攻击提供的防护非常有限。
实验覆盖范围
- 智能体框架与骨干模型:实验覆盖了 OpenClaw 和 Claude Code 2 个智能体系统,各测试了 DeepSeek-V4-Flash、DeepSeek-V4-Pro、Qwen3-Max 3 个骨干大语言模型(Section 3.4)。
- 外部源与样本构建:实验使用了 MMLU、ARC、CommonsenseQA 和 SocialIQA 4 个公开问答数据集,共抽样 30 个良性问答样本构建了 120 个内容,扩展为 360 个多模态输入样本(Section 3.4)。
- 模态与应用场景:实验覆盖了纯文本、图像、PDF 3 种输入模态,以及邮件、日历、共享文档、表单 4 个虚拟工作区场景(Section 3.2)。
- 防御评测范围:防御实验仅在日历场景下评估了三明治提示词防御(Table 6),论文未在邮件、共享文档和表单场景下汇报防御效果。
- 未报告信息:论文未报告评测过程中判定的具体实现细节(如是否引入独立大模型判定或人工复核的一致性检验数据),亦未报告图像与 PDF 生成时的分辨率等具体排版参数。
总结一下论文的主要内容
论文提出了持久记忆投毒攻击 PMPA,报告了 harness 智能体在处理外部数据时易受跨会话记忆投毒与隐私泄露的风险。
- 论文定位:该研究探讨了基于 harness 架构的智能体在持久记忆机制下所面临的新型跨会话安全与隐私风险。
- 研究问题:现有提示注入多局限于单次会话,而传统后门攻击往往依赖较强的访问权限;论文研究在攻击者无法直接访问智能体的前提下,嵌入外部源的恶意指令能否诱导智能体将其持久化并引发跨会话隐私泄露。
- 攻击方法:提出的 PMPA 采用两阶段流程,在注入阶段将包含过渡句、记忆写入指令和条件恶意规则的三组件载荷置于外部良性内容中,诱导智能体在问答时写入持久记忆;在触发阶段,用户执行正常工作区任务时激活存储的恶意规则,实现隐私窃取。
- 核心实验发现:
- 在全场景平均下,OpenClaw 的 ISR 与 C-ASR 分别达到 73.7% 和 55.5%,Claude Code 对应达到 66.9% 和 81.7%,且良性任务 Utility 均保持在 80% 以上(摘要及 Table 1)。
- 文本模态的攻击效果高于多模态输入,OpenClaw 上文本输入的 ISR 达到 99.4 ± 0.8%,而图像与 PDF 的 ISR 分别为 54.5 ± 2.2% 与 67.2 ± 11.6%(Table 2)。
- 日历场景在两个系统上均取得突出的跨会话攻击效果,Claude Code 与 OpenClaw 的 C-ASR 分别达到 96.7 ± 4.7% 和 87.8 ± 9.5%(Table 3)。
- 三明治提示词防御能有效降低图像与 PDF 的注入率(如 Claude Code 图像 ISR 从 65.6% 降至 2.2%),但在日历场景中一旦记忆被投毒,Claude Code 的 C-ASR 仍维持在 96.7% 不变(Table 6)。
- 作者结论与启示:作者认为持久记忆机制打破了单任务交互的安全边界,未经验证的外部数据可能使智能体形成长期的恶意潜伏行为;作者指出当前的提示级防御难以抵御已持久化的记忆投毒,智能体安全亟需从架构与记忆管理机制层面设计更有效的防护方案。