SkillDRE: Dual-Stage Red-Team Evolution of Agent Skills via Pre-Execution and Runtime Feedback
Pengyu Zhu, Jingyi Yang, Yi Liu, Li Sun, Sen Su
cs.CR, cs.AI
2026-09-26
把扫描与运行时防御的反馈当进化信号自动改造恶意 skill,四个受害模型平均攻击成功率 45.28%,最终包零扫描检出。
Agent skill 正在成为能力部署的主流形态:把指令、可执行代码、任务资源打包成可复用工件,agent 靠执行反馈反复修改这些工件来改进流程,不动模型参数。这个自我改进机制反过来也是攻击面,攻击者同样可以反复修改一个 skill,让恶意行为更有效、更难检出。这篇问的是:能不能全自动把一个良性 skill 改造成既通过预执行扫描、又在运行时防御下真正得手的恶意包。
难点在双层防御互相牵制。候选包可能通过扫描,却在运行时被 SkillSonar 这类防御拦下;修复执行失败的修改,又可能引入新的扫描器风险项。对着任何一侧单独优化,另一侧就会倒退,这是个天然的双目标进化问题。
SkillDRE(Skill Dual-stage Red-Team Evolution)分三段:
修改器被明确要求保留原 skill 的功能与接口,这解释了后面良性任务性能几乎不受影响的结果。
主实验在 SkillsBench 上做,249 个 skill、94 个任务,四个受害模型(DeepSeek-V4-Pro、GLM-5.2、Qwen3.5-397B-A17B、Gemini-3.7-Flash),执行 harness 用 Codex,ASR 全程在 SkillSonar 开启下统计:
| 方法 | 各模型 ASR | SkillScan 检出率 |
| SkillJect | 0.00–2.81% | 100% |
| SkillHarm | 1.82–9.00% | 97.34–100% |
| SkillDRE | 43.78–46.99%(均值 45.28%) | 0.00% |
比最强基线高 40.3 个百分点,四模型间 ASR 极差只有 3.21 个点。
消融(DeepSeek-V4-Pro 作受害者)说明两阶段缺一不可:只迭代扫描器反馈,检出率从 65.46% 压到 0,ASR 从 37.75% 微降到 34.94%;只迭代运行时反馈,ASR 升到 46.59%,检出率飙到 79.92%。闭环合起来是 46.99% ASR、0% 检出。
良性任务准确率上,三个模型 ACC 反而升高 2.14–3.58 个点,改写后的指令让 agent 愿意调用原本被跳过的 skill;GLM-5.2 只降 0.15 个点。四模型平均 ∆ACC 为 -2.12,对比 SkillJect 的 9.13、SkillHarm 的 6.59。
过程数据:初始候选只有 34.54% 一次过扫描,平均 3.23 轮全部过检;Phase 2 首轮 ASR 34.54–37.35%,十轮内涨到 43.78–46.99%。人工抽检一半样本,目标恶意性 100% 认同,judge 规则判定 96.8% 认同。换 Claude Code 执行,ASR 42.57%,仍零检出。
对做 agent 安全的人,这篇首先是个测量学警告:只评预执行扫描或只评运行时防御,都会漏掉跨阶段闭环造出来的攻击能力。45% 的成功率说明「扫描器加运行时防御」的分层方案在自适应攻击者面前有实质缺口,攻击者借用的正是 skill 自进化社区主推的执行反馈机制。代码已开源,可直接当新防御的对抗基线。
论文自己的数据里能看出几处边界。构造目标 72.29% 集中在数据外泄(文件、业务数据、源码三类),威胁面覆盖不均。SkillScan 是固定单一配置(Qwen3.5-397B-A17B 驱动),进化与评测用的是同一个扫描器,零检出有对这个扫描器过拟合的成分,换扫描器未必成立。威胁模型给了攻击者对防御管线的不限次访问,现实黑盒条件没这么宽松。judge 规则自己构造自己验证,96.8% 的人工认同留下约 3% 的判定噪声。基线只复现了 SkillJect 和 SkillHarm,SkillMutator 没进主表。