跳到主要内容
返回时间线
arXiv来源发表:

智能体技能跨会话接力:上游写进文件的一句话,下游照做,攻击成功率最高77.4%

导语

智能体技能通过跨会话保留的文件、配置和数据库记录传递恶意影响,在三个智能体框架的七个模型上攻击成功率为46.7%至77.4%,而恢复产物来源并加入执行前审查可把总体攻击成功率从69.5%降到10.9%。

Source-provided article image: Understanding and Mitigating Cross-Session Attacks via Persistent Artifacts in Agent Skill Composition
Figure 1 · arXiv

正文

智能体技能执行时留下的文件、配置和数据库记录会被后续会话里的其他技能读取,恶意影响因此可以跨会话传递,即使对话历史已被重置。 此前对技能安全的研究考察过技能生态中的漏洞、恶意行为和凭据泄露,也做过技能包审计与恶意技能检测,但没有充分考察多个受攻击者控制的技能如何通过持久任务产物在独立会话之间协同攻击。 在覆盖十个领域、30个两阶段任务场景的270个对抗案例上,七个模型跨Codex CLI、Gemini CLI和Claude Code三个框架的攻击成功率为46.7%至77.4%,攻击链成功率为35.6%至61.1%。

攻击者不需要在会话之间直接改动文件,只要控制上游和下游两个技能包,就能让智能体自己把攻击内容写进产物、再在后续任务中读出来使用。 上游技能诱导智能体把攻击相关内容写入产物,下游技能在后续会话中引导智能体使用这些内容,攻击者无法观察执行结果、无法在执行中调整载荷,也不能直接修改会话之间的文件。 研究归纳出三种攻击模式:指令传播让智能体在后续任务中执行产物里嵌入的指令,数据边界违规让数据在后续任务中被用于授权范围之外,证据投毒篡改后续决策的事实依据;按攻击模式汇总,证据投毒的整体攻击链成功率为61.0%,高于指令传播的49.5%和数据边界违规的40.0%。

SkillRelayGuard在智能体读取产物时恢复其来源信息和使用边界,并在具体操作执行前由独立审查者给出证据和修改建议,最终决定仍留给执行任务的智能体。 单纯拒绝复用产物会打断合法工作流,直接信任产物中的指令和事实主张又会延续攻击,因此防御需要在保留产物复用的同时重新评估授权与事实支持。 在三个智能体配置上,总体攻击成功率从69.5%降到10.9%,攻击链成功率从54.8%降到10.0%,同时合法任务完成率从79.6%升到87.5%;消融实验显示,读取时上下文恢复与执行前审查结合比任一单独干预更能降低攻击成功率。

接下来

这项工作面向使用第三方技能包、且任务跨会话延续的智能体工作流,评估在隔离的Docker环境中非交互执行,不经过人工批准工具调用。防御原型通过平台适配器接入Codex CLI、Claude Code和Gemini CLI,来源记录存放在智能体可写工作区之外。读者若要跟进,可关注作者提出的方向:把来源、事实支持与用户授权区分开,并在执行具体操作前重新评估产物使用。

评判由独立的智能体评判器完成,可能误判边界案例;智能体执行具有随机性,单个结果会随采样和执行路径变化,同一配置内的重复运行尚未替代跨配置证据;消融研究只使用Codex CLI,组件贡献在其他配置上的推广仍待验证;基准无法穷尽真实场景,向其他工作流的推广需要进一步验证。SkillRelayGuard强制传递上下文和审查,但把最终内容层面的决定留给智能体,智能体可能忽略恢复的上下文或在收到审查建议后仍确认请求,因此残留攻击风险依然存在。

来源