Skip to content

AgentLeak:从执行差分克隆 Agent 隐式程序能力 ​

摘要 ​

AgentLeak 说明,保护显式 Skill 文件并不足以保护 Agent 的程序性能力。攻击者控制一个较弱 Agent,在有限黑盒交互中取得强 Agent 的成功执行轨迹,再与自身失败轨迹比较,便可识别缺失行为并补写到攻击者侧 Skill;模型、harness 和工具保持不变。

作者在 20 个任务场景、600 个实例和多种 Agent/基础模型组合上报告:相对直接复用显式 Skill,任务通过率提高 40% 以上,并恢复超过 80% 的受害者—攻击者能力差距。该结论来自单篇论文的作者实验,尚无专属代码仓库或独立复现,不能外推为任意不可见服务都能被同样克隆。

核心创新与差异 ​

原研究贡献。 研究把“Skill 执行差距”定义为新的泄露面:强弱 Agent 拥有相同显式 Skill 时,成功与失败轨迹之间仍会暴露分支判断、检查顺序、纠错和工具编排等隐式程序知识。

本站分析。 现有 Skill 窃取关注文件、提示词或工具定义,模型提取关注模型参数或输出分布。AgentLeak 的增量是从可观察执行差分恢复程序行为,因此最先失效的是轨迹披露和访问策略未把行为序列视为机密资产,而不是 Skill 文件访问控制本身。

威胁模型与攻击链 ​

攻击者拥有一个较弱 Agent,可提交合法任务并观察目标 Agent 的成功轨迹,同时记录本地失败轨迹;攻击者不能修改目标模型、harness 或工具。目标资产是目标 Agent 的隐式程序能力。

  1. 对同类任务收集目标成功轨迹和攻击者失败轨迹。
  2. 对齐两类轨迹,找出与成功相关而弱 Agent 缺失的行为。
  3. 将这些行为压缩为攻击者侧 Skill 指令或检查步骤。
  4. 在模型、harness 和工具不变的条件下重新执行,测量能力差距是否收窄。

攻击方法与复现材料 ​

以下是本站依据公开机制重构的去武器化夹具,只使用本地虚构任务,不包含目标服务接口、真实专有 Skill 或自动抓取逻辑:

text
victim_trace = [inspect_fixture, validate_schema, dry_run, submit_mock]
attacker_trace = [inspect_fixture, submit_mock, fail("schema")]
diff = compare(victim_trace, attacker_trace)
patched_skill = add_checks("LOCAL_FIXTURE_ONLY", diff.missing_checks)
assert run(patched_skill, network="disabled").target == "mock-service.invalid"

它对应“轨迹收集—差分—Skill 补写—重测”四步。预期信号是本地测试通过率变化和新增步骤命中率;检测侧应关注同一主体对近似任务的高频探测、对成功/失败轨迹的成对请求和 Skill 的快速迭代。省略真实服务调用、认证材料和可扩展采集代码,避免将研究工件转化为窃取工具。

实验设计与实际过程 ​

作者在 20 个场景共 600 个实例上比较直接复用 Skill 与 AgentLeak。实验跨越多种 Agent 系统和基础模型,并固定攻击者的模型、harness 与工具,以隔离“补写程序行为”的贡献。关键指标是任务通过率和恢复的 victim—attacker 能力差距比例。本站核对论文 HTML 和审计表,未独立复现。

关键结果与实际影响 ​

  • AgentLeak 相对直接 Skill 复用将任务通过率提高 40% 以上。
  • 作者报告恢复超过 80% 的强弱 Agent 能力差距,说明显式制品相同不代表程序能力相同。
  • 风险主要影响把高质量执行轨迹、调试记录或逐步工具结果开放给低信任用户的服务。

结果不能证明所有能力均可克隆,也不能区分轨迹中哪些细节在现实服务里必须公开。部署影响取决于查询预算、轨迹粒度、任务可重复性和目标能力是否稳定。

防护措施与验证方法 ​

  • 将详细轨迹视为可能含商业机密的输出,按租户、任务和用途实施最小披露。
  • 对外只返回完成任务所需的结果与可审计摘要,敏感分支、内部纠错和工具编排采用受控披露。
  • 以成对任务、重复查询和 Skill 快速更新为信号做速率限制与异常检测,但不能以隐藏所有日志替代安全审计。
  • 用授权红队账户测量不同轨迹粒度下的能力恢复率,并同时检查合法调试和问责需求是否受损。

局限与待验证问题 ​

论文没有公开专属代码直链,主要数字来自作者实验,证据等级为 moderate。20 个场景与 600 个实例不能代表所有长时任务;成功轨迹的可获得性、目标更新频率和访问成本会显著改变攻击可行性。减少轨迹披露还会削弱可解释性和事故调查,需要可选择披露而非简单关闭日志。

参考链接 ​