论文链接:PMPA: Persistent Memory Poisoning Attack | SkillSecurer | SkillAtlas 发表时间:2026年9月 机构:PMPA:复旦大学;SkillSecurer:独立团队;SkillAtlas:独立团队 领域标签:cs.CR / Agent Security

一、论文背景

harness 记忆机制的双刃剑:现代 Agent harness(OpenClaw、Claude Code 等)引入持久记忆——跨会话记住用户偏好、项目约定、已确认的事实。这极大提升了连续性体验,但也创造了新攻击面:如果恶意指令被写进持久记忆,它将在未来所有会话中持续生效。

skill 生态的信任缺口:Agent skill 正在形成共享生态(skills.sh 类市场),用户安装第三方 skill 如同安装浏览器扩展——但 skill 是自然语言+工具定义,其"恶意性"不体现在静态特征上,而体现在运行时与模型/上下文/工具的交互中(静态扫描天然不适配)。

安全研究的资源瓶颈:攻击研究(如 PMPA)产出私有报告,防御研究缺乏公共的对抗样本库——skill 安全缺少类似 CVE 的公共基础设施。SkillAtlas 补此空白。

二、论文定位和关联工作

研究脉络代表工作核心思想与本文关键区别
Agent 后门AgentPoison、BadAgent训练时/RAG 投毒PMPA 攻运行时记忆写入
提示注入防御AgentDojo、guard 系输入内容过滤SkillSecurer 扫描 skill 包本身
skill 检测NVIDIA SkillSpector静态+可选 LLM 扫描SkillSecurer 红蓝对抗+注入级评估
安全资源库CVE/MITRE ATT&CK漏洞共享基础设施SkillAtlas 的 skill 版
同日安全SWEADV、Enforcement Gap攻击与架构互补拼图

定位结论:三篇构成 skill/记忆安全的攻-防-基建三件套:PMPA 证明攻击可行且强,SkillSecurer 提供系统化防御工具,SkillAtlas 提供评测资源底座——这是安全子领域走向成熟的标志形态。

三、问题定义

PMPA 的抽象问题:能否在不接触 Agent 框架本身的情况下,让恶意指令进入其持久记忆并在后续会话触发?——间接记忆写入攻击。约束:注入载体必须是良性外观的外部源(文档/PDF/图片)。

SkillSecurer 的抽象问题:如何系统化发现 skill 包中的提示注入漏洞?难点在评估——怎么知道"发现的是真漏洞":其方案是注入级评估(红队注入时记录精确修改,蓝队发现与记录对齐即可客观判分)。

SkillAtlas 的抽象问题:私有的 skill 安全报告如何转化为可检索、可复用的公共证据?关键洞察:攻击轨迹(而非攻击样本)才是可学习资源——轨迹包含模型决策、用户上下文、工具反馈的完整交互。

四、问题解法

PMPA 两阶段攻击:

  • 注入阶段:恶意指令嵌入良性外部源(用户会正常阅读/引用的文档、PDF、图片),当用户把源交给 Agent 处理(“帮我总结这份 PDF”)时,指令诱导 Agent 把恶意内容写入持久记忆(伪装成"用户偏好"或"项目约定")。
  • 触发阶段:后续会话中,与触发条件匹配的正常交互唤醒记忆中的恶意指令。跨会话攻击成功率(C-ASR)衡量持久化效果:OpenClaw 55.5%、Claude Code 81.7%。

SkillSecurer 三组件:红 Agent(生成 9 种威胁类型的上下文兼容注入,精确记录每次修改);蓝 Agent(分析完整 skill 包——描述+工具定义+触发逻辑,产出接地证据与补丁建议);验证器(受控场景下比对蓝队发现与红队注入记录——注入级客观评分)。流程:扫描→检测→定位→修补→验证。

SkillAtlas 资源转化管线:私有报告 bundle→审核→脱敏→结构化为可检索案例(每案例含轨迹、受影响 skill、风险类别)。规模:3014 案例、6589 轨迹、151131 步、233 受影响 skill、8 风险类别。衍生价值:轨迹接地标签把 pre-execution guard 精度提升到 0.770。

五、评估指标与实验证据

研究指标结果证明什么
PMPAISR(注入成功率)OpenClaw 73.7% / Claude Code 66.9%写入记忆可行
PMPAC-ASR(跨会话触发)OpenClaw 55.5% / Claude Code 81.7%持久化生效
PMPA良性任务性能保持攻击隐蔽(不破坏正常功能)
PMPA防御评估靶向提示防御降低但不消除提示级防御不足
SkillSecurer检测率最佳后端唯一 100% 注入检测红蓝对抗扫描的有效上限
SkillSecurer真实生态skills.sh 热门 skill 17%+ 有潜在漏洞真实威胁非理论
SkillSecurer实测触发实际事故漏洞可利用性确认
SkillAtlas反直觉发现42.5% 成功案例首轮失败后才成功单轮测试严重低估攻击面
SkillAtlas资源效用guard 精度 0.770轨迹标签的防御价值

证明力分析:PMPA 的"良性性能保持"是其杀伤力的隐藏证据——攻击不引起任何功能异常,用户完全无感;两平台(OpenClaw/Claude Code)的 ASR 差异(81.7% vs 55.5%)还揭示了不同 harness 记忆设计的风险梯度。SkillAtlas 的 42.5% 是对整个安全评测方法论的警告:如果近半成功攻击需要多轮交互才显形,所有单轮红队测试都在系统性低估漏洞。SkillSecurer 的 100% 是在"已知注入"的受控评测下的数字(红队注入的漏洞当然能被找到),其真实价值在 17% 的真实生态发现。

六、效果优势的根源解释

根源机制与证据链

  1. 记忆的信任不对称(PMPA 论文实验已支持):harness 把持久记忆当作"已确认的可信知识"(用户偏好级信任),但其写入路径(外部源处理时的提取)未经过同等审查——低保障写入+高信任读取的错位是 C-ASR 高的机制根源。
  2. 良性外观的载荷穿透(PMPA 与 SWEADV 同日互证):恶意内容以"合理偏好/约定"的语义形态写入(不是可检测的 payload),内容过滤失效——与 SWEADV 的合理化措辞共享同一穿透机制。
  3. 多轮攻击的累积效应(SkillAtlas 证据):42.5% 成功案例需多轮——机制上,攻击的成功常需"上下文铺垫+时机匹配",单轮测试的对抗预算不足以触发;这解释了为什么静态与单轮扫描(SkillSpector 21-35% recall)系统性漏检。
  4. 红蓝对抗的覆盖优势(SkillSecurer 论文实验已支持):静态扫描只看特征(21-35% recall),LLM 蓝队语义理解可达 98% recall——因为 skill 的恶意性是语义交互属性,只有语义级分析能看见。

相关工作检索与对照

研究相似尝试相关结论与本文差异影响
AgentPoisonRAG/记忆投毒(训练时)后门有效PMPA 纯运行时支持:记忆攻击面真实
NVIDIA SkillSpector静态+LLM 扫描静态 21-35% recall单轮扫描对照:本文证明其不足
AgentDojo注入评测框架动态评测框架通用注入非 skill支持:动态评测必要性
SWEADV(同日)语义合理化攻击judge 失效APR 域支持:语义穿透跨域
Enforcement Gap(同日)检测-执行断裂审计不等于阻止架构层补充:检测后的执行链

综合判断与未决问题

多研究共同支持:自然语言层的语义攻击穿透内容过滤(PMPA+SWEADV+SkillSecurer 三方);单轮/静态测试系统性低估攻击面(SkillAtlas 42.5% + SkillSpector recall)。仍属推测:SkillSecurer 的补丁有效性长期性——补丁后的 skill 是否会被进化的注入绕过(攻防是迭代博弈)。适用边界:PMPA 需要用户主动把恶意源交给 Agent(钓鱼前置);SkillAtlas 的案例库依赖研究者愿意提交(竞争性披露问题)。可能的失效条件:harness 引入"记忆写入审查层"(新组件检查每条写入的来源信任级)后 PMPA 类攻击的 ISR 会结构性下降——但写入审查的误报(正常偏好被拒)会成为新的体验成本。

七、必要知识反推

领域知识层:harness 记忆机制的实现(写入触发条件、记忆的组织与读取优先级——不懂实现就无法设计注入路径);skill 包的构成(描述/工具定义/触发逻辑的三元结构)。

方法论知识层:红蓝对抗评估学(注入级评分的客观性设计——记录修改并比对);多轮攻击的实验设计(轮次预算、触发条件的构造);资源库的脱敏与审核流程(隐私与效用的平衡)。

工程知识层:多模态载荷构造(PDF/图片中的指令隐藏);skills.sh 生态的爬取与合规分析;轨迹数据的结构化存储(15 万步的可检索索引)。

知识融合关键节点:PMPA 的核心融合是"把社会工程的’植入信任’技巧翻译为记忆写入攻击"——需要同时理解 harness 记忆的信任模型(哪些内容被当作偏好存下)与钓鱼攻击的载体设计。SkillAtlas 的融合是"漏洞数据库传统×轨迹数据科学"——CVE 存漏洞描述,skill 安全需要存交互轨迹(因为恶意性在交互中显现)。

八、通用性灵感

  1. 信任等级与写入保障必须匹配:被高信任读取的数据必须经同等保障的写入审查——低保障写入+高信任读取是普适漏洞模式(论文证据:PMPA 的 ISR 73.7%)。推广:企业知识库(任何人可写入的 wiki 被当作权威引用)、缓存系统(不可信源的缓存投毒)。
  2. 交互性风险需要多轮测试:只在交互序列中显现的风险(近半)无法被单次测试捕获(论文证据:42.5% 多轮成功)。推广:渗透测试的多阶段化、用户研究的纵向设计。
  3. 红蓝对抗的注入级客观评分:安全工具评测用"已知注入的找回率"替代主观判定(论文证据:SkillSecurer 验证器设计)。推广:任何检测系统的金标准构造(植入已知缺陷测召回)。
  4. 攻击轨迹是最优学习资源:安全知识的最佳载体不是"漏洞描述"而是"完整攻击轨迹"(论文证据:轨迹标签把 guard 精度提到 0.770)。推广:事故复盘的完整时间线(而非结论摘要)、debug 教学的复现环境。