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

SkillAttack:自动化红队在智能体技能中发现漏洞

2026 年 4 月的论文 SkillAttack 将漏洞发现重构为路径搜索问题,表明即便是善意编写的智能体技能也可被触达——对抗性技能上攻击成功率高达 0.93。

2026-06-19 // 5 min affects: agent-skills, tool-using-llm-agents

这是什么?

发表于 2026 年 4 月SkillAttack: Automated Red Teaming of Agent Skills through Attack Path Refinement(arXiv:2604.04989)瞄准了智能体技术栈中快速增长的一环:技能(skills)。技能是一种可复用的封装,由自然语言指令、有时还附带代码组成,智能体加载它来完成某项任务——它越来越多地通过市场和注册表分发,也越来越多地被安装它的智能体隐式信任。

SkillAttack 是一个 红队框架,而非一种新攻击。它仅依靠对抗性 提示(prompting) 来评估某个技能是否会被诱导出不安全行为——它不修改目标技能的代码或指令。框架的前提是:技能已公开的表面(其声明的指令与工具调用)本身就编码了一条或多条通往不安全动作的可达路径,攻击者只需找到能让智能体走上该路径的用户输入即可。这与 恶意智能体技能技能注册表供应链 中已记录的供应链风险一脉相承,但本文的贡献在于其 搜索方法

工作原理

核心思路是将漏洞发现表述为一个 路径搜索问题。每条「攻击路径」描述一条预期的执行流——从用户提示,经技能逻辑,直到一个不安全行为——框架迭代地精化候选路径,直至其中一条收敛为可用漏洞。它分三个阶段:

  1. 技能漏洞分析——审计技能的代码与指令,枚举攻击面。
  2. 按攻击面并行生成攻击——针对每个攻击面,推断一条攻击路径并构造相应的对抗性提示,跨所有攻击面并行进行。
  3. 反馈驱动的漏洞精化——对智能体执行该提示,收集执行反馈,并迭代地同时精化路径与提示,形成一个逐步收敛至成功的闭环。

此处不复现任何攻击载荷。要点在于该技术的 形态——把技能声明的表面视为一张可达不安全状态的地图,再让执行反馈引导搜索逼近这些状态——这足以理解风险,而无需可用漏洞。闭环精化正是它区别于一次性对抗提示之处:失败成为信号,而非死路,这与 以小时而非以周为单位衡量的智能体红队 的转变相一致。

为何重要

作者在 10 个 LLM 上、对 71 个对抗性技能100 个真实世界技能 评估了 SkillAttack。报告的攻击成功率(ASR)在 对抗性技能上达到 0.73–0.93,在 真实世界技能上最高达 0.26

两点启示。其一,对抗性与真实世界数字之间的差距在意料之中,但 在从未被设计为恶意的技能上取得 0.26 的 ASR 才是令人不安的结果:善意的技能在真实交互下依然暴露出可达的不安全路径。其二,由于该方法只需提示——无需访问或修改技能——它刻画了一个现实的攻击者:安装一个流行技能,然后从用户回合驱动它。任何通过市场发布或使用技能的团队都继承了这一攻击面,而它会与 致命三要素 叠加:一个能触及私有数据、摄入不可信内容并可访问网络的技能,正是这类引导式搜索的高价值目标。

防御

把技能当作 携带权限的不可信代码,并以攻击者将采用的方式去测试它们。

  • 在发布或安装前对技能做红队。 在沙箱中对技能运行基于路径搜索的自动化红队(SkillAttack 仓库已开源),并以结果作为晋级门槛——不要仅依赖人工评审,它会漏掉可达路径。
  • 每个技能最小权限。 将每个技能的工具、数据与网络出口限定在其必需的最小范围,与 智能体技能权限 一致。狭窄的能力集会缩小搜索能找到的不安全状态集合。
  • 在准入时核验,而非仅在编写时。 对声明的指令与代码采用独立核验——参见 基于 LLM 评审者的技能核验面向已核验技能的能力治理——并在每次版本升级时重新核验。
  • 约束执行路径。 在技能执行不可逆或高影响动作前要求确认或人工评审,使得已经收敛的漏洞在造成损害前仍会撞上检查点。
  • 运行时监控。 记录技能的工具调用,并留意闭环精化对在线智能体所产生的、寻求反馈的迭代式探测模式。

状态

项目详情
披露arXiv:2604.04989,2026 年 4 月
类型面向智能体技能的红队框架(仅提示,不修改技能)
方法将漏洞发现作为路径搜索 + 闭环精化
评估10 个 LLM;71 个对抗性技能;100 个真实世界技能
结果ASR 0.73–0.93(对抗性),最高 0.26(真实世界)
代码已发布开源实现

Sources