CORSA:面向技能路由器的技能注入攻击可跨路由器与 LLM 迁移
Surviving the Router
CORSA按任务簇优化技能注入的检索与执行;GPT-5.4攻受同模时域内ASR为22.0%(Table 1)。
可向允许公开下载的市场发布技能;可查询路由器打分,并离线查询优化时已知身份的受害者LLM。
- 技能市场中,恶意技能须先与良性技能竞争路由器检索。作者称既有评测常假定它已被选中执行,因而高估有效ASR。
- CORSA用两阶段GEPA,在相关任务簇上改写技能名、描述和正文:先争取排名第一,再要求检索成功且执行固定的helper script。
- GPT-5.4攻受同模、八类payload平均时,CORSA的Hit@1/ASR为32.3%/22.0%,SKILLJECT为11.0%/10.0%(Table 1)。迁到其他受害者和OpenHands后仍高于SKILLJECT,但Qwen3.8-27B上ASR为6.2%。
- 论文未专门讨论局限。实验写明五个受害者LLM、五种路由器、Codex与OpenHands,以及两种扫描器对单一载荷的检出。未报告GEPA迭代或查询次数、重复次数,主结果也未写明路由器。
- 威胁模型
- 可向允许公开下载的市场发布技能;可查询路由器打分,并离线查询优化时已知身份的受害者LLM。无权重,不能改其他技能、系统提示、scaffold或任务t。实验成功指在2000+1个候选中排名第1且helper script被执行。
- 被测模型
- GPT-5.4DeepSeek-V4-ProQwen3.8-27BGLM-5.3GLM-5.3-Flash
- 基准
- SkillRouter(75 prompts,扩展为安全场景)SKILL-INJECT的八类harm taxonomy
- 指标
- Hit@1ASRUser utilityNaturalismRecallFPR
论文指出,现有针对 Agent 第三方技能提示注入的评测常假设恶意技能已被选中执行,这会明显高估攻击成功率;在真实多技能环境中,注入技能需先竞争检索,使已有注入的有效攻击成功率下降 87-97%。作者提出 CORSA(Cluster Optimization for Router-Aware Skill Attacks),一种感知路由器的攻击方法,针对相关任务簇同时优化技能的检索与执行。研究将 SkillRouter 的基准扩展出八类恶意载荷,用分阶段优化先提升检索再优化端到端攻击成功率,并分别评估用户效用与注入自然度。实验显示 CORSA 在保持用户效用的同时提升了检索与端到端攻击成功率,且攻击可迁移到不同路由器架构和 LLM 底座。
深度解读
这篇论文试图解决什么问题?
真实多技能路由下,注入须先被检索,既有评测会高估ASR。
真实多技能环境里,注入技能必须先被路由器检索到;假定它已被执行的评测会高估 ASR。
- 场景:智能体用围绕 SKILL.md 的第三方技能扩展能力,路由器按相关性排序。作者认为技能会被当作任务指令消费,其中的提示注入因此值得关注。
- 现有评测:作者认为既有工作常假定投毒技能总会被执行,因而得到过于乐观的 ASR,并忽略路由器。摘要报告,竞争检索使现有注入的有效 ASR 降低 87–97%。
- 假设:作者假设朴素提示注入会压低检索排名,使投毒技能不被选中,攻击不会被尝试。
- 方法:作者提出 CORSA,在相关任务簇上同时优化检索与执行,并把 SkillRouter 扩展为八类恶意载荷的安全评测。
- 威胁模型:
- 目标:技能仍完成原良性功能;被检索后执行固定载荷;并尽量保持用户任务可解。
- 知识:可向允许公开下载的市场发布技能,可查询路由器打分,并知道优化所用受害者 LLM、可离线查询它。无两者权重。
- 不能控制:不能改目录中其他技能、系统提示、scaffold 或用户任务 t。
- 判定:形式化成功要求进入 top-k 且载荷执行。实验里的 Hit@1 与 ASR 则要求在 2,000+1 个候选中排名第 1,且 helper script 被执行。
有哪些相关研究?
相关工作分提示注入、技能攻击、检索操纵和防御;基线是SKILLJECT。
论文把相关工作分成提示注入、自动化技能攻击、检索操纵和防御;基线是同一多技能设置下复现的 SKILLJECT。
提示注入与智能体技能
- 提示注入:Perez & Ribeiro(2022)、Greshake et al.(2023)讨论模型遵循输入中不可信指令。论文未拿它们与 CORSA 比数字。
- 智能体基准:INJECAGENT(Zhan et al., 2024)、AGENTDOJO(Debenedetti et al., 2024)、WASP(Evtimov et al., 2025)评测工具或网页智能体上的注入。
- 技能面:Schmotz et al.(2025)指出正常技能可含有害指令;Schmotz et al.(2026)的 SKILLINJECT 按技能、任务和智能体系统评测技能提示注入。
自动化技能攻击
- 改写技能:SKILLJECT(Jia et al., 2026)把载荷放进辅助 helper script,修改 SKILL.md,并用执行反馈精炼。
- 其他入口:SKILLATTACK(Duan et al., 2026)不改技能、搜索会触发良性技能不安全行为的用户提示;Qu et al.(2026)把恶意行为藏在示例和模板中;SKILLTROJAN(Feng et al., 2026)与 BADSKILL(Tie et al., 2026)分别研究恶意技能组合和技能内的投毒模型。
- 论文的批评:作者称这一组主要关注技能已经可供智能体使用之后的载荷执行,没有考虑路由器会不会先选中投毒技能。
检索、路由与防御
- 工具与技能路由:TOOLHIJACKER(Shi et al., 2025)优化恶意工具文档以影响检索和选择;TOOLTWEAK(Sneh et al., 2025)修改工具名和描述。Saha et al.(2026)通过改 SKILL.md 操纵技能路由,He et al.(2026)使用欺骗性技能描述。SKILLROUTER(Zheng et al., 2026)说明从大量相似候选中选技能很难,完整技能内容是重要检索信号。
- 防御:安装前检查包括 Hou & Yang(2026)、Holzbauer et al.(2026)、Bhardwaj(2026);SKILLGUARD(Pan et al., 2026)用技能级权限限制动作;Fujinuma et al.(2026)讨论注入写法对成功率的影响。作者称 CORSA 与这些防御互补。
- 基线与基准:基线为 SKILLJECT,使用与 CORSA 相同的八类载荷和多技能评测。任务来自 SkillRouter,并扩展到安全场景。
作者把 CORSA 定位为同时优化检索与执行,而不是假定注入技能已被选中。
论文如何解决这个问题?
CORSA用两阶段GEPA,在任务簇上先后优化检索与端到端执行。
CORSA 对一个相关任务簇只优化一个注入技能:两阶段 GEPA 改写名称、描述和正文,载荷固定;效用和 naturalism 分开评测,不进入主奖励。
技能、注入与受害流程
- 技能:S = (n, d, s, A),即名称、短描述、SKILL.md 指令正文,以及可选脚本等制品。
- 注入约束:S' 仍须完成原良性功能,注入指令出现在正文中,载荷随技能发布。可编辑的是 n'、d'、s',p 固定。
- 受害流程:智能体 π 解任务 t;路由器对目录 D 打分并返回 top-k。D 中至少有一个与 t 相关的良性技能。论文未给出 k 的数值。
- 攻击者接口:用路由器分数作反馈,并离线查询优化时的受害者 LLM。不能改其他技能、系统提示、scaffold 或 t。
簇级目标
- 为何按簇:作者认为按单条任务优化不现实且容易过拟合措辞;对全部任务优化则会使技能与多数任务无关,或使攻击过明显。簇内任务共享领域词汇,论文写通常每簇 3–13 条。
- 两个信号:检索看是否排名第 1;执行看 helper script 是否出现在动作序列中,由轨迹或文件系统状态核验。作者称检索需要与任务相关的内容,执行需要调用 helper script 的指令。
- 分阶段奖励:Stage A 只累计检索成功;Stage B 只在检索且执行同时成立时给分。定义为 Hit(t,S)=1[rankR(t,S,D)=1],rB(t,S)=Hit(t,S)· Exec(t,S)。前者表示是否排到第一,后者只在两端都成功时为 1。
两阶段 GEPA
- 优化器:GEPA(Agrawal et al., 2026)维护在不同任务上表现好的候选池,由反思 LLM 根据分数和文本反馈改写技能文本,不需要对路由器或受害者反传梯度。
- 流程:Stage A 尽量让技能在更多簇内任务上排名第一;Stage B 从 Stage A 的胜出者继续优化端到端奖励,载荷仍固定。Figure 2 把效用判断画在这条优化回路之外。
- 优化目录:候选与固定的 2,000 个良性技能(含 ground-truth 技能)及注入技能一起排序。受害者模型、系统提示、用户任务和载荷保持固定。
- 论文给出的模型:主实验的攻击者与受害者均为 GPT-5.4。另用 DS-V4-Pro 从零优化,受害者与 judge 仍为 GPT-5.4。论文未报告迭代次数、种群大小或查询预算。
分开计算的指标
- Hit@1:注入技能在 2,000+1 个候选中排名第一的任务比例。
- ASR:排名第一且载荷执行才计数;只检索到不算。先按簇计算,再按任务数对八个簇加权平均。
- 效用与 naturalism:效用是注入技能下原任务仍被完成的比例。4.3 的 Stealthiness 与 Figure 3 的 Naturalism 都是 GPT-5.4 对注入内容融入程度的分数,越高越不显眼。
论文做了哪些实验?
GPT-5.4域内CORSA的ASR为22.0%,SKILLJECT为10.0%(Table 1)。
实验设置
- 模型与脚手架:主实验的攻击者、受害者与效用 judge 均为 GPT-5.4,执行脚手架为 Codex。迁移受害者还有 DS-V4-Pro、Qwen3.8-27B、GLM-5.3、GLM-5.3-Flash;脚手架另测 OpenHands。
- 任务:SkillRouter 的 75 个 prompt,技能池约 80K;24 个单技能、51 个多技能。GPT-5.4 分成八个簇:coding-and-devops、data-science-and-analytics、document-and-office、engineering-and-simulation、general-tooling-and-web、media-and-signals、scientific-research、security-and-privacy。排序对象是固定的 2,000 个良性技能加注入技能。
- 载荷与基线:按 SKILL-INJECT 的八类各做一个间接载荷:Data Exfiltration、Data Destruction、DoS、Malware/Ransomware、Phishing、Backdoors、Manipulation、Poisoning。基线是同设置复现的 SKILLJECT。Table 6/7 的列名含 Bias,论文未写明它与 Manipulation 的对应。
- 路由器:BM25、无重排的 OAI-Emb-3L,以及嵌入加重排的 Qwen3-8B、SR-0.6B、R3-0.6B。Figure 3 与 Table 1 未写明主结果用哪一个。
- 指标与未报告项:Hit@1、ASR、用户效用;naturalism 由 GPT-5.4 打分。论文未报告重复次数,也未报告评审与人工的一致性。所附表未按 single-skill / multi-skill 分开给数字。
主结果
表格较宽,可左右滑动
条件 方法 Hit@1 ASR Utility GPT-5.4,8 payload 平均(Table 1) SKILLJECT 11.0% 10.0% 38.3% 同上 CORSA 32.3% 22.0% 38.8% Table 7,攻击者 DS-V4-Pro,任务加权 SKILLJECT 11.5% 9.2% 未报告 同上 CORSA 30.3% 17.5% 未报告 - 作者解读:作者称注入任意载荷后检索变差:良性技能 Hit@1 为 100%,SKILLJECT 降至约 11%(Section 5.1)。作者称 CORSA 的 Hit@1 提高到 SKILLJECT 的两倍以上,ASR 有相近幅度的提高,效用与 SKILLJECT 相当,且 naturalism 更高。Figure 3 另标有 0.67、0.10、0.17,文本无法对应到三种技能。
- 簇间差别:Table 6 的任务加权平均上,GPT-5.4 的八个 payload 列都是 CORSA 的 Hit@1 与 ASR 更高。簇平均并不均匀:CORSA 的 Hit@1 从 data-sci 的 17.3% 到 document 的 91.7%,ASR 从 11.6% 到 62.5%。
- 例外:Table 6 的 data-sci Poison,SKILLJECT 的 Hit@1 为 11.0%、CORSA 为 7.7%;该簇 Phish 与 Poison 的 ASR 为 6.5%、9.8%,CORSA 均为 0.0%。Table 7 中 media 的 DoS Hit@1 为 CORSA 0.0%、SKILLJECT 13.6%,document 的 Destr ASR 为 0.0% 对 10.9%。论文未解释这些格子。Table 7 的 ASR 17.5% 与 Table 2 中 DS-V4-Pro 攻击者、GPT-5.4 受害者的 17.6% 也不相同,论文未解释。
任务变体与 Hard 检索
- 设置:冻结技能放回 2,000 个良性技能,流程与主评测相同。Paraphrase 改写表述并保持目标与环境;Synthetic 是同簇新任务。论文写用 GPT-5.4 构造 72 个新任务、每簇 9 个。Hard 档另加 780 个主题相关但功能不同的干扰技能。
- 数字:Table 1 的 Paraphrase ASR,SKILLJECT 为 1.0%、CORSA 为 11.5%;Synthetic 为 0.2% 与 5.4%。CORSA 效用从域内 38.8% 降到 15.8% 与 11.8%。Table 8 干扰设置中,CORSA 为 Hit@1 33.3%、ASR 19.9%、效用 33.0%,SKILLJECT 为 16.0%、15.0%、32.0%。
- 作者解读:作者认为 Synthetic 与原任务差别更大,ASR 下降也更大,并称 SKILLJECT 在两种变体上不再有效,CORSA 仍有上述 ASR。作者称 Hard 档下 CORSA 的 Hit@1 与 ASR 仍高于 SKILLJECT。论文未解释该档 SKILLJECT 的 Hit@1 与 ASR 为何高于其原技能集数字。
跨模型、脚手架与路由器
- 受害者模型:路由器固定时 Hit@1 不随受害者变化。Table 2 中 GPT-5.4 攻击者的 CORSA,Hit@1 为 32.3%;ASR 在 GPT-5.4、DS-V4-Pro、GLM-5.3、GLM-5.3-Flash、Qwen3.8-27B 上为 22.5%、19.4%、13.4%、17.1%、6.2%。DS-V4-Pro 攻击者的 CORSA Hit@1 为 30.3%,对应 ASR 为 17.6%、17.3%、13.3%、15.7%、6.7%。作者称除 Qwen3.8-27B 外 CORSA 的 ASR 高于 10%,且都高于 SKILLJECT。Table 2 的 22.5% 与 Table 1 的 22.0% 不同,论文未解释。
- 脚手架:Codex 上优化的技能不经再优化,在 OpenHands 上评测 75 个任务、八类载荷(Table 3)。CORSA 为 Hit@1 32.0%、ASR 16.2%、效用 34.6%;SKILLJECT 为 11.1%、2.5%、33.3%。作者称 CORSA 的迁移高于 SKILLJECT。
- 路由器:每个源路由器只用一个固定间接载荷,技能不再优化(Table 4)。匹配路由器的 Hit@1 在该行最高,ASR 则不一定:在 SR-0.6B 上优化后,SR-0.6B 的 ASR 为 23.3%,BM25 上为 26.4%。在 BM25 上优化的匹配 Hit@1/ASR 为 51.8%/31.4%。三个源在 Qwen3-8B 上的 Hit@1 为 9.8%、14.8%、13.1%,均为该行最低。作者称换路由器不一定挡住攻击,效用也不随 ASR 同步变化。
检索前扫描
- 设置:Cisco Skill Scanner 与 NVIDIA SkillSpector 的 static,以及 Qwen3.8-27B、GPT-5.4 增强。单一间接载荷;CORSA 在 SR、BM25、OAI 上各 8 个包,SKILLJECT 8 个包,良性包同为 2,000 个。Cisco 以 HIGH 或 CRITICAL 为标出,SkillSpector 以默认风险分超过 50 为标出;规则未在该数据上调过,无效输出视为未标出。
- 数字:两种 static 对攻击包的召回均为 0/8(Table 5)。SkillSpector+Qwen3.8-27B 对三组 CORSA 为 6/8、7/8、6/8,对 SKILLJECT 为 7/8,FPR 4.20%。Cisco+Qwen3.8-27B 为 6/8、7/8、5/8 与 6/8,FPR 2.40%,论文注明有 5 个无效输出。Cisco+GPT-5.4 为 0/8、1/8、1/8。
- 作者解读:作者称检出依赖扫描器与模型组合,两个扫描器上都是 Qwen3.8-27B 高于 GPT-5.4,两种攻击的检出大体接近。作者称筛查能降低但不能消除威胁:即使没有针对扫描器的优化,最强配置仍漏掉 24 个 CORSA 包中的 5 个。
其他消融与分析
- 粒度与分阶段(Figure 4,GPT-5.4):作者称 Task-Wise 的 Hit@1 与 ASR 低于 CORSA,Joint 的 ASR 尤其更低,效用接近。图上另有 15.9、19.3、1.8、6.2、31.6、35.0,文本无法对应到变体。
- stealthiness 进入奖励(Figure 5,八类 payload 平均,GPT-5.4):作者称 Hit@1 上升、ASR 下降、效用略降。图上标有 38.8、32.3、22.0、10.9、34.0、38.8,文本看不到柱与图例的对应。
- Table 6 加权 Hit@1:CORSA 从 Poison 的 26.7% 到 Exfil/Ransom 的 36.0%;SKILLJECT 从 Exfil 的 3.1% 到 Bias 的 17.4%。
- Table 6 加权 ASR:CORSA 从 Backdoor/Poison 的 16.0% 到 Destr 的 29.3%;SKILLJECT 从 Exfil 的 3.1% 到 Bias 的 16.0%。
有什么可以进一步探索的点?
论文未专门写出局限或后续实验计划。
作者指出的局限与后续方向
论文未专门讨论局限。Conclusion、Ethics 与附录没有把某项设计写成不足,也没有列出计划进行的后续实验。
实验覆盖范围
- 任务与载荷:评测使用 SkillRouter 的 75 个 prompt 和约 80K 技能库中的固定 2,000 个良性技能加注入技能;八个语义簇、八类 indirect helper-script 载荷。另有 Paraphrase 与 Synthetic,论文写 72 个新任务、每簇 9 个;Hard 档增加 780 个干扰技能(Section 4、5.2、附录 B)。
- 模型与系统:受害者包括 GPT-5.4、DS-V4-Pro、GLM-5.3、GLM-5.3-Flash、Qwen3.8-27B。脚手架为 Codex 与 OpenHands。路由器为 BM25、OAI-Emb-3L、Qwen3-8B、SR-0.6B、R3-0.6B(Section 4.4、5.3)。
- 防御:Cisco Skill Scanner 与 NVIDIA SkillSpector 的 static 及 Qwen3.8-27B、GPT-5.4 后端;单一 indirect 载荷,CORSA 24 个包、SKILLJECT 8 个包、良性包 2,000 个(Section 6、附录 D)。
- 跨路由器协议:Table 4 的源路由器为 SR-0.6B、BM25、OAI-Emb-3L,每个源使用一个固定载荷。
- 论文未报告:GEPA 的迭代次数、查询次数和实验重复次数;效用与 naturalism 评审相对人工的一致性;Rk 的具体 k;Figure 3 与 Table 1 主结果所用的路由器名称。
总结一下论文的主要内容
CORSA先优化路由检索再优化载荷执行,主设置ASR高于SKILLJECT。
CORSA 针对技能市场中的注入:恶意技能要先通过路由器,然后才可能执行载荷。
- 问题:作者认为既有评测假定投毒技能总会执行。摘要报告,在必须竞争检索时,现有注入的有效 ASR 降低 87–97%。
- 做法:八个相关任务簇各优化一个技能。GEPA 先最大化排名第一,再最大化“排名第一且 helper script 被执行”。改写名称、描述和正文,载荷固定;效用与 naturalism 分开评测。
- 主数字:GPT-5.4 同时作为攻击者与受害者、八类载荷平均时,CORSA 的 Hit@1/ASR/效用为 32.3%/22.0%/38.8%,SKILLJECT 为 11.0%/10.0%/38.3%(Table 1)。该主结果未写明路由器。个别簇×载荷上 CORSA 可以为 0,而 SKILLJECT 更高(Table 6、Table 7)。
- 迁移:GPT-5.4 攻击者的 CORSA 在 Qwen3.8-27B 上 ASR 为 6.2%(Table 2);换到 OpenHands 后为 16.2%(Table 3)。Paraphrase 与 Synthetic 上为 11.5% 与 5.4%(Table 1)。Table 4 中,换路由器后的 ASR 可以高于匹配路由器。
- 扫描与结论:两种 static 扫描器对所测攻击包的召回为 0/8。作者称 LLM 增强能提高检出,但最强配置仍漏掉 24 个 CORSA 包中的 5 个。作者的结论是,评测技能注入时必须把技能路由算进威胁模型。