Agent 技能安全:威胁模型、攻击、防御与评估
Agent Skill Security: Threat Models, Attacks, Defenses, and Evaluation
作者用 SkillSec-Eval 评测 327 个技能的生命周期安全,Hybrid 准入 MAR 为 7.9%(Table 2)。
- 可复用技能把工具调用、执行策略和语义元数据打包共享,安全假设不再只在提示词或单次执行。已有研究多孤立分析注入、工具误用或软件供应链,缺少跨技能全生命周期的统一评测。
- SkillSec-Eval 把技能写成元数据、工作流、权限、工具和版本,并从仓库边界拆成准入、检索、规划、执行、演化。各边界分别做结构或语义校验、检索过滤、元数据清理、运行时污点与策略,以及更新再验证。
- Hybrid 准入 MAR 7.9%(Table 2)。440 条查询上 Sybil 检索 ASR 从 93.20% 到 26.59%(Table 3)。运行时 Execution ASR 从 100.0 到 23.0(Table 5)。演化防御 MDR 92.5%(Table 6)。
- 作者指出纵向的依赖演化与信任衰减超出范围,评测仓库不是生产部署,且未研究模型越狱、用户输入提示注入和对抗微调(§7)。实验未报告攻击样本量、重复次数和语义验证器模型名;RQ5 无单独结果表。
- Evaluated models
- Gemini 3.1 proGemini 1.5 Flash
- Benchmarks
- SkillMCPSkillSec-Eval
- Metrics
- MARFPRASRnDCG@5Avg. Malicious in Top-5Planner ASRExecution ASRPolicy Violation Detection RateTaint Propagation AccuracyUARMDRFNR
论文提出 SkillSec-Eval,一个面向可复用 Agent 技能生命周期的安全评估框架,把威胁按仓库准入、语义检索、规划器选择、运行时执行与技能演化五个阶段分类。作者用 327 个真实技能构建仓库、440 条查询做评测:混合准入防御把恶意准入率从规则法的 52.9% 降到 7.9%,假阳性率 20.0%;检索验证层把关键词堆砌与语义伪装的攻击成功率压到 10% 以下,但触发投毒与 Sybil 攻击仍有 17.50% 和 26.59%。规划器上虚假推荐基线攻击成功率最高(45.64%),提示注入最低(4.69%);运行时监控拦截 87.0% 的未授权工具调用,但污点追踪准确率仅 66.67%,执行攻击成功率 23.0%。演化阶段防御的恶意检测率 92.5%,假阴性率 7.5%,假阳性率 37.0%。
Why it was selected论文把可复用 Agent 技能的安全拆成仓库准入、检索、规划、执行与演化五个阶段,并给出各阶段攻击与防御的实测数据。
Paper analysis
What problem does this paper attempt to solve?
可复用技能的安全风险贯穿准入到演化,现有工作多只覆盖注入或执行。
可复用智能体技能在入库、检索、选用、执行和更新中的安全,缺少按生命周期统一评测的方法。
- 场景:作者称技能封装工具调用、执行策略和语义元数据,并在文件系统、云基础设施和企业 API 上被共享复用;其元数据、权限、工作流和实现可独立于底层模型变化,攻击面同时覆盖自然语言推理和常规软件执行(§1)。
- 现有不足:作者称提示注入、越狱、工具误用、软件供应链和规划漏洞多被分开研究,没有统一方法识别信任边界、归类生命周期威胁,或在同一实验设置下比较攻击与防御(§1、§2.4)。
- 观察:恶意技能可渗入仓库、操纵语义检索、用误导元数据欺骗规划器、在多步组合中利用执行,或经后续更新逐渐变恶意;这些风险类似软件供应链攻击,并多出 LLM 推理特有的语义攻击面(§1)。
- 提出:生命周期威胁分类,以及评测框架 SkillSec-Eval。框架把生态拆成仓库准入、语义检索、规划器选择、运行时执行和技能演化,并用 327 个真实技能做实证评测(摘要、§1)。
- 威胁模型(§3.3):
- 目标:操纵智能体执行非预期行为,途径是技能生态,而不是底层语言模型。
- 能力:发布恶意技能、修改已有制品、操纵语义元数据、分发有毒更新,或利用语义检索机制。
- 假设:底层 LLM、嵌入模型、执行运行时和操作系统功能正常,不在攻击者控制之内。
- 范围:隔离由可复用技能的生命周期管理引入的漏洞。论文未用 white-box 或 black-box 描述该对手。
What related research exists?
相关工作分智能体安全、供应链和技能生态,作者称缺少统一的生命周期评测。
相关工作按论文四节分组。作者把本文放在同一设置下比较跨生命周期攻击、以及比较不同信任边界上的防御(§2.4)。
LLM 智能体安全
- 提示注入与越狱:Liu et al. (2024)、Chen et al. (2025) 研究模型中心的提示注入和越狱。
- 工具与规划:He et al. (2025)、Li et al. (2026)、Badhe (2025) 研究工具误用、跨工具数据收割、规划欺骗和多轮对话欺骗。
- AgentDojo:Debenedetti et al. (2024) 在不可信工具输出上的间接提示注入下,评测已部署智能体。作者称这类工作主要看单个智能体或静态工具集上的单体流水线,不建模可复用技能生态;AgentDojo 评测对抗交互下的已部署智能体,SkillSec-Eval 评测技能生态本身(§2.1)。
软件供应链
- 包生态机制:Ohm et al. (2020)、Ladisa et al. (2023) 讨论 PyPI、npm 等生态中的来源验证、签名、依赖分析和完整性校验。论文还提到 SBOM、SLSA 和 Sigstore。
- 与技能层的差别:作者称这些机制能核验技能包的结构完整性,但不能判断语义描述、元数据如何影响向量检索、规划器如何解释意图,以及动态更新如何引入规划妥协,并引用 Qu et al. (2026)、Liu et al. (2026a)(§2.2)。
技能与工具生态
- 市场审计:Anthropic PBC (2024) 的 Agent Skills 推动第三方技能生态。作者转述 Liu et al. (2026c):最多四分之一已发布技能含安全关键缺陷;Liu et al. (2026b) 报告经行为确认的恶意指标。
- Skill-Inject:Schmotz et al. (2026) 评测藏在辅助技能文件或元数据里的注入。
- 指南与隔离:OWASP MCP(OWASP GenAI Security Project, 2025)给出使用第三方服务器的指南;AgentBound(Bühler et al., 2026)处理权限管理与运行时隔离。作者称这些要么是主观管理指南,要么只覆盖单个运行时防御,尚无跨准入、向量检索、规划器选择、执行和长期演化的统一评测方法(§2.3)。
实验对照与数据
- 基线:实验没有复现上述外部系统。准入对照是 Rules Only 与 Semantic Only(Table 2);检索对照是 all-MiniLM-L6-v2 加 FAISS FlatL2、直接取 Top-5(§6.2);规划器对照是零样本、不做元数据清理(§6.3);执行对照是不监控(Table 5);演化对照是不审核地摄入更新(§6.5)。
- 数据:良性工作流取自 SkillMCP,去掉重复和不完整条目后为 327 个技能、15 个簇(§5.1)。相关工作提到 AgentDojo,实验未使用该环境。
作者称现有研究把提示注入、传统供应链、语义检索操纵和规划器漏洞分开处理,因此难以比较攻击如何跨阶段传播,也难以在同一设置下比较不同信任边界上的防御(§2.4)。
How does the paper address this problem?
SkillSec-Eval 从仓库边界拆成五段,在各信任边界单独评测攻击和校验。
SkillSec-Eval 不把智能体当成单体流水线,而是按信任边界拆开:攻击在其起源阶段评测,校验也可以独立于下游组件分析(§4)。
技能抽象与生命周期
技能定义为 S = (M, W, P, T, V):M 是语义元数据,W 是可执行工作流,P 是权限,T 是底层工具或服务,V 是来源与版本(§3.1)。技能不同于原子工具,它把一个或多个工具组成高层工作流,并带上描述、执行策略、权限和辅助元数据。
- 六阶段:Authoring、Storage、Retriever、Selection/Planner、Execution Runtime、Evolution。每段是一个信任边界,并假设前一阶段的输出正确(§3.2、§3.5)。
- 框架起点:编写发生在受管运行时之外、提交仓库之前,所以实现从仓库边界开始,对应五个组件:Repository Admission、Semantic Retrieval、LLM Planner、Runtime Execution、Skill Evolution(§4)。
- 四块清单:结构元数据(发布者、签名、版本、依赖)、语义元数据(名称、描述、标签或示例)、权限清单、行为定义(提示指令、代码、API、工作流图或工具调用序列)(§4.1)。
威胁分类
攻击按被违反的信任假设归阶段(Figure 1、Table 1)。Table 1 同时列出代表性防御方向,如签名与来源校验、信任感知检索、元数据校验、运行时监控与污点跟踪、更新再验证。
- Authoring:隐藏指令、欺骗性元数据、权限膨胀、恶意工作流。该阶段在框架外,没有单独实验。
- Storage:结构类为 Missing Signature、Tampered Payload、Version Rollback;语义类为 Permission Inflation、Metadata Deception、Hidden Prompt Injection。
- Retrieval:Keyword Stuffing、Semantic Camouflage、Sybil Publication、Trigger Poisoning。§3.4 写 naive 与 LLM-assisted 两种实现。
- Selection:Planner Deception、Fake Recommendations、Misleading Descriptions、Permission Deception、Prompt Injection。规划器几乎只看描述性元数据。
- Execution:Unsafe Composition、Unauthorized Tool Invocation、Information-Flow Violation、Data Exfiltration。
- Evolution:Permission Escalation、Instruction Injection、Tool Substitution、Dependency Compromise、Publisher 或 Provenance Compromise。
五段校验
- 准入:先做确定性结构校验(模式、签名、载荷完整性、来源、依赖、版本谱系),再由未点名的 LLM 验证器检查工作流、自然语言描述和所请求权限是否一致。任一段失败即拒绝(§4.2)。实验配置为 Rules Only、Semantic Only、Hybrid(§6.1)。
- 检索:接受的技能用稠密嵌入进入 FAISS。§4.3 写按余弦相似度取 Top-k,并让恶意技能与多个语义相近的良性技能竞争。送入规划器前做语义多样性过滤、元数据一致性检查和权限一致性检查。实验参数在 §5.3、§6.2:all-MiniLM-L6-v2、384 维、FAISS FlatL2,先取 Top-50,再滤成 Top-5;可执行指令与已保留候选的相似度超过 85% 则丢弃。论文未说明余弦相似度与 FlatL2 如何对应。
- 规划器:只根据用户请求、语义元数据和声明权限选一个工作流,可执行工作流不进入规划器上下文(§4.4、§6.3)。元数据校验层不改工作流,而是去掉描述中的注入模式、归一化伪造推荐或声誉声明,并核对能力与权限。
- 执行:LifecycleGuard 在沙箱里中介每次工具调用,用动态污点跟踪加策略执行;调用前核对权限与当前上下文,拦截未授权操作、权限提升,或把敏感数据传到不可信汇(§4.5、§5.3)。
- 演化:更新重新进入准入,再验证来源、完整性、版本谱系、依赖变化、语义一致性和权限变更后才替换旧技能(§4.6)。§6.5 还比较原指令与更新指令的向量距离,并限制包导入。论文未给出该距离阈值。
构造方式与判定
各边界的攻击独立生成,以减少下游组件的混淆(§5)。检索攻击由良性技能自动改写而来;规划攻击只改规划器可见元数据,工作流保持相同。§5.2 的演化场景包括恶意更新、依赖妥协、版本回滚、trust decay 和 abandoned maintainers;§6.5 实际列出的五类是权限提升、指令注入、工具替换、依赖妥协和发布者伪造。两处名单不完全相同。
成功与否不用单一端到端指标(§5.4)。准入用 MAR、FPR,并把平均准入延迟列为指标。检索 ASR 是 Top-5 中至少出现一个恶意技能的查询比例;另有 nDCG@5 和 Top-5 中恶意技能平均数。规划器指标是选中恶意技能的查询比例。运行时用到达最终特权汇的 Execution ASR、策略违规检出率、污点传播准确率,以及被阻断的工具调用次数。演化用 UAR、MDR、FPR、FNR(§6.5)。附录 B 给出准入验证器和规划器的完整提示词;验证器输出 SAFE 或 MALICIOUS,规划器只依据给定元数据返回 skill id,不合适则 null。解码 temperature 为 0。
What experiments did the paper conduct?
五段评测:Hybrid 准入 MAR 7.9%,Sybil 防御后 ASR 26.59%,运行时 ASR 23.0。
实验设置
- 模型:§5.3 写规划实验使用 Gemini 3.1 pro;§6.3 写基线规划器为 Gemini 1.5 Flash、零样本。论文未说明两处是否同一设置,Table 4 也未标明模型。检索编码器是 all-MiniLM-L6-v2。准入语义验证器和元数据清理所用 LLM 未命名。
- 仓库与查询:SkillMCP 公开技能,去掉重复和不完整条目后 327 个良性技能、15 个能力簇,每簇 20–25 个,故意做成语义重叠(§5.1)。附录 A Table 7 中最多为 CRM & Business Workflow Automation 的 25 个,最少四类各 20 个。检索用 440 条查询,覆盖全部 15 个能力域(§5.3)。规划器、运行时和各攻击类的样本数,以及重复次数,论文未报告。
- 对照:准入为 Rules Only(签名、载荷哈希、版本、权限,以及对可执行指令做正则)和 Semantic Only(跳过结构规则,直接交 LLM);检索基线直接取 Top-5;规划器基线直接看 Top-5;运行时基线不监控;演化基线不审核地摄入更新(§6.1–§6.5)。
- 指标:定义见 §5.4、§6.5。Table 3 注明全部指标越低越好;其中 nDCG@5 衡量的是恶意技能的排序质量。
- 研究问题:RQ1–RQ4 对应准入、检索、规划器元数据、运行时监控。RQ5 问最小权限执行能否阻止过度授权技能滥用权限(§5)。§6 的第五个实验是技能演化,论文未单独给出 RQ5 的结果表。
- 配置差异:§5.3 的准入三配置是无防御、规则流水线、Hybrid;§6.1 与 Table 2 比较的是 Rules Only、Semantic Only、Hybrid。无防御 MAR 未报告。
主结果
| 阶段 | 条件 | 指标 | 对照 | 防御后 | | 准入 | Hybrid,对照 Rules Only | MAR | 52.9% | 7.9% | | 检索 | Sybil Attack (15 Clones) | ASR | 93.20% | 26.59% | | 检索 | Semantic Camouflage | ASR | 61.14% | 9.82% | | 检索 | Trigger Poisoning | ASR | 31.82% | 17.50% | | 规划器 | Fake Recommendation | 选择攻击率 | 45.64 | 8.72 | | 运行时 | 提出的防御 | Execution ASR | 100.0 | 23.0 |
据 Table 2–5。检索 ASR 的表头带 %。Table 4、Table 5 的表头未写 %,正文按百分比使用这些数字。准入对照不是无防御配置。
- 作者称无二次过滤时 Sybil 会使恶意克隆进入规划器上下文。作者称关键词填充和语义伪装的防御后 ASR 低于 10%(Keyword Stuffing 的防御后值为 7.83%,Table 3)。作者认为 Trigger Poisoning 和 Sybil 仍部分成功,因为它们利用向量空间密度,事后过滤不能单独挡住 zero-day(§6.2)。
- 作者称 Fake Recommendation 是规划器基线里最高的一类,Prompt Injection 最低(4.69,Table 4),并认为指令微调模型对直接提示覆盖已有相当抵抗。Misleading Description 经能力校验后为 0.00。作者认为问题主要来自有说服力的自然语言元数据,而不是底层模型缺陷,并称伪造推荐一类下降超过 80%(§6.3)。
- 作者称无监控时评测攻击都到达特权汇。策略在工具调用前执行后,Policy Blocked 为 87.0,Taint Accuracy 为 66.67(Table 5)。作者把残余 Execution ASR 归因于 LLM 在内部改写或摘要敏感数据时,字符串污点标记丢失,上下文窗口成为未监控的隐式流(§6.4)。
仓库准入
- 评测六类攻击和三种防御(§6.1、Table 2)。Rules Only 的 MAR 52.9%、FPR 0.0%;Semantic Only 的 MAR 42.9%、FPR 20.0%;Hybrid 的 MAR 7.9%、FPR 20.0%。Table 2 未按攻击类分列。
- 作者称规则能拦住畸形载荷和无效签名,但对保留合法语法、只操纵语义意图的攻击(如 Metadata Deception)无效;Hybrid 把可执行指令和声明权限放在一起看。
- 作者称剩余 7.9% MAR 与 20.0% FPR 是使用 LLM 做语义防御的代价,并认为仍可能被复杂的 zero-day evasion 绕过。准入延迟无数值。
技能演化
- 五类为权限提升、指令注入、工具替换、依赖妥协、发布者伪造(§6.5)。防御把每次更新当作新的准入事件,并比较原指令与更新指令的向量距离。阈值未给出。
- Table 6 只报告该防御:UAR 63.0%,MDR 92.5%,FPR 37.0%,FNR 7.5%。正文称不做持续校验时,100% 的恶意更新会继承既有信任;该 100% 不在 Table 6。
- 作者称有的指令注入会留在向量距离阈值之下,对应 7.5% FNR;良性重构会触发行为边界,对应 37.0% FPR 和 63.0% UAR。作者称没有哪一种防御单独就够,因为像 Semantic Taint Evasion 这样的攻击可以绕过单个语义或运行时过滤器。
其他消融与分析
- Table 3 nDCG@5(Base 到 Def):Keyword Stuffing 0.187 到 0.091;Semantic Camouflage 0.205 到 0.117;Trigger Poisoning 0.299 到 0.133;Sybil 0.742 到 0.223。
- Table 3 的 Avg. Malicious,同一顺序:0.38 到 0.12、0.42 到 0.14、0.50 到 0.17、2.84 到 0.27。
- Table 4 其余选择攻击率:Misleading Description 27.27 到 0.00;Permission Deception 11.36 到 5.68;Planner Deception 9.88 到 2.47;Prompt Injection 4.69 到 3.65。
- Table 5 基线的 Policy Blocked 与 Taint Accuracy 为 NA。§5.4 把准入延迟和被阻断工具调用次数列为指标,正文未给这两项数值。
- §3.4 写检索攻击分 naive 与 LLM-assisted;Table 3 未分列,辅助 LLM 未命名。
- §5.2 写了 trust decay 与 abandoned maintainers;§6.5 的评测名单改为发布者伪造,未单列前两类的数字。
What are some points that can be further explored?
作者指出未覆盖长期依赖演化、生产环境和底层模型自身攻击。
作者指出的局限与后续方向
- 纵向攻击:依赖演化和信任衰减需要长期仓库历史,作者称超出本文范围(§7)。
- 部署环境:仓库由真实技能构成,但是受控评测环境,不是生产部署。作者称真实生态的仓库可能更大,并有异构技能格式和框架特定的执行语义(§7)。
- 分析单位:只以可复用技能为单位,未研究底层 LLM 自身的攻击,包括模型越狱、来自用户输入的提示注入和对抗微调。作者称这些与生命周期攻击互补,值得进一步研究(§7)。
- 后续希望:作者希望 SkillSec-Eval 成为后续工作的基础,方向包括安全的智能体生态、生命周期评测方法和可复用技能的可信部署(§8)。
实验覆盖范围
- 良性技能 327 个,来自 SkillMCP,15 个能力簇,每簇 20–25 个;各类数量见附录 A Table 7。检索评测为 440 条查询,覆盖这 15 个域(§5.1、§5.3)。
- §6 的五个实验是仓库准入、语义检索、规划器选择、运行时执行和技能演化。Authoring 在分类法中,框架从仓库边界开始,没有单独的编写阶段实验(§4)。
- 防御配置包括 Rules Only、Semantic Only、Hybrid,Retrieval Validation Layer(指令相似度阈值 85%),Metadata Validation Layer,LifecycleGuard,以及演化阶段的再验证(§6.1–§6.5)。
- 检索使用 all-MiniLM-L6-v2、384 维向量和 FAISS FlatL2,先取 Top-50 再滤到 Top-5(§5.3)。规划模型在 §5.3 写作 Gemini 3.1 pro,在 §6.3 写作 Gemini 1.5 Flash、零样本。附录 B 的解码 temperature 为 0。
- 论文未报告各攻击类样本数、重复次数、准入延迟,以及语义验证器和元数据清理所用 LLM 的名称,也未报告与人工判定的一致性。§5 的 RQ5 问最小权限执行,§6 没有对应结果表。§3.4 写检索攻击分 naive 与 LLM-assisted,Table 3 未分列。
Summarize the main content of the paper
SkillSec-Eval 按五个信任边界评测可复用技能,作者称单点防御不足以覆盖全生命周期。
SkillSec-Eval 按信任边界评测可复用智能体技能,而不是只看提示注入或单次执行。
技能被共享后,元数据、权限、工作流和版本可独立于底层模型变化。作者要回答的是:恶意技能能否在准入、检索、规划、执行或更新阶段穿过未经验证的信任边界。
框架把技能写成元数据、工作流、权限、工具与版本,从仓库提交开始实现五段校验:结构规则加 LLM 语义一致性、检索后的多样性与权限过滤、规划器可见元数据清理、LifecycleGuard 的动态污点与策略、更新重新准入。攻击按边界单独生成,指标也按边界定义。良性技能来自 SkillMCP,过滤后 327 个、15 个簇;检索用 440 条查询。
- 准入:Hybrid 的 MAR 为 7.9%、FPR 为 20.0%;Rules Only 为 52.9% 与 0.0%(Table 2)。无防御 MAR 未报告。
- 检索:Sybil Attack(15 Clones)的 ASR 从 93.20% 到 26.59%;Semantic Camouflage 从 61.14% 到 9.82%(Table 3)。
- 规划器:Fake Recommendation 从 45.64 到 8.72,Misleading Description 到 0.00,Prompt Injection 从 4.69 到 3.65(Table 4)。§5.3 写规划模型为 Gemini 3.1 pro,§6.3 写 Gemini 1.5 Flash。
- 运行时:基线 Execution ASR 为 100.0,防御后 23.0;Taint Accuracy 66.67(Table 5)。
- 演化:防御的 MDR 92.5%、FNR 7.5%、FPR 37.0%、UAR 63.0%(Table 6)。
作者称漏洞在执行前就已经出现,单一边界的防御盖不住其余阶段。作者希望该框架用于后续的生命周期评测和可信部署。