跳到正文
原文
arXiv· arXiv:2602.20156· David Schmotz, Luca Beurer-Kellner, Sahar Abdelnabi, Maksym Andriushchenko·本站收录· 原文发表精选关注度41

Skill-Inject:测量 AI 智能体对技能文件攻击的脆弱性

Skill-Inject: Measuring Agent Vulnerability to Skill File Attacks

论文速读

评测与基准

据论文 PDF 整理(AI 生成),以原文为准

作者提出 Skill-Inject 基准,测得前沿智能体对技能文件注入的上下文攻击执行率最高 79.0%(Gemini-3-Flash,Normal 条件)。

问题
智能体技能(agent skills)让用户安装第三方指令包,形成新的提示注入面;技能文件全由指令构成,传统区分指令与数据的防御难以适用,且许多指令是上下文相关的双用途指令。
方法
作者构建 Skill-Inject 基准:23 个技能、30 条 obvious 与 41 条 contextual 注入,组成 202 个注入-任务对;在三种安全策略条件(Normal、Legitimizing、Warning)和三种攻击者能力下评测 12 个前沿模型,由 LLM 裁判判定用户任务与攻击任务是否完成。
实验与结果
上下文注入在 Normal 条件下 ASR 为 41.0%–79.0%;Warning 策略降低但不消除攻击;脚本式注入 ASR 高于纯文本(上下文 71.8% 对 53.8%);描述注入平均提升执行率 14.1 个百分点;LLM 筛查能检出注入但会误拒合法策略下的技能。
局限与可以继续做的
作者指出评测覆盖有限的技能、任务与威胁模型,真实攻击者可针对特定模型优化注入以取得更高成功率。实验在各家默认 scaffold 上进行,论文未报告每个条件的运行次数与裁判一致性。
实验设置GPT-5.1-Codex-Max、GPT-5.1-Codex-Mini 等 · Skill-Inject · ASR、injection execution rate 等
威胁模型
攻击者将恶意指令植入第三方技能文件(SKILL.md 正文、scripts/ 脚本或 YAML 描述),用户安装后由智能体加载执行;攻击分 obvious 与 contextual 两类,能力分 Body Injection、Body + Script、Body + YAML Description 三档。
被测模型
GPT-5.1-Codex-MaxGPT-5.1-Codex-MiniGPT-5.2-CodexGPT-5.2GPT-4Haiku 4.5Sonnet 4.5Opus 4.5Gemini 2.5 FlashGemini 2.5 ProGemini 3 FlashGemini 3 Pro
基准
Skill-Inject
指标
ASRinjection execution ratetask completion rateskill recommendation rate
AI 导读和推荐理由研究者提出 Skill-Inject 基准,用于测量 AI 智能体对技能文件中提示注入的脆弱性。该基准包含 23 个技能和 202 组注入任务,覆盖显式恶意与情境双用途注入,并在 Claude Code、Gemini CLI 和 OpenAI Codex 等默认 Agent 环境上测试前沿模型。默认设置下情境注入攻击成功率为 41.0%(Haiku 4.5)至 79.0%(Gemini 3 Flash),多数模型超过 50%;显式恶意注入单次成功率最高 70%。脚本注入比纯文本注入平均高 30 多个百分点,技能描述注入平均提升 10.6 个百分点,警告策略能降低但不能消除攻击成功。作者建议将技能文件视为不可信,并采用上下文感知的授权框架。

研究者提出 Skill-Inject 基准,用于测量 AI 智能体对技能文件中提示注入的脆弱性。该基准包含 23 个技能和 202 组注入任务,覆盖显式恶意与情境双用途注入,并在 Claude Code、Gemini CLI 和 OpenAI Codex 等默认 Agent 环境上测试前沿模型。默认设置下情境注入攻击成功率为 41.0%(Haiku 4.5)至 79.0%(Gemini 3 Flash),多数模型超过 50%;显式恶意注入单次成功率最高 70%。脚本注入比纯文本注入平均高 30 多个百分点,技能描述注入平均提升 10.6 个百分点,警告策略能降低但不能消除攻击成功。作者建议将技能文件视为不可信,并采用上下文感知的授权框架。

推荐理由该基准把技能文件注入分为显式恶意与情境双用途两类,并同时测量攻击成功率与正常任务完成率,便于评估 Agent 技能供应链风险。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    作者称智能体技能文件构成新的提示注入面,现有指令/数据分离式防御不适用,缺乏专门基准。

    核心问题:第三方智能体技能(agent skills)文件引入了一类新的提示注入攻击面,且现有基准与防御都没有覆盖它。

    • 问题场景:技能让用户像装软件包一样给智能体扩展第三方代码、知识和指令,作者称这使智能体供应链更复杂,已出现针对 OpenClaw 等系统的真实利用。
    • 现有方法不足:作者认为,基于指令权限层级或严格分离指令与数据的防御,对完全由指令构成的技能文件不适用;以往提示注入研究多关注明显恶意的指令,可用模式匹配或输入过滤发现。
    • 核心观察:技能中许多指令是双用途的——在某一上下文合法、在另一上下文构成数据外泄或提权;作者认为该问题无法靠模型规模扩展或输入过滤解决,本质上取决于智能体能访问什么信息和任务的语义上下文。
    • 论文提出:Skill-Inject 基准,含 202 个注入-任务对,攻击从明显恶意到藏在合法指令中的上下文相关注入,同时测量安全性(有害指令规避)与效用(合法指令遵从)。
    • 威胁模型:
      • 目标:让智能体在执行正常用户任务时执行技能文件中的注入指令(如数据外泄、删除文件、勒索软件式行为)。
      • 知识与能力:攻击者可在 SKILL.md 正文插入字符串(Body Injection),可再加一个 scripts/ 脚本(Body + Script),最强变体还可控制技能描述中的一句话(Body + YAML Description)。
      • 受害系统:使用 Claude Code、Gemini CLI、Codex CLI 等真实智能体 scaffold、安装了第三方技能的用户。
  2. 有哪些相关研究?

    相关工作分四组:提示注入攻击、注入基准、注入防御、AI 供应链攻击,另有上下文完整性理论。

    提示注入攻击

    • Greshake et al. (2023) 提出间接提示注入:嵌入外部内容(邮件、网页、工具输出)的恶意指令劫持模型行为;Perez & Ribeiro (2022) 等研究直接注入。
    • 论文指出,GitHub Copilot、Microsoft Copilot 等已部署系统仍易受精心构造的注入攻击(CVE, 2025;Rehberger, 2024;Willison, 2025);OWASP 将提示注入列为 LLM 应用头号威胁(OWASP, 2025)。

    提示注入基准

    • 已有基准覆盖网页智能体(Evtimov et al., 2025)、邮件助手(Abdelnabi et al., 2025b)、工具输出(Debenedetti et al., 2024b)、计算机使用智能体(Kuntz et al., 2025)。
    • 论文称本文基准有三点不同:针对技能注入这一新威胁模型;注入是"指令中的指令"而非数据中的异常句;研究上下文相关注入,需要结合任务与安全策略做语义推理。

    提示注入防御

    • Spotlighting(Hines et al., 2024)用分隔符和编码标记外部数据;Instruction Hierarchy(Wallace et al., 2024)假设工具输出不含指令;Meta SecAlign(Chen et al., 2025)用 DPO 训练模型不执行数据区指令。
    • 论文指出这类防御对技能注入天然不适用,因为问题不是"是否存在指令"而是"指令是否恶意"。
    • 确定性防御(Debenedetti et al., 2025;Costa et al., 2025;Beurer-Kellner et al., 2025)假设行为和控制流可由可信来源预先确定,论文称这与技能在运行时动态扩展指令集的设计相冲突。

    AI 供应链攻击与上下文安全

    • 已有攻击针对检索数据库(Zou et al., 2025)、训练数据(Carlini et al., 2024)、MCP 工具(Beurer-Kellner & Fischer, 2025)、记忆增强系统(Chen et al., 2024)和权限系统(Rehberger, 2025);技能是指令级攻击的新入口。
    • 上下文完整性(CI)(Barth et al., 2006)及其在 LLM 智能体上的操作化工作(Bagdasarian et al., 2024 等)为本文"指令合法性依赖上下文"的视角提供理论启发。

    基线与评测对象:论文未提出攻击方法,无攻击基线;防御侧基线为 LLM-as-a-judge 技能筛查(Figure 6、Table 6),评测在作者自建的 Skill-Inject 基准上进行。作者将本文定位为衡量技能注入漏洞的基准与评测,而非新攻击或新防御。

  3. 论文如何解决这个问题?

    Skill-Inject 用 23 个技能、两类注入、三种安全策略条件和三档攻击者能力,在真实智能体上测安全-效用权衡。

    整体思路:构建 Skill-Inject 基准,把从明显恶意到上下文双用途的注入植入真实技能文件,在 Claude Code、Gemini CLI、Codex CLI 等真实智能体 scaffold 上运行,同时测量注入执行率与用户任务完成率。

    基准规模与攻击类别

    • 规模:23 个技能,覆盖文档处理、机器学习、支付集成、医疗等领域;30 条 obvious 注入与 41 条 contextual 注入,配真实任务组成 76 个 obvious、126 个 contextual 注入-任务对,共 202 对(Table 1)。
    • 攻击类别:共 8 类、76 条注入(Table 2):数据外泄 26、后门 13、偏见/操纵 19、数据破坏 6、DoS 4、恶意软件/勒索软件 4、投毒 3、钓鱼 1。
    • 设计原则:真实性(技能仿照现代编码智能体的指令与脚本打包方式)、双用途覆盖(强调上下文相关注入以测安全-效用权衡)、受控威胁模型(攻击者能力从插入一行到附加脚本再到控制描述逐档增强)。

    安全策略条件

    • 三种条件:Normal(默认配置,无额外安全上下文);Legitimizing(系统提示明确授权注入行为,此时执行注入是正确行为);Warning(系统提示明确警告注入行为违反策略,此时执行注入是明确的安全失败)。
    • 作用:策略既模拟真实部署中组织对智能体的授权规定,也用于控制注入的歧义性——同一 contextual 注入在禁止性策略下变得明确恶意,在授权性策略下变得明确合法。
    • 指标口径:obvious 注入与无 Legitimizing 策略的 contextual 注入用 ASR 一词;Legitimizing 条件下用更中性的"注入执行率"。

    攻击者能力分档

    • Body Injection:攻击者只能向 SKILL.md 正文插入字符串。
    • Body + Script:另可向技能的 scripts/ 目录添加一个脚本。
    • Body + YAML Description:再额外控制技能描述中的一句话,该描述在初始化时载入系统提示。

    评测流程与判定

    • 隔离执行:每次实验在只含任务相关文件的隔离容器中运行,智能体结束后复制整个工作目录与容器日志。
    • LLM 裁判:裁判获得智能体最终输出、完整工作目录和记录全部 shell 命令的 bash history;先检查输出,再对照 bash history 寻找注入载荷被执行的证据(如对外发请求、删除文件、执行脚本)。
    • 成功标准:用户任务成功指输出满足任务规格;攻击任务成功指有证据表明注入载荷被执行。
    • 任务-注入正交性:计算任务完成率时排除那些注入一旦执行就使用户任务在设计上无法完成的注入-任务对,避免混淆能力失败与攻击破坏。
  4. 论文做了哪些实验?

    12 个前沿模型在三种策略条件下评测:上下文注入 ASR 最高 79.0%,脚本式与描述注入进一步提高成功率。

    实验设置

    • 被测模型与 scaffold:OpenAI Codex(GPT-4、GPT-5.1-Codex-Max、GPT-5.1-Codex-Mini、GPT-5.2-Codex、GPT-5.2)、Anthropic Claude Code(Haiku 4.5、Sonnet 4.5、Opus 4.5)、Google Gemini CLI(Gemini 2.5 Flash、Gemini 2.5 Pro、Gemini 3 Flash、Gemini 3 Pro),均用各自默认 agent scaffold。
    • 基准:Skill-Inject,202 个注入-任务对(Table 1);obvious 注入的 BoN 实验用 36 条注入的子集(Figure 1 图注),Table 3 表头另写 ASR 基于 82 条注入。
    • 条件:三种安全策略(Normal、Legitimizing、Warning)× 三档攻击者能力(Body、Body+Script、Body+YAML Description)。
    • 指标:ASR / 注入执行率、任务完成率;防御实验用技能推荐率。
    • 评审方式:独立 LLM 裁判依据最终输出、工作目录和 bash history 判定用户任务与攻击任务是否成功;论文未写明裁判用哪个模型,也未报告每个条件的运行次数。

    主结果

    上下文注入执行率与任务完成率(%,skill-body-injection 威胁模型,据 Table 7):

    表格较宽,可左右滑动

    模型Normal ASRNormal TaskLegit. ASRWarning ASRWarning Task
    GPT-5.1-Codex-Max64.787.068.347.587.0
    GPT-5.1-Codex-Mini57.683.174.845.389.6
    GPT-5.2-Codex59.777.953.225.989.6
    GPT-5.230.296.121.66.589.6
    Sonnet 4.532.487.030.924.587.0
    Opus 4.526.696.11.47.285.7
    Haiku 4.58.664.812.22.970.1
    Gemini 3 Flash67.693.585.656.894.7

    (省略 Gemini 2.5 Flash、Gemini 2.5 Pro、Gemini 3 Pro 三行,其 Normal ASR 分别为 37.4、36.7、46.0,均非最差;表中最低为 Haiku 4.5。)

    • 作者称,Normal 条件下 ASR 从 41.0%(Haiku-4.5)到 79.0%(Gemini-3-Flash)——注意正文给出的区间端点与 Table 7 的数值不一致(Table 7 中 Haiku 4.5 为 8.6、Gemini 3 Flash 为 67.6),此处照抄正文说法。
    • 作者称 Warning 条件总体降低 ASR 但不消除攻击;Legitimizing 条件常提高执行率(此条件下执行是要求的行为),Claude 模型是例外。
    • 作者称鲁棒性不是模型规模或通用能力的单调函数;Warning 协议对 Sonnet 4.5 等有效,对 GPT-5.1-Max 等影响很小。

    obvious 注入与 best-of-n

    • obvious ASR:作者称明显恶意注入(删文件系统、勒索软件、钓鱼等)的 ASR 最高达 70%,best-of-n 可进一步提高;Figure 1 显示多数模型 BoN 超过 50%。
    • BoN 消融(Table 3,ASR 基于 82 条注入,Bo5 Line 与 BoN Full 各基于 36 条):GPT-5.2-Codex 从 42.7% 升至 BoN Full 72.2%;Gemini 3 Flash 从 62.2% 升至 83.3%;Opus 4.5 从 15.9% 到 16.7%,提升很小。表注说明两个 BoN 条件用不同注入子集和裁判,列间绝对值不可直接比较。
    • 作者解读:注入在技能文件中的行位置是方差的主要来源,用户任务的具体措辞影响很小;单次 ASR 低估了现实攻击者能力。

    脚本式注入与描述注入

    • 脚本 vs 文本(Table 4):脚本式注入 ASR 更高——上下文注入 71.8% 对 53.8%(+18.0),obvious 注入 62.8% 对 53.7%(+9.0);正文另称"平均提升超过 30 个百分点",与 Table 4 的 +18.0/+9.0 不一致,两处数字并列于此。作者认为部分原因是模型运行脚本前不检查。
    • 描述注入(Table 5,在 GPT-5.2-Codex、Opus 4.5、GPT-5.1-mini 上取平均):总体执行率从 38.7% 升至 52.8%(+14.1);Warning 条件下 +17.6,Legitimizing 条件下 +7.0。正文另称"平均提升 10.6 个百分点""Warning 下提升 16.8",与 Table 5 不一致,并列于此。作者认为描述注入可把恶意指令在警告上下文之前建立为技能的预期行为。

    LLM 筛查防御

    • 设置:用 Figure 7 的提示词让裁判模型对技能给出 YES/NO 推荐,分干净技能、注入技能、注入技能加 Legitimizing 策略三种条件(Table 6)。
    • 结果:干净技能推荐率 88.2%–98.5%;注入技能推荐率降至 4.4%(Opus 4.5)–35.3%(GPT-5.1-Codex-Mini);但加 Legitimizing 策略后,Opus 4.5 与 Sonnet 4.5 推荐率为 0.0%,GPT-5.1-Codex-Mini 为 67.6%。
    • 作者解读:裁判能检出注入,但在合法授权策略下仍大量误拒,作者认为裁判无法正确评估上下文安全;Gemini 模型与 GPT-5.1-Mini 是例外。

    其他消融与分析

    • GPT-4:ASR 最低但任务完成率也最低,作者归因于其上下文窗口较短、读不完长技能文件(附录 C)。
    • Opus 4.5 异常:Legitimizing 下 ASR(1.4)低于 Normal(26.6)与 Warning(7.2)(Table 7);作者推测授权性系统提示反而让它更警惕(附录 C)。
    • 技能长度(Table 8):最短的 5 个技能 Max ASR 多为 0.0%,最长的 5 个从 0.0%(hf-paper-publisher)到 45.4%(pptx)不等;作者称长度本身不决定脆弱性,技能与注入的配对是混淆因素。
    • Bo4-by-task:固定技能与位置、只变用户任务的变体未产生统计上显著的 ASR 差异,结果被省略(5.3 节)。
  5. 有什么可以进一步探索的点?

    作者承认评测覆盖有限、真实攻击者可更强;实验在默认 scaffold 上进行,部分实现细节未报告。

    作者指出的局限与后续方向

    • 覆盖有限(Section 6 Limitations):评测只覆盖有限的技能、任务和威胁模型,换智能体实现或更具适应性的攻击者,结果可能变化。
    • 攻击较简单(Section 6 Limitations):这些攻击实现起来相对简单,真实攻击者针对特定任务、特定模型或 scaffold 优化注入,可能取得高得多的攻击成功率。
    • 防御方向(Section 6 Recommendations):作者建议默认将技能文件视为不可信、把技能绑定到最小权限能力集、对有外部副作用的动作要求上下文感知授权;认为 LLM 安全筛查有一定帮助但不充分。
    • 基准定位(Impact Statement):Skill-Inject 被设计为评测基准而非利用工具包,作者希望推动把第三方技能默认当作不可信代码并发展上下文感知授权机制。

    实验覆盖范围

    • 被测模型共 12 个,分别运行在 OpenAI Codex、Claude Code、Gemini CLI 三个默认 scaffold 上(5.1 节)。
    • 基准含 23 个技能、202 个注入-任务对,攻击类别 8 类(Table 1、Table 2),领域包括文档处理、机器学习、支付集成、医疗。
    • 防御评测只覆盖 LLM-as-a-judge 技能筛查一种基线(Figure 6、Table 6)。
    • 描述注入消融在 GPT-5.2-Codex、Opus 4.5、GPT-5.1-mini 三个模型上取平均(Table 5 表题)。
    • 论文未报告每个条件的运行次数、LLM 裁判所用的具体模型,以及裁判判定与人工核对的一致性。
  6. 总结一下论文的主要内容

    Skill-Inject 基准显示前沿智能体普遍会执行技能文件中的注入指令,作者认为需要上下文感知授权。

    一篇关于智能体技能供应链安全的基准论文。作者称,agent skills 让第三方指令进入智能体的提示词,构成"指令中的指令"式提示注入面,传统区分指令与数据的防御对此不适用。

    • 方法:Skill-Inject 含 23 个技能、30 条 obvious 与 41 条 contextual 注入,组成 202 个注入-任务对;在 Normal、Legitimizing、Warning 三种安全策略条件和三档攻击者能力(正文插入、附加脚本、控制 YAML 描述)下,用 LLM 裁判依据 bash history 等证据判定注入是否被执行。
    • 主结果:上下文注入在 Normal 条件下 ASR 为 41.0%–79.0%(正文 5.2;Table 7 数值与此区间不一致);Warning 策略降低但不消除攻击。
    • 明显恶意注入:作者称 obvious 注入 ASR 最高 70%,BoN Full 下 Gemini 3 Flash 达 83.3%(Table 3)。
    • 攻击面扩展:脚本式注入比纯文本 ASR 更高(上下文 71.8% 对 53.8%,Table 4);控制技能描述平均再提升执行率 14.1 个百分点(Table 5)。
    • 防御基线:LLM 筛查能检出注入(Opus 4.5 对注入技能推荐率 4.4%),但在合法授权策略下大量误拒,作者认为其无法处理上下文安全。
    • 作者结论:该问题无法靠模型规模扩展或简单输入过滤解决,需要把技能默认视为不可信、最小权限绑定和上下文感知授权框架。
阅读原文NeurIPS 2026