CoRedSkill:通过 AST 引导注入实现隐蔽的 Agent 技能组合攻击
CoRedSkill: Stealthy Skill Composition Attacks via AST-Guided Injection
作者提出协同攻击 COREDSKILL,在 150 个用例上取得 98.0% 攻击成功率与 3.3% 审计检出率。
攻击者作为第三方技能发布者,可查看原技能文档与脚本,发布多个技能并修改其指令、代码、资源及输入输出接口;用户合法请求限定授权范围,部署环境限定模型、系统提示词与权限。
- 智能体通过组合第三方技能执行复杂工作流,但不可信技能可能跨模块协作引入未授权操作。现有单技能攻击易被静态或大模型扫描器拦截,而已有组合攻击往往破坏原任务逻辑,导致技能失去正常效用而被用户或系统弃用。
- COREDSKILL 将原工作流分解为多阶段技能,基于抽象语法树重写将攻击步骤嵌入各阶段辅助函数中,通过任务中间工件传递攻击状态与凭据,并借助技能文档引导智能体按依赖顺序自主调用,在维持原任务输入输出的同时完成攻击链。
- 在覆盖 50 项任务和 3 类目标的 150 个用例中,COREDSKILL 取得 98.0% 攻击成功率、95.3% 任务成功率,在 Deepseek 驱动的 SkillScan 下检出率为 3.3%,联合成功率达 90.7%(Table 1)。
- 攻击构建依赖预定义的攻击规范与工作流接口,未评估对任意现有技能包的自动适配;技能效用仅在 150 个离线测试用例中验证,未评估动态服务交互与长期运行;运行时防御仅在离线执行记录上评估,未测试在线拦截对后续执行的影响。
- 威胁模型
- 攻击者作为第三方技能发布者,可查看原技能文档与脚本,发布多个技能并修改其指令、代码、资源及输入输出接口;用户合法请求限定授权范围,部署环境限定模型、系统提示词与权限。攻击者在权限内维持原技能效用,诱导智能体在执行任务时跨技能协作执行未授权操作(数据外发、状态篡改、越权),并规避代码审计与运行时防御。
- 被测模型
- DeepSeek V4 FlashGPT-5.5Kimi K2.5
- 基准
- Skill-Injectτ-benchAgentDojo
- 指标
- ASRTSRDRJSR
研究者提出 CoRedSkill,一种把攻击操作分散到多个 Agent 技能中的组合式红队方法,在 150 个用例的基准上取得 98.0% 攻击成功率、95.3% 任务成功率和 3.3% 的审计检出率,联合成功率 90.7%。该方法先把任务工作流拆分成互相依赖的技能,再用 AST 重写把攻击操作嵌入各阶段的任务函数,由技能指令和中间产物在技能之间传递攻击所需信息。实验以 Claude Code 为主要受害平台、DeepSeek V4 Flash 为执行与构建模型,四个基线方法的联合成功率为 6.7% 至 42.7%。在 SkillScan、SkillSpector 与 DeepSeek、GLM 组成的四种 LLM 审计配置下检出率为 3.3% 至 20.0%,运行时规则 HITL 与 DefenseClaw 的检出率分别为 10.7% 和 1.3%。
推荐理由论文在 150 个用例上给出技能组合攻击的攻击成功率与审计检出率,部署 Agent 技能生态的团队可据此检查扫描器的盲区。
深度解读
这篇论文试图解决什么问题?
论文探讨如何在保持技能正常任务效用并规避包审计的前提下,构建跨技能协同的隐蔽攻击。
智能体技能组合攻击如何在保持正常任务效用和功能完整的前提下,隐蔽规避安全审计并联合触发未授权操作。
- 技能生态与协作场景:智能体通过复用第三方技能包扩展自身能力,并在复杂工作流中串联多个技能、通过中间工件传递数据。作者指出,公共技能库中的技能发布者信任度不一,不可信技能可能诱导智能体在用户授权范围之外执行未授权操作。
- 现有攻击方法的局限:单技能攻击(如 Skill-Inject、SkillJect)将全部恶意逻辑集中在单一包内,易被基于大模型的代码扫描器检出;现有组合攻击(如 SCR-Bench、ColluSkill)未充分兼顾原始任务逻辑的保留,导致任务完成率下降,而技能效用是用户采纳与智能体调用的基础。
- 核心思路与设计:作者提出将任务分解为相互依赖的多个技能,通过抽象语法树(AST)重写将攻击步骤内嵌到各阶段的辅助任务函数中,利用工件传递与输入输出依赖串联分散操作,在维持正常业务逻辑的同时完成攻击链。
- 威胁模型:
- 攻击者角色与能力:攻击者扮演第三方技能发布者,能够查阅原技能文档与脚本,发布多个技能并修改其指令、代码、资源和输入输出接口。
- 攻击目标:在配置的权限内保持原技能效用,规避技能包审计与运行时防御,诱发数据外发(EXF)、状态篡改(TAM)或越权执行(PRV)。
- 受害系统与约束:用户合法请求限定授权范围;智能体部署决定了底层模型、系统提示词、安全防护措施以及文件、网络与进程权限。
- 交互与触发方式:攻击者通过发布的技能说明与中间工件影响智能体的自主选择与调用顺序,使分散在各技能中的操作在合法任务执行期间协同达成目标。
有哪些相关研究?
相关研究涵盖技能安全实证、单技能与组合注入攻击,以及基于大模型与静态规则的技能审计防御。
智能体技能安全实证
- 恶意技能生态与供应链分析:Liu 等人(2026c,b)和 Chen 等人(2026b)分析了野外恶意技能包与凭据泄露现象;Li 等人(2026)、Jiang 等人(2026)和 Holzbauer 等人(2026)探讨了技能架构与仓库级供应链风险。
- 单技能攻击机制:Skill-Inject(Schmotz 等人,2026)、SkillJect(Jia 等人,2026)和 Poise(Hao 等人,2026)通过提示注入、执行反馈精炼或位置感知策略放置恶意指令;Wang 等人(2026b)和 Liu 等人(2026a)研究了隐藏注释与无载荷技能攻击;Chen 等人(2026a)与 SkillHarm(Ning 等人,2026)分析了动态修改技能状态的攻击方式。
组合攻击研究
- 工具链与意图碎片化:STAC(Li 等人,2025)和 Semantic Intent Fragmentation(Ahad 等人,2026)研究将攻击目标拆解为局部合规的子任务或工具调用链。
- 技能交互风险与路径:SkillReact(Wang 等人,2026c)、SkillProbe(Guo 等人,2026b)与 SCR-Bench(Xie 等人,2026)评估技能组合时的能力流转、信任传递与授权混淆。
- 跨技能载荷协作:ColluSkill(Zeng 等人,2026)围绕恶意目标构建相互依赖的子载荷并利用扫描器反馈优化;SkillTrojan(Feng 等人,2026)跨调用累积碎片重构可执行载荷。作者指出,这些组合攻击工作重点在构造攻击,对保留原任务逻辑和正常完成任务关注较少。
技能审计与运行时防御
- 技能包静态与模型审查:SkillScan(Liu 等人,2026c)结合静态扫描与大模型审查,SkillSpector(NVIDIA,2026)利用大模型复核静态分析结果;SkillFortify(Bhardwaj,2026)和 CiscoSkillScan(Cisco AI Defense,2026b)采用无大模型的静态权限与数据流规则检查;ChainGuard(Zeng 等人,2026)将审计范围拓展至候选技能间的跨包依赖。
- 运行时监控与策略约束:AgentSpec(Wang 等人,2026a)与 Progent(Shi 等人,2025)施加权限与行为约束;HITL(Shan 等人,2026)通过工具调用规则监控执行记录,DefenseClaw(Cisco AI Defense,2026a)对命令、网络请求与技能文件实施策略匹配。
基线方法与评测基准
- 对比基线包含单技能攻击 Skill-Inject(Schmotz 等人,2026)与 SkillJect(Jia 等人,2026),以及组合攻击 SCR-Bench(Xie 等人,2026)与 ColluSkill(Zeng 等人,2026)。
- 评测基准构建参考了 Skill-Inject(Schmotz 等人,2026)、τ-bench(Yao 等人,2024)和 AgentDojo(Debenedetti 等人,2024)的公开任务场景。
本文定位:作者表示,与针对孤立恶意技能或未保留任务效用的组合攻击不同,COREDSKILL 强调从具备独立验证效用的真实技能出发,利用 AST 重写将分散攻击操作内嵌在既有任务逻辑中,兼顾任务完成、攻击达成与逃避审计。
论文如何解决这个问题?
COREDSKILL 通过工作流分解、数据依赖解构与 AST 重写,将攻击操作隐蔽嵌入多阶段任务函数中。
作者提出 COREDSKILL 框架,通过将合法工作流解构为多阶段互联技能,并基于抽象语法树(AST)重写将分解后的攻击步骤隐蔽织入各阶段任务函数,利用中间数据工件连接分散操作。
问题设定与目标形式化
- 技能工作流与执行记录:将工作流定义为由 k 个阶段技能组成的序列 C = (S1, ..., Sk)(k ≥ 2),各技能通过中间 JSON 文件交换数据。智能体在环境与用户请求下运行产生的可观测执行记录为 τ,包含工具动作、中间工件、输出及环境状态。
- 攻击目标分类:论文将攻击目标 o 设定在三个系统层面,包括敏感数据外发(EXF,将受保护数据发送至非授权端点)、持久状态篡改(TAM,未授权向技能归档写入文件改变持久状态)以及越权执行(PRV,诱导智能体执行超出用户请求范围的辅助脚本)。
- 联合目标定义:设 U(τ) 表示任务输出验收,Ao(τ) 表示攻击判定,Dρ(C') 表示组合中是否存在任一技能被审计配置 ρ 检出。攻击构建的联合目标形式化为: U(τ) = Ao(τ) = 1, Dρ(C′) = 0 该式表示执行记录需同时满足任务输出验收标准与攻击判定条件,且所有构件包均逃避审计。
工作流分解与攻击链映射
- 工作流责任划分:构建模型 M 读取原技能 s 的文档与脚本,按任务责任与数据依赖将其拆分为 k 个阶段技能 C = (S1, ..., Sk)。各阶段保留专属业务逻辑并通过中间工件衔接。
- 重写锚点选取:分析各阶段脚本中的辅助函数,选择适宜容纳攻击操作的函数作为重写锚点 ai(如文件检索、字段筛选或数据导出函数),确定其函数名与调用接口。
- 攻击链分步编排:将抽象攻击目标 o 拆解为具有明确输入输出的步骤链,按数据依赖分组为有序操作 fi 并分配至对应阶段。阶段规约记录为 Φ(o, k) = (ϕ1, ..., ϕk),各阶段规约包含操作步骤、重写锚点、替换模板与工件接口约定。
- 三阶段外发示例:以三技能数据外发为例,第一阶段负责枚举并定位目标文件,第二阶段提取目标字段并暂存,第三阶段在业务数据发布后将提取值发送至未授权接收端。
基于 AST 重写的攻击嵌入与打包
- 语法树替换与接口同步:利用解析工具定位锚点函数所在脚本并生成抽象语法树 Gi,根据阶段规约应用替换模板更新锚点函数逻辑,同时同步修改相关调用方传参及工件读写: G′i = 𝒯AST(Gi; ϕi), S′i = Pack(Si, G′i; ϕi) 该式表示对语法树实施指定结构替换以嵌入攻击逻辑,随后组装生成更新后的源码脚本与资源入口。
- 文档与资源更新:在技能文档中补充新增操作的说明,将其包装为该阶段正常功能的一部分并说明输入输出;随后重新解析脚本以核对重写锚点是否正确嵌入。
跨技能状态传递与触发机制
- 数据工件衔接:各阶段生成的中间工件同时包含业务结果数据与后续攻击所需的隐藏数据(如文件路径、配置字段或权限信息),后序技能沿正常输入输出依赖读取工件并接续执行。
- 自主调用触发:技能文档中的提示引导智能体在完成正常业务指令后,自主触发被嵌入的辅助操作(例如额外的数据分发调用),从而在不改变主干业务流输出的前提下串联起完整攻击链。
论文做了哪些实验?
在 150 个测试用例中,COREDSKILL 取得 98.0% 攻击成功率、95.3% 任务成功率与 3.3% 审计检出率。
实验设置
- 被测模型:智能体执行后端采用 deepseek-v4-flash,并在 Claude Code CLI(v2.1.92)平台上运行;补充实验测试了 GPT-5.5 与 Kimi K2.5 作为替代执行与审计模型。
- 基准与规模:基于 Skill-Inject、τ-bench 和 AgentDojo 构建 50 项任务,每项任务设置 EXF、TAM 和 PRV 3 种攻击目标,共 150 个评估用例。
- 对比基线:包含 4 种攻击基线 Skill-Inject、SkillJect、SCR-Bench 和 ColluSkill,并引入原技能(Original skills)与未注入的干净组合(Clean compositions)作为对照组。
- 评估指标:ASR(攻击成功率)、TSR(任务成功率)、DR(审计检出率)以及 JSR(联合成功率,定义为同一次运行中攻击成功、任务完成且未被检出的比例)。
- 评审与检测方式:代码审计采用 SkillScan 与 SkillSpector,分别搭载 Deepseek 与 GLM-5.2,风险评级达到 HIGH 或 CRITICAL 判定为检出;静态规则采用 SkillFortify 与 CiscoSkillScan;运行时防御采用 HITL 与 DefenseClaw 规则。
- 运行配置:每种方法安装其全部注入技能以及 6 个无害技能作为干扰项;每个测试用例在独立沙箱中运行一次,无时间限制。
主结果
据 Table 1,主评估整体表现如下(审计器为 SkillScan 搭载 Deepseek):
表格较宽,可左右滑动
方法 ASR (%) TSR (%) DR (%) JSR (%) Skill-Inject 53.3 96.7 84.7 6.7 SkillJect 96.0 100 55.3 42.7 SCR-Bench 51.3 98.7 74.7 20.0 ColluSkill 50.0 38.0 9.3 22.7 COREDSKILL (Ours) 98.0 95.3 3.3 90.7 - 综合表现:在 150 个测试用例中,COREDSKILL 达到 98.0% ASR、95.3% TSR 与 3.3% DR,联合成功率 JSR 达 90.7%,基线方法的 JSR 处于 6.7%–42.7% 区间(Table 1)。
- 有效性与隐蔽性兼顾:作者指出,SkillJect 虽取得 96.0% ASR 和 100% TSR,但 DR 达 55.3%;ColluSkill 虽维持较低的 9.3% DR,但 ASR 和 TSR 分别为 50.0% 和 38.0%,表明其为逃避审计牺牲了攻击达成与任务完成能力。
- 细分目标表现:COREDSKILL 在 EXF 下达成 100% ASR、96.0% TSR 和 4.0% DR;在 TAM 下达成 94.0% ASR、96.0% TSR 和 0% DR;在 PRV 下达成 100% ASR、94.0% TSR 和 6.0% DR(Table 1)。
针对技能代码审计器的防御评测
- 大模型审计表现:COREDSKILL 在 4 种 LLM 审计配置下的整体 DR 处于 3.3%–20.0% 之间,在所有配置中均低于 SkillJect(55.3%–86.7%)、Skill-Inject(84.7%–100%)和 SCR-Bench(74.7%–100%)(Table 2)。
- 后端模型影响:将审计模型替换为 GLM 时,COREDSKILL 在 SkillScan 和 SkillSpector 下的整体 DR 分别为 20.0% 和 16.0%,相比 Deepseek 后端有所增加,但绝大多数攻击用例仍未被检出(Table 2)。
- 静态扫描表现:无 LLM 参与的 SkillFortify 与 CiscoSkillScan 对 COREDSKILL 的整体 DR 均为 0%,对 SkillJect 同样为 0%(Table A2);原技能与干净组合在所有静态与 LLM 单包审计配置下的虚警率均为 0%(Table 2、Table A2)。
针对运行时防御的评测
- 运行规则检出率:COREDSKILL 在 HITL 规则下的检出率为 10.7%,在 DefenseClaw 严格策略下的检出率为 1.3%,低于 Skill-Inject(50.7% 与 66.7%)和 SCR-Bench(24.7% 与 3.3%)(Table 3)。
- 隐蔽性对比:SkillJect 在两项运行时防御下的检出率分别为 7.3% 和 0.7%,但其在包级 LLM 审计下的 DR 高达 55.3%–86.7%;ColluSkill 在 HITL 下的检出率为 32.0%(Table 2、Table 3)。
- 机制解释:作者认为,COREDSKILL 将攻击操作内嵌在业务函数中并通过工件衔接,使恶意行为与正常任务执行交织在一起,降低了触发运行时行为规则的概率。
组合规模与自适应防御实验
- 组合规模扩展:在 24 项任务(72 个用例)上比较 k = 2、3、4,三种规模下 ASR 均保持 100%,整体 DR 处于 4.2%–34.7% 之间(Figure 2、Table A3)。作者指出,检出率并未随技能数量增加而单调下降,因为将攻击拆散到更多技能中可能会使某些阶段缺乏足够的正常业务逻辑来进行掩护。
- 组合感知自适应审计:将所有构件技能同时提交给审计大模型时,COREDSKILL 的整体 DR 升至 28.7%(Table 4)。其中 EXF 的 DR 达到 74.0%,而 TAM 和 PRV 的 DR 仅为 2.0% 和 10.0%;同时,干净组合在此自适应审计下的虚警率升至 24.0%(Table 4)。
其他消融与分析
- 在 24 项任务上进行部分注入消融,单一技能注入时 ASR 为 0%,TSR 平均为 93.1%,部分用例中智能体偏离预定流程尝试替代方案导致任务输出未通过验收(Table C1)。
- 双技能注入时平均 ASR 为 26.4%–54.2%,TSR 为 100%;三技能全部注入时 ASR 和 TSR 均为 100%(Table C1)。
- P011 配置下 EXF 和 TAM 的 ASR 分别达到 83.3% 和 79.2%,作者称智能体会自主搜索缺失输入并补全攻击链(Table C1)。
- P110 配置下 PRV 的 ASR 达到 79.2%,作者称前两阶段恢复权限后智能体会在第三阶段完成任务并自主执行脚本(Table C1)。
- 将执行模型替换为 GPT-5.5 或 Kimi K2.5 时,执行结果差异微小(附录 A.2)。
- 将审计模型替换为 Kimi K2.5 时检出率轻微变动,但各方法的相对表现趋势保持一致(附录 A.2)。
有什么可以进一步探索的点?
论文未评估对任意第三方技能的自动适配,且仅在受控离线沙箱中通过执行记录测试防御有效性。
作者指出的局限与后续方向
- 自动化适配能力受限:攻击构建依赖预定义的攻击规范与工作流接口,未评估对任意既有技能包的自动化适配能力(Limitations 节)。
- 效用验证场景局限:仅在 150 个离线评估用例中基于输出验收标准验证了技能效用,未评估动态服务交互或长期运行环境下的表现(Limitations 节)。
- 防御评估未包含在线拦截:运行时防御评估仅使用离线执行记录衡量风险和策略规则的检测能力,未评估在线实时阻断对后续智能体执行及攻击结果的影响(Limitations 节)。
- 安全发布策略:为降低滥用风险,作者计划开源脱敏的执行轨迹、合成输入和评估工具链,但不公开发布可直接用于攻击的恶意技能包(Ethics Statement 节)。
实验覆盖范围
- 被测系统配置:智能体执行环境基于 Claude Code CLI(v2.1.92),后端主模型为 deepseek-v4-flash,并在附录中补充测试了 GPT-5.5 和 Kimi K2.5(第 4.1 节与附录 A.2)。
- 基准覆盖规模:测试包含 50 项任务和 3 类攻击目标,主实验覆盖 150 个离线测试用例,组合规模与部分注入消融实验覆盖 24 项任务的 72 个用例(第 4.1 节与附录 A.1)。
- 审计与防御范围:包级审计测试了 SkillScan 与 SkillSpector(分别搭载 Deepseek 与 GLM-5.2)及静态扫描器 SkillFortify 和 CiscoSkillScan;运行时防御测试了 HITL 与 DefenseClaw;自适应防御测试了提交全部技能的组合感知审计(第 4.3、4.5、4.6 节)。
- 实验运行机制:每个用例在独立沙箱中单次运行,未施加运行时间限制,测试环境包含 6 个干净技能作为干扰项,环境数据采用受控本地模拟服务与只读固件(第 4.1 节与附录 A.2)。
- 未报告信息:论文未报告攻击构建阶段大模型调用的具体耗时与 Token 消耗,亦未报告各阶段人工校验的具体工作量。
总结一下论文的主要内容
作者称多技能协同攻击能在保持任务功能的同时规避代码审计与运行时防护,呼吁发展组合交互防御。
- 论文定位:论文针对智能体技能生态提出跨技能隐蔽协同攻击框架 COREDSKILL,研究在维持正常业务效用的同时实现未授权操作与审计逃逸。
- 解决的问题:现有单技能攻击集中于单个包内易被审查拦截,而现有组合攻击往往破坏原有任务逻辑导致任务失败;论文旨在解决如何在保证正常任务输出验收的前提下,将攻击操作分解并隐蔽嵌入互联技能中。
- 核心方法:通过工作流分解将复杂任务拆解为多阶段互联技能,利用抽象语法树(AST)重写将分解后的攻击步骤内嵌到各阶段辅助任务函数中,通过任务中间工件传递攻击上下文与凭据,并借助技能文档引导智能体按序自主触发。
- 主要实验结果:在包含 50 项任务和 150 个用例的基准测试中,COREDSKILL 取得 98.0% 攻击成功率与 95.3% 任务成功率,在 Deepseek 驱动的 SkillScan 审计下检出率为 3.3%,联合成功率达到 90.7%(基线仅为 6.7%–42.7%)(Table 1);在运行时防御 DefenseClaw 下检出率为 1.3%(Table 3)。
- 反例与例外:在提交全部构件技能的组合感知自适应审计下,数据外发攻击的检出率上升至 74.0%,且干净组合产生 24.0% 的虚警率(Table 4);在仅注入单个技能的消融设置下,智能体尝试替代流程导致任务成功率降至 88.9%–95.8%(Table C1)。
- 作者结论与启示:作者称实验表明第三方技能组合能在完成正常业务的同时执行未授权操作并规避单包审计与运行时规则,提示防御机制亟需从孤立代码扫描转向跨技能交互分析与组合感知审计。