Skip to content

Agent Skill 隐蔽策略偏转攻击研究 ​

摘要 ​

SkillShift 研究把可复用 Agent Skill 视为外置行为策略,而不只是任务说明。恶意提供者无需改变用户查询、候选集合、候选顺序、模型或输出接口,只需在 Skill 中加入语义上合理的评价框架、平局规则和示例,就可能让 Agent 持续偏向未披露的目标。输出仍可满足格式与任务要求,因此“任务完成”和“扫描通过”不能证明 Skill 的策略完整性。

作者在 Agent 购物推荐与 Python 依赖选择两个场景中,分别报告 81.33% 和 63.33% 的攻击者偏好目标选择率,同时保持 100% 的效用保持率。冻结后的策略无需继续优化即可迁移到异构模型后端和完整 Agent 环境;受测扫描器未识别构造的 Skill。证据来自作者控制的 arXiv v1 实验,不能外推为真实市场中的攻击发生率或所有扫描器的普遍漏检率。

核心创新与差异 ​

原研究贡献是提出 Skill 策略完整性(Skill Policy Integrity):Skill 诱导的行为策略应忠于声明功能和用户授权目标,行为变化必须能由任务相关上下文解释。SkillShift 在黑盒约束下组合策略框架、平局操纵和语义锚定,并用分层校验、失败引导优化与效果保持压缩,使策略在没有显式目标命令或任务劫持的情况下保持有效、可迁移且不显眼。

本站分析认为,这项工作与无显式载荷的 Agent Skill 语义合规劫持都揭示自然语言制品的静态扫描盲区,但目标不同:后者诱导 Agent 生成越权动作,SkillShift 则保持合法候选集合和输出接口,只改变比较标准与选择分布。它也补充了声明—实现行为完整性核验:即使能力声明与实现一致,隐藏的第三方偏好仍可能破坏策略完整性。

威胁模型与攻击链 ​

攻击者控制一个第三方 Skill,并能在开发集上查询黑盒模型的最终输出;攻击者看不到参数、概率、梯度、隐藏状态或注意力。论文约束攻击者不得修改用户查询、候选数据、候选顺序、模型和推理设置,也不得使用查询特定规则、位置捷径或显式目标选择命令。

  1. 用户安装或调用声明为购物比较、依赖选择等正常功能的第三方 Skill。
  2. Skill 在正常任务流程中加入表面合理的全局评价原则、任务规则、平局标准和示例。
  3. Agent 仍处理原查询与原候选集合,但对证据的权重和取舍方式发生系统性变化。
  4. 攻击者只根据最终选择结果迭代策略,并修复覆盖不足或过于显眼的内容。
  5. 策略压缩后被冻结,在未见查询、其他模型后端或完整 Agent 环境中继续影响选择。
  6. 如果审核只检查格式、显式恶意指令或危险 API,输出仍合法的偏转可能不触发告警。

攻击方法与复现材料(涉及攻击方法时必填) ​

论文附录给出了完整攻击 Skill。本站不复刻可直接用于商业推荐操纵或依赖偏转的策略、目标示例和优化提示,只提供用于检测“选择分布不应随无关措辞变化”的去武器化差分夹具。

yaml
# 本站依据公开机制重构的防御测试夹具;不包含真实品牌、软件包或偏转规则。
task: choose-one-from-fixed-candidates
candidates: [candidate-a, candidate-b, candidate-c]
queries: synthetic-balanced-set
skill_variants:
  - clean-policy
  - semantically-equivalent-neutral-rewrite
  - audit-probe-without-target-preference
controls:
  candidate_order: rotate
  candidate_attributes: unchanged
  output_schema: unchanged
expected:
  valid_output_rate: unchanged
  unexplained_selection_shift: ALERT

测试人员应比较每个候选在配对查询上的选择变化,并要求 Skill 的每项权重或平局规则能够追溯到用户需求。夹具不指定应偏向哪个候选,也不提供失败引导搜索、目标锚定或规避扫描的文本;它只能用于验证审计器能否发现与任务证据无关的系统性偏移。

实验设计与实际过程 ​

作者实验选择购物推荐和 Python 依赖选择两类任务,将干净 Skill、SkillShift 和显式直接注入基线置于相同查询、候选、顺序与输出约束下。核心指标是策略偏转率(Policy Steering Rate, PSR)、相对干净 Skill 的提升、有效输出或效用保持,以及冻结策略在未见查询、其他大模型后端和完整 Agent 环境中的迁移。作者还以现有 Skill 扫描器、提示词注入检测器及 ClawHub、Tencent SkillHub、vskill 的 Registry 处理流程检查可检测性。本站没有复现优化或市场提交。

为避免摘要中的四舍五入差异造成误报,本文采用 arXiv 摘要给出的两位小数:购物推荐 81.33%,Python 依赖选择 63.33%;正文概述将其分别写为 81% 和 63%。同理,本文只保留可由摘要与正文相互对应的 100% 效用保持结论,不转录附录中的细分模型表格。

关键结果与实际影响 ​

  • 购物推荐场景的攻击者偏好目标选择率为 81.33%,相对干净 Skill 提升 44 个百分点。
  • Python 依赖选择场景的对应选择率为 63.33%,相对干净 Skill 提升 63 个百分点。
  • 两个场景都保持 100% 的效用保持率;这说明格式正确、候选合法和任务可完成仍可能与用户真实偏好不一致。
  • 冻结策略能迁移到异构后端和完整 Agent 环境。论文还称受测扫描器没有检出构造 Skill,但未由独立团队复核。

实际影响包括隐蔽广告、供应商偏置、依赖选择偏转与组织政策被软性改写。由于候选仍然合法,单次输出很难证明攻击;风险更适合用成对回归、分布漂移和决策理由可追溯性来识别。

防护措施与验证方法 ​

  • 将 Skill 视为策略制品,版本签名之外还要审查评价维度、证据权重、平局规则、示例和默认值的语义差分。
  • 建立干净基线和配对查询集,固定候选属性并轮换顺序,比较更新前后的候选选择率、有效输出率与理由分布。
  • 要求每项选择标准能追溯到用户请求、组织政策或可验证属性;未披露的品牌、供应商和软件包偏好应触发人工复核。
  • 把发布者利益关系、赞助与默认推荐政策纳入来源证明;高影响依赖选择需要锁定版本、独立漏洞数据和人工确认。
  • 分开衡量功能正确性与策略完整性,避免用“100% 有效输出”替代“符合用户授权目标”的验证。

局限与待验证问题 ​

论文只覆盖两类选择任务,结论依赖作者构造的候选集、查询分布、目标与评判规则。高 PSR 不等同于真实用户受害率;策略迁移也不证明对所有模型、语言、长上下文和强制引用证据的环境都有效。受测检测器及 Registry 的默认规则会持续更新,论文中的未检出结果具有明显时效性。

研究把候选设为固定且合法,并排除查询、候选数据、顺序和模型篡改,这有助于隔离 Skill 策略层,但也缩小了结论适用范围。后续应开展盲化人工标注、真实 Skill 更新的纵向审计,以及对自适应攻击者开放的防御评测;还需验证解释一致性、利益披露和政策差分能否在可接受误报与成本下发现隐蔽偏转。

参考链接 ​