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

通过智能体 Skill 持久化产物发起的跨会话攻击

2026 年 10 月的一篇 arXiv 论文表明,智能体 Skill 留下的文件和缓存可能把恶意影响带入后续会话,并提出了基于来源溯源的防护方案。

2026-10-14 // 6 分钟 affects: claude-code, codex-cli, gemini-cli, skill-based-agents

What is this?

智能体 Skill 把指令、代码和资源打包成可复用的包。Skill 运行时往往会留下文件、配置和缓存数据,后续会话以及其他 Skill 会复用这些残留物。论文 Understanding and Mitigating Cross-Session Attacks via Persistent Artifacts in Agent Skill Composition 于 2026 年 10 月 9 日提交至 arXiv,指出这些持久化产物构成了一个研究不足的攻击面:恶意影响可以从一次执行传递到之后的执行,而攻击者从未接触后者的会话。

该研究延续了此前的论文 What If Prompt Injection Never Left?(2026 年 6 月),后者把跨会话注入类比为存储型 XSS。新论文把问题聚焦在 Skill 组合上。

How it works

作者归纳了三种机制:

  • Instruction Propagation(指令传播): 嵌入产物中的指令被带入后续执行,并被当作指引。
  • Data Boundary Violation(数据边界违反): 某个 Skill 写出的产物越过信任边界,被不应信任它的另一个 Skill 使用。
  • Evidence Poisoning(证据投毒): 被污染的产物之后被当作可靠证据用于决策。

为此论文提出 SkillRelayBench:基于十个领域中 30 个跨会话 Skill 组合场景构建的 270 个对抗用例。研究在 Codex CLI、Gemini CLI 和 Claude Code 上测试了七个模型。攻击成功率为 46.7% 至 77.4%,完整攻击链成功率为 35.6% 至 61.1%,涉及作者定义的全部五类安全后果。理解这一结果无需任何利用字符串,本文也不复现任何此类内容。

为什么重要

团队越来越多地组合多个 Skill,并让它们共享工作目录。此时,低信任步骤写出的文件,在后续步骤看来与用户写的文件没有区别。智能体不记录内容来源,可能把不可信文本提升为可信上下文。风险并不局限于某个产品:论文在三种不同的智能体 CLI 上都报告了结果。

防御措施

作者提出 SkillRelayGuard:为产物恢复来源上下文(谁或什么写了该文件、在哪个会话、基于什么输入),并在执行前增加咨询式审查,最终决定仍由智能体做出。评估中,总体攻击成功率从 69.5% 降至 10.9%,攻击链成功率从 54.8% 降至 10.0%,正常任务完成率从 79.6% 升至 87.5%。

由这些发现得出的实用措施:

  • 跟踪来源: 记录 Skill 写出文件的来源,并在智能体据此行动前展示给它。
  • 隔离 Skill 工作区: 避免一个 Skill 悄悄读取另一个 Skill 的输出。
  • 把持久化产物视为不可信输入: 即使是智能体自己写的。
  • 在敏感流程中清理或版本化缓存: 会话之间检查哪些内容被保留。
  • 对由产物内容触发的高影响操作设置用户显式批准。

状态

项目详情
论文arXiv 2610.13227,2026 年 10 月 9 日提交
基准SkillRelayBench,270 个用例,30 个场景
测试的智能体Codex CLI、Gemini CLI、Claude Code(七个模型)
提出的防御SkillRelayGuard(研究原型;摘要未说明是否可获取)
厂商补丁不适用:设计层面的弱点,未引用 CVE

Sources