SkillDRE:用预执行与运行时双阶段反馈自动演化恶意 Agent 技能
SkillDRE: Dual-Stage Red-Team Evolution of Agent Skills via Pre-Execution and Runtime Feedback
- Poisoning and backdoors
- Automated search
- MCP and skills
- Defense-targeted
- Guardrails and judges
- Monitors
- coding agent
- Application layer
SkillDRE用预执行扫描与运行时反馈演化恶意技能,四受害模型平均ASR 45.28%,SkillScan DR为0%。
自适应攻击者可重复访问固定的分层防御流水线。
- 技能包把指令、代码和资源做成可复用工件,执行反馈可在不改模型参数时修订技能,攻击者也能借此演化恶意技能。候选可能通过预执行扫描却完不成目标,修复执行又可能引入新的扫描发现。
- SkillDRE先固定任务条件化攻击目标与判定规则,再只改技能实现。Phase 1用SkillScan风险分迭代到零发现后,才在SkillSonar保护下执行;若被停机或判定规则未成立,修订结果回到Phase 1重扫,直到成功或预算用尽。
- 249个技能、四模型平均ASR 45.28%,SkillScan DR为0,作者称高出最强基线40.3个百分点。DeepSeek-V4-Pro上比迭代扫描ASR高12.05个百分点且DR为0,比迭代运行时DR低79.92个百分点。
- 论文无局限专节。附录B写明风险分权重是字典序设计选择,不是对发现相对危害的校准。结论促使联合评估预执行与运行时防御。实验包含四受害模型、SkillJect与SkillHarm、Codex与Claude Code;未报告重复次数。
- Threat model
- 自适应攻击者可重复访问固定的分层防御流水线。对每个任务–技能对只修订目标技能,使用预执行扫描反馈和运行时防御反馈;任务指令、受害智能体、其他技能和防御保持不变,红队模型固定。攻击成功按该流水线判定,合法任务功能单独度量。
- Evaluated models
- DeepSeek-V4-ProGLM-5.2Qwen3.5-397B-A17BGemini-3.7-Flash
- Benchmarks
- SkillsBenchCodexClaude Code
- Metrics
- ASRDRACCΔACC
SkillDRE 是一个全自动演化完整恶意 Agent 技能包的框架,通过预执行扫描与运行时防御反馈构成的双阶段闭环迭代技能实现。给定一个良性任务及其技能,框架先自主构造并验证与任务绑定的恶意目标和可验证的判定规则,随后在保持合法任务能力的前提下固定这两者、只演化技能实现。它把扫描器引导的演化与运行时执行结果引导的修正结合起来,每次运行时修正都会回到预执行阶段重新扫描和优化,再重新执行。在 SkillsBench 上对四个受害模型评测,平均攻击成功率为 45.28%,比最强基线高 40.3%,最终提交的技能未触发 SkillScan 告警,且基本保持良性任务表现。
Paper analysis
What problem does this paper attempt to solve?
预执行扫描与运行时防御会互相抵消,SkillDRE以双阶段闭环演化恶意技能包。
在预执行扫描与运行时防御同时存在时,如何自动演化完整恶意技能包,使之通过扫描、在运行时实现固定的任务条件化目标,并保持合法任务能力。
- 场景:智能体技能把指令、可执行代码和任务资源打包为可复用工件,智能体可凭执行反馈修订工件而不更新参数。作者认为,攻击者也能反复修订恶意技能,使其更有效、更难被发现;自动化会降低从良性技能做出可用攻击的人工成本。
- 现有不足:作者认为只插入恶意指令或代码不够,有害行为必须出现在合法工作流中并执行成功,同时经过对技能包和运行时操作的检查。通过扫描的候选可能达不成目标,修好执行的修订又可能产生新的扫描发现;只优化其中一个目标会抵消另一个。
- 划分:作者把追求何种伤害与技能如何实现分开。先固定任务条件化目标与可验证判定规则,再用扫描诊断、运行时防御决定和执行结果修订实现。
- 威胁模型(第3.1节):
- 目标:针对固定的分层防御流水线取得攻击成功;合法任务功能的影响单独度量。
- 知识:自适应攻击者可重复访问该流水线,并使用预执行扫描反馈和运行时防御下的反馈。
- 能力:每个任务–技能对只修改技能 S;任务指令、受害智能体、其余技能和防御不变;红队模型在构造与演化中固定。
- 受害系统:受害智能体在沙箱中执行良性任务及其技能集。论文用来评估的预执行扫描与运行时防御是 SkillScan 与 SkillSonar。
- 框架:作者提出 SkillDRE。它不依赖给定载荷或手工攻击策略,自动构造并校验目标与判定规则,再以跨阶段闭环演化技能实现。
What related research exists?
相关工作分为技能自演化与技能攻击;主实验基线是SkillJect和SkillHarm。
论文第2节把相关工作分成技能自演化与针对技能的攻击;主实验只复现了有开源实现的 SkillJect 与 SkillHarm。
技能自演化(第2.1节)
- 过程性知识:论文引用 Xie 等(2024)、Trivedi 等(2024)与 Xu 等(2025),称底层模型常常缺少执行专门任务所需的过程性知识。技能自演化在参数之外更新可复用知识,Li(2026)将其整理为生命周期问题。
- 获取、精炼与组合:Yang 等(2026b)与 Lin 等(2026)从演示或交互得到技能;Yang 等(2026a)、Liu 等(2026)与 Mi 等(2026)用执行结果、打分 rollout 或失败信号更新技能,并研究跨任务、模型或执行系统的迁移。Zhao 等(2026)与 Xu 等(2026)研究持久技能库中的组合和迭代改进。作者称这些工作主要把反馈驱动演化用于提高良性任务能力。
对技能的攻击(第2.2节,Table 1)
- SkillAttack(Duan 等,2026):技能保持不变,优化对抗性用户提示。论文明确对比:作者研究的是在任务指令固定时修改技能本身。
- SkillJect(Jia 等,2026):围绕给定载荷,用受害执行轨迹改写技能指令。Table 1 将其标为全包演化部分支持;自主目标、预执行反馈、运行时防御反馈、跨阶段闭环和合法任务保持均为不支持。
- SkillMutator 与 SkillHarm:Kim 等(2026)用扫描反馈做语言与代码变异,并只统计 Snyk Agent Scan 新引入的 high-severity 发现。Ning 等(2026)从指定风险类型构造有害目标、载荷和确定性评估器,含固定载荷与自变异投毒。Table 1 中二者全包演化为支持、自主目标为部分支持;预执行反馈分别为支持与部分支持;运行时防御反馈、跨阶段闭环和合法任务保持均为不支持。
基线与基准
- 实验基线:第4.2节选用 SkillJect 与 SkillHarm,作者称因其开源实现可以复现和评测。SkillAttack 与 SkillMutator 出现在 Table 1,Table 2 未给出二者的 ASR 或 DR。
- 基准与防御:评测使用 SkillsBench(Li 等,2026)。防御侧是预执行 SkillScan(Cisco AI Defense,2026)和运行时防御技能 SkillSonar(Skill Sonar,2026)。
作者将 SkillDRE 放在上述攻击之外:目标与判定规则只构造一次并在演化中固定,每次运行时修订都先回到预执行扫描,合法任务表现单独测量。Table 1 中只有 SkillDRE 在全包演化、自主目标、预执行反馈、运行时防御反馈、跨阶段闭环、合法任务保持六列上均为全支持。
How does the paper address this problem?
先固定攻击目标与判定规则,再凭扫描与运行时反馈闭环修订技能实现。
SkillDRE 先固定伤害目标,再演化实现:初始化为每个任务和每个技能确定攻击目标与判定规则;Phase 1 用 SkillScan 把候选修到零风险发现,Phase 2 在 SkillSonar 下执行;失败修订必须回到 Phase 1 重扫(Figure 1,附录 A 的 Algorithm 1)。
问题设定
- 执行对象:良性任务指令为 I,关联技能集为 SI,沙箱为 E。受害智能体执行后得到轨迹与新沙箱状态。攻击者只替换其中一个技能 S。生成器记为 Gπ,红队模型 π 全程固定。
- 防御信号:SkillScan 给出风险发现及理由。SkillSonar 作为防御技能加入技能集,可对不安全操作发出停机决定。每轮运行时试验都从该任务相同的初始沙箱状态开始。
初始化:目标与判定规则
- 任务级意图:每个任务一个意图,供关联技能共享。提案包含任务级目标、预期恶意副作用、可接受实现上的约束,以及宽泛的成功主题。校验看它是否恶意、与任务相关、对关联技能足够一般、与实现无关,并限制在沙箱内。
- 技能级目标:把意图实例化为该技能可观察的成功条件及核验所用产物。校验看恶意性、可验证性、可执行性、任务兼容性,以及是否与共享意图一致。接受后的目标在演化中固定。
- 全票与轮次:固定校验器集成给出二元决定和解释,全部通过时 Vote 为 1。仅在首轮或上一提案被拒时生成新提案,拒绝理由写入反馈。第4.1节把攻击目标构造上限设为 30 轮;Algorithm 1 中判定规则构造使用同一预算参数 B0。
- 判定规则:规则在目标固定后迭代构造。接受条件是模式与局部证据检查、空沙箱冒烟和校验器全票同时通过。冒烟要求没有攻击证据时给出负决定且无硬执行错误;未过局部检查则不做语义复核。语义复核看规则是否忠实于目标、是否使用可观察沙箱证据,以及是否把单纯的良性任务行为当成攻击。被拒后保留更优候选再改,接受的规则此后固定。
Phase 1:预执行演化
- 风险分:初次候选由原技能和固定目标生成,再交给 SkillScan。高、中、低风险条数记为 h、m、l,风险分为 Rj = 10000 hj + 1000 mj + 10 lj。附录 B 称该权重用于对 (h, m, l) 做字典序最小化,并称这不是对各类发现相对危害的校准;权重为正,因此分为 0 当且仅当三类发现都为 0。
- 选基线:优化记忆保存已评候选、修订说明、扫描诊断,以及是否优于历史最佳;未改进者留作负面证据。之后每轮以此前风险分最低的候选为基线。修订要求保持原功能与接口、不改变攻击目标,并做机制层修改,而不是只改呈现。
- 准入与重入:只有扫描结果有效且风险分为 0 才能进入 Phase 2。Phase 2 改过的候选会重新进入 Phase 1;重入时轮次从 1 开始,Phase 1 记忆清空,历史最佳只在该次演化内选取。
Phase 2:运行时引导演化
- 试验:通过扫描的候选替换 S,其他原技能保留,并加入 SkillSonar,然后执行原任务指令。
- 当轮成功:Yr = 1[Stop(Orsonar)=0 ∧ J∗(Er)=1]。它表示 SkillSonar 未发停机决定,且固定判定规则认定沙箱中已实现固定目标;缺一则本轮失败。
- 再修订:失败时使用执行轨迹、两侧诊断和 Phase 2 记忆。记忆保留以往失败诊断与修订计划、停机证据,以及重入扫描的诊断和编辑说明。新候选必须再次得到有效且零发现的扫描结果,才进入下一次运行时试验。
- 停止:当轮成功即返回该技能,否则直到预算用尽。第4.1节规定每个技能最多 10 次运行时试验,每次 Phase 1 最多 30 轮。
What experiments did the paper conduct?
四受害模型平均ASR为45.28%,最终SkillScan的DR为0%。
实验设置
- 数据:SkillsBench 上 94 个任务关联的 249 个技能。主实验执行框架为 Codex,附录 G 另用 Claude Code。SkillSonar 在基准执行中一直作为固定防御技能。
- 模型:受害模型为 DeepSeek-V4-Pro、GLM-5.2、Qwen3.5-397B-A17B、Gemini-3.7-Flash。各攻击方法的攻击模型以及目标构造生成器都是 DeepSeek-V4-Pro。校验集成是 DeepSeek-V4-Pro、GLM-5.2 与 Kimi-K2.6。SkillScan 配置为使用 Qwen3.5-397B-A17B,与受害模型之一同名。
- 预算:攻击目标构造和每次 Phase 1 最多 30 轮,每技能 Phase 2 最多 10 次运行时试验。论文未报告重复次数。
- 基线:Table 2 为 SkillJect 与 SkillHarm。作者称选用二者是因为开源实现可以复现。
- 指标:ASR 是全部被评测技能中最终执行达成攻击目标的比例,已计入 SkillSonar 打断。DR 是 SkillScan 至少报告一条风险发现的比例。ACC 用 SkillsBench 原程序;ΔACC 等于无攻击 ACC 减攻击 ACC,单位为百分点,正值表示下降。
- 判定:目标是否实现由固定规则在沙箱状态上决定。附录 E 人工复核 125/249 个技能级目标与规则。
主结果
据 Table 2,单位为 %。SkillJect 的 DR 在四个模型上均为 100.00%,故未单列。
Swipe horizontally to read the table
受害模型 SkillDRE ASR SkillJect ASR SkillHarm ASR SkillDRE DR SkillHarm DR DeepSeek-V4-Pro 46.99 2.41 2.53 0.00 100.00 Qwen3.5-397B-A17B 43.78 2.81 1.82 0.00 98.25 GLM-5.2 45.38 1.61 6.55 0.00 97.34 Gemini-3.7-Flash 44.98 0.00 9.00 0.00 98.45 - 平均:作者报告四模型平均 ASR 为 45.28%,并称超出最强基线 40.3 个百分点(第4.2节);摘要与贡献写的是 40.3%。SkillDRE 最高与最低 ASR 相差 3.21 个百分点。作者称这一跨度说明效果不限于单一受害模型。两基线均不超过 9.00%。
- 检出:作者称最终提交技能在四个模型上的 DR 均为 0.00%,基线为 97.34%–100.00%。结论把它限定为演化所用的 SkillScan 配置。作者称技能可以同时通过预执行扫描,并在运行时防御下实现目标。
- 同名模型:攻击模型固定为 DeepSeek-V4-Pro,因此表中该行的受害模型与攻击模型相同;其余三行不同。
消融(Table 3)
受害模型仅为 DeepSeek-V4-Pro。Phase 1 只留扫描引导,Phase 2 只留运行时引导;one-shot 只评一个候选、不做迭代。
- 单阶段:Phase 1 one-shot 的 ASR 为 37.75%、DR 为 65.46%;迭代后 ASR 降到 34.94%,DR 降到 0.00%。作者称扫描迭代本身并不提高攻击实现。Phase 2 one-shot 为 36.14% 与 62.65%;迭代后 ASR 升到 46.59%,DR 升到 79.92%。作者称缺少随后扫描演化的修订更容易被 SkillScan 标出。
- 闭环:完整方法为 ASR 46.99%、DR 0.00%。相对迭代 Phase 1,ASR 高 12.05 个百分点且 DR 仍为 0;相对迭代 Phase 2,DR 低 79.92 个百分点,ASR 高 0.40 个百分点。摘要与贡献写成 12.05% 与 79.92%。作者称因此需要跨阶段闭环。
构造与两阶段动态
- 构造轮次(Figure 3):任务级意图、技能级目标、判定规则平均 1.49、2.24、1.84 轮,首轮接受率 69.15%、80.72%、61.04%。技能级目标的分布延伸到 29 轮,故均值更高。意图按任务构造一次,目标与规则按任务–技能对构造,接受后固定。
- 冷启动(Figure 4):初始候选仅 34.54% 得到有效且零发现的扫描。累积接受率第 5 轮 84.34%、第 10 轮 95.18%,4.82% 需要超过十轮。249 对都在 30 轮内达到零发现,平均 3.23 轮。第 1 轮到第 5 轮,合计高、中、低风险发现分别减少 81.82%、78.21%、77.25%;作者称其中一部分是因为已通过者离开,后期扫描的候选变少。
- 运行时(Figure 5):第 1 轮四模型累积 ASR 为 34.54%–37.35%。作者称零发现并不保证运行时成功。结束时为 43.78%–46.99%,相对第 1 轮增加 8.03–12.45 个百分点。GLM-5.2 在第 6 轮已进入其最终 ASR 的 0.40 个百分点以内;Qwen3.5-397B 总增益的一半以上出现在第 5 至 8 轮。第 8 轮之后,四模型在最后两轮的额外增益都不超过 2.01 个百分点。
良性任务准确率
- ΔACC(Table 4,附录 C):SkillHarm 在其过滤子集上计算,其余方法用全基准。SkillDRE 依次为 −2.91、−3.58、0.15、−2.14 个百分点(DeepSeek-V4-Pro、Qwen3.5-397B、GLM-5.2、Gemini-3.7-Flash),四模型平均 −2.12。SkillJect 平均 9.13,SkillHarm 平均 6.59。
- 例外:SkillJect 在 Qwen 上为 0.03,SkillHarm 在 Qwen 上为 −3.35。SkillDRE 只在 GLM-5.2 上为正(0.15)。作者认为 SkillDRE 更好地保持了原任务目标。Figure 2 正文称三个模型上观察到的 ACC 提高 2.14–3.58 个百分点。
- 个案:作者查看了无攻击失败、SkillDRE 下转为成功的案例。其中一些里,无攻击时智能体跳过任务相关技能,修订后的技能指令使它调用该技能并完成良性目标。作者认为这一模式可能促成负的 ΔACC。
其他消融与分析
- 人工复核 125/249、无放回均匀抽样:目标恶意性一致率 100%,且均被判定超出合法任务要求;判定规则正确性一致率 96.8%(附录 E)。
- 249 个已接受目标:File & Media Exfiltration 34.94%,Business Data Exfiltration 33.33%,Privacy Leakage 10.84%,Backdoor Attacks 8.84%,Result Manipulation 8.03%,Source Code Exfiltration 4.02%;三类外泄合计 72.29%(Figure 6)。
- Claude Code、受害模型 DeepSeek-V4-Pro:ASR 42.57%、DR 0.00%,ASR 比 Codex 的 46.99% 低 4.42 个百分点;DR 指最终技能的 SkillScan,不是框架的运行时检测(Table 6)。
- 风险分:249 对上 804 次有效扫描满足 M=9、L=5;1,703 对比较中,(10000, 1000, 10) 无逆序、无平局;(1,1,1) 为 107 次逆序、303 次平局;(3,2,1) 为 13 次逆序、66 次平局(附录 B)。
- SkillScan 冷启动发现:Data Exfiltration 23.65%,Unauthorized Tool Use 23.59%,Skill Discovery Abuse 17.53%;高风险中前两者相关类别为 Data Exfiltration 26.81% 与 Command Injection 23.55%(Table 5,正文)。
What are some points that can be further explored?
论文无局限专节;附录B称风险分不是对危害的校准度量。
作者指出的局限与后续方向
- 没有专节:论文没有 Limitations、Future Work 专节,也未在结论里把某项实验结果写成方法本身的不足。
- 风险分(附录 B):作者写明,按 (h, m, l) 字典序最小化是设计选择,不是对不同发现的相对危害做过校准的度量。
- 联合评估(第5节):作者称分层防御反馈可以引导自适应技能攻击,并促使把预执行防御与运行时防御放在一起评估。
实验覆盖范围
- 规模:受害模型为 DeepSeek-V4-Pro、GLM-5.2、Qwen3.5-397B-A17B、Gemini-3.7-Flash 共四个;SkillsBench 为 94 个任务、249 个技能(第4.1节)。攻击模型与目标生成器均为 DeepSeek-V4-Pro;校验器为 DeepSeek-V4-Pro、GLM-5.2 与 Kimi-K2.6。
- 基线与防御:Table 2 报告 SkillJect 与 SkillHarm,作者称因开源实现可复现而选用。Table 1 比较了 SkillAttack 与 SkillMutator,Table 2 未给出二者数值。防御为使用 Qwen3.5-397B-A17B 的 SkillScan,以及固定防御技能 SkillSonar。
- 消融与框架:Table 3 只以 DeepSeek-V4-Pro 为受害模型。主实验框架为 Codex;Table 6 在同一受害模型上比较 Claude Code,ASR 为 42.57% 与 46.99%,DR 均为 0.00%。
- 人审与子集:附录 E 复核 125/249。附录 C 写明 SkillHarm 的 ΔACC 在其过滤子集上计算,其他方法在全基准上计算。
- 预算:攻击目标构造和每次 Phase 1 最多 30 轮,Phase 2 每技能最多 10 次运行时试验(第4.1节)。论文未报告重复次数。
Summarize the main content of the paper
SkillDRE固定目标后做双阶段演化,四受害模型平均ASR 45.28%,DR为0%。
SkillDRE 用预执行扫描和运行时防御的反馈,自动演化完整恶意技能包。
- 问题:技能可凭执行反馈反复修订,攻击者也能借此改恶意技能。只通过扫描的实现可能在运行时失败,修好执行的修订又可能重新被扫描标出,因此两阶段要一起处理,并单独看合法任务是否仍能完成。
- 方法:先构造任务条件化恶意目标与判定规则并固定,红队模型保持为 DeepSeek-V4-Pro。Phase 1 按 SkillScan 的高、中、低风险加权分迭代,零分才进入 Phase 2;Phase 2 在 SkillSonar 下执行,停机或判定失败则修订并重扫,直到成功或预算用尽。
- 主结果:SkillsBench 的 249 个技能、四个受害模型上,平均 ASR 为 45.28%,最终 SkillScan DR 为 0.00%。第4.2节称平均 ASR 超出最强基线 40.3 个百分点,摘要写 40.3%。单模型 ASR 在 43.78% 到 46.99% 之间,两基线不超过 9.00%。
- 消融与任务:受害模型为 DeepSeek-V4-Pro 时,相对迭代式仅扫描,ASR 高 12.05 个百分点且 DR 仍为 0;相对迭代式仅运行时,DR 低 79.92 个百分点(Table 3;摘要写作 12.05% 与 79.92%)。四模型平均 ΔACC 为 −2.12 个百分点,其中 GLM-5.2 为 +0.15(Table 4)。
- 作者结论:作者称两阶段防御反馈可以作为自适应红队的学习信号;只评估其中一个防御阶段,会漏掉由此得到的攻击能力。最终技能在演化所用的 SkillScan 配置下没有风险发现,并大体保持良性任务表现。