Agent Skill Security:威胁模型、攻击、防御与评估

大家读完觉得有帮助记得关注和点赞!!!

摘要

可复用技能正成为大语言模型(LLM)智能体的基础构件,使得各类能力能够被封装、共享并跨应用场景复用。然而,现有安全研究主要聚焦于提示注入与运行时执行,对更广泛的技能全生命周期中的安全风险鲜有探索。本文提出 SkillSec-Eval,一个面向全生命周期的系统性评估框架,用于评测可复用智能体技能的安全性。我们首先刻画了技能的生命周期,并构建了一套威胁分类体系,涵盖仓库准入、语义检索、规划器选择、执行及技能演化五个阶段。随后,我们在 SkillSec-Eval 中实例化该分类体系,并基于包含 327 个真实技能的仓库开展了全面的实证评估。研究表明,除执行阶段外,漏洞还会在多个生命周期阶段产生,凸显了对可复用智能体技能开展全生命周期安全分析的必要性。

关键词:必须指定若干关键词。

Agent Skill Security(智能体技能安全)


1 引言

大语言模型已从孤立的对话界面进化为能够执行复杂多步目标的自主智能体(yao2023react; schick2023toolformer)。这一转变由可复用智能体技能的广泛采用所驱动。这些技能封装了工具调用、执行策略与语义元数据,使智能体能动态地与文件系统、云基础设施及企业 API 交互(openaiagentsdk2024; mcp2024anthropic)。因此,智能体开发的重心已从编写单体系统提示词,转向管理与协调一个由可复用可执行构件组成的协作生态。

尽管可复用技能显著提升了智能体生态的可扩展性,但它们从根本上改变了 LLM 智能体的安全假设(ayzenshteyn2025cheat; li2026dissonances)。与传统基于提示的交互不同,智能体行为现在受到外部编写的、其元数据、权限、工作流定义与实现可能独立于底层语言模型演化的可执行构件的影响(qu2026supply; liu2026exploiting; liu2026agentwild)。与传统软件包不同,可复用智能体技能同时影响语义推理、规划器决策与可执行行为,形成了横跨自然语言推理与传统软件执行的攻击面。因此,现代智能体系统面临的安全挑战远不止提示注入或不安全工具调用(liu2024formalizing; chen2025struq; schmotz2026skillinject)。恶意技能可能渗透仓库(qu2026supply; liu2026agentwild)、操纵语义检索(ayzenshteyn2025cheat)、通过误导性元数据欺骗规划器(liu2026exploiting)、在执行期间利用多步工作流组合实施攻击(li2026dissonances; guo2026skillprobe),或通过后续更新逐渐演变为恶意(qu2026supply)。随着可复用技能在组织间与市场平台间日益普及,这些漏洞类似于软件供应链攻击(Ohm2020BackstabbersKC; ladisa2023sok; bhardwaj2026skillfortify),同时引入了 LLM 驱动推理所特有的新型语义攻击面(liu2026exploiting; schmotz2026skillinject)。

现有研究已广泛探讨提示注入、越狱攻击、工具滥用、软件供应链安全及智能体规划漏洞(liu2024formalizing; chen2025struq; ayzenshteyn2025cheat; li2026dissonances; Ohm2020BackstabbersKC; ladisa2023sok; qu2026supply)。然而,这些工作通常孤立地分析单一攻击向量,缺乏一个统一框架来系统审视可复用智能体技能完整生命周期内的安全问题。因此,目前尚无系统性的方法论来识别信任边界、分类特定生命周期威胁,或在统一实验设置下评估安全机制。这种碎片化现象使得不同类别攻击难以横向比较,也难以理解漏洞如何跨生命周期阶段传播,或确定智能体执行期间哪些安全假设被违反。

为填补这一空白,我们提出 SkillSec-Eval,一个面向全生命周期的评估框架,用于研究可复用智能体技能的安全性。SkillSec-Eval 不将 LLM 智能体视为单一执行流水线,而是将技能生态分解为对应于仓库准入、语义检索、规划器选择、运行时执行与技能演化的显式操作边界。这种分解使得攻击可在其起源的具体生命周期阶段接受评估,同时也允许相应的验证机制独立于下游组件进行分析。基于此框架,我们根据攻击所违反的信任边界对安全威胁进行分类,构建了一个统一分类体系,连接了传统上相互独立的软件供应链安全、语义检索攻击、规划器操纵与运行时信息流违规等研究领域。

为实现可复现的评估,SkillSec-Eval 构建了模拟真实企业级智能体环境,包含语义重叠密集的技能仓库、代表性用户工作负载,以及覆盖仓库准入、检索、规划、执行与演化的特定生命周期攻击场景。该框架支持在受控实验条件下,对结构性攻击、语义操纵、规划器欺骗与运行时工作流漏洞利用进行系统性基准测试,从而实现跨技能生命周期各阶段的直接比较。

本文的主要贡献总结如下:

  • 提出了面向可复用智能体技能的全生命周期威胁分类体系,依据技能全生命周期中受违反的信任边界对安全威胁进行系统梳理。

  • 引入 SkillSec-Eval,一个模块化评估框架,实例化可复用技能生命周期,支持在仓库准入、语义检索、规划器选择、运行时执行与技能演化各阶段开展可复现的安全评估。

  • 构建了一个综合性基准,包含企业级技能仓库、按能力聚类的工作负载、特定生命周期攻击类别,以及用于研究可复用智能体技能安全的标准化评估协议。

  • 对覆盖完整技能生命周期的代表性攻击开展了全面实证研究,深入揭示了现代可复用技能生态的安全特性,并识别出最易受语义操纵影响的生命周期阶段。


2 相关工作

2.1 LLM 智能体安全

早期大语言模型(LLM)安全研究主要关注模型中心型漏洞,尤其是提示注入与越狱攻击(liu2024formalizing; chen2025struq)。随着 LLM 进化为能够通过工具与外部环境交互的自主智能体,研究人员开始研究工具滥用、跨工具数据窃取、规划欺骗与多轮对话欺骗等主动利用向量(agent_sec_survey; li2026dissonances; pmlr-v299-badhe25a)。这一转变催生了诸如 AgentDojo(debenedetti2024agentdojo)等动态基准测试环境,用于在不可信工具输出下的间接提示注入场景中评估智能体鲁棒性。尽管这些研究至关重要,但它们主要考察针对单个智能体实例或静态工具集下单体流水线的攻击。因此,它们未能建模当程序性知识模块化为可复用技能生态时涌现的系统风险。与传统智能体基准不同,可复用技能生态会动态检索并组合外部编写的可执行构件,其信任边界、权限与元数据独立于底层语言模型演化。此外,AgentDojo(debenedetti2024agentdojo)等现有基准评估的是部署后智能体在对抗性交互下的行为,而 SkillSec-Eval 评估的是可复用技能生态本身,包括仓库、检索、规划、执行与演化各环节。

2.2 软件供应链安全

软件供应链安全通过来源验证、加密签名、依赖分析与完整性校验,保护 PyPI、npm 等生态中软件构件的全生命周期(Ohm2020BackstabbersKC; ladisa2023sok)。软件物料清单(SBOM)、软件制品供应链等级(SLSA)及 Sigstore 等代码签名服务提供了端到端的审计能力与包验证机制。虽然这些框架在保障二进制与源代码分发安全方面非常有效,但它们对 LLM 驱动执行的语义层基本处于“盲区”。传统供应链防御可以验证技能包的结构完整性,但无法推理其语义描述、元数据如何影响向量空间检索、LLM 规划器如何解读其意图,或动态更新如何引发运行时规划妥协(qu2026supply; liu2026exploiting)。因此,传统供应链安全无法保护自然语言推理与传统软件执行交汇处的独特接口。

2.3 安全技能与工具生态

近期诸如 Agent Skills(mcp2024anthropic)等标准化工作加速了第三方技能生态的兴起。针对公共市场的大规模实证审计揭示了系统性漏洞——高达四分之一的已发布技能存在安全关键缺陷(liu2026agentwild),且存在经行为确认的恶意指标(liu2026malicious)。Skill-Inject(schmotz2026skillinject)等专项评估进一步证明,智能体极易受到隐藏在辅助技能文件或元数据中的隐蔽注入攻击。作为应对,安全指南(如 OWASP MCP,owasp2025mcp)与强制机制(如 AgentBound,buhler2026agentbound)已开始关注权限管理与运行时隔离。然而,这些系统要么提供主观的管理指南,要么完全聚焦于个体运行时防御机制。迄今为止,尚无现有工作提供一种统一的、以生命周期为中心的评估方法,能够系统性地衡量仓库准入、向量检索、规划器选择、运行时执行与长期演化各阶段的安全性。

2.4 研究空白总结

综上所述,现有研究大多孤立地探讨提示注入、传统软件供应链安全、语义检索操纵与规划器漏洞。因此,缺乏一个通用评估框架来研究攻击如何在可复用智能体技能的生命周期中传播,或比较部署在不同信任边界上的防御措施。这种碎片化阻碍了不同类别攻击的比较、漏洞传播路径的识别,以及在统一实验设置下对防御措施的系统评估。SkillSec-Eval 通过提供一个统一的、全生命周期感知的评估框架,以及覆盖仓库准入、语义检索、规划器选择、运行时执行与技能演化的标准化基准,填补了这一关键空白。


3 智能体技能生命周期与威胁模型

3.1 智能体技能

近期的智能体框架日益将程序性知识外化为可复用技能,而非将所有任务特定行为直接嵌入提示词或应用逻辑中。技能代表一种可被智能体动态发现与调用的可执行能力,用以完成特定目标。与暴露原子操作(如读取文件或发起 HTTP 请求)的原始工具不同,技能封装了由一个或多个工具组成的高层工作流,同时包含语义描述、执行策略、权限需求与辅助元数据。

形式上,我们将一个技能定义为:

Agent Skill Security:威胁模型、攻击、防御与评估

其中 M表示描述能力的语义元数据,W表示可执行工作流,P定义了执行期间所需的权限,T表示工作流调用的底层工具或服务集合,V捕获与技能相关的来源与版本信息。

可复用技能的日益普及从根本上改变了 LLM 智能体的安全假设。智能体不再仅基于用户提示进行推理,而是依赖于外部编写的构件,其完整性、真实性与行为可能独立于底层语言模型发生变化。因此,攻击面远远超出了提示注入或不安全工具执行,涵盖了技能创建、分发、发现与执行的整个生命周期。

3.2 技能生命周期

我们将智能体技能的生命周期建模为六个顺序阶段:

编写 → 存储 → 检索 → 选择/规划 → 执行运行时 → 演化

每个阶段代表了不同系统组件之间的明确信任边界,并引入了独特的安全假设。

生命周期始于编写阶段,开发者或自动化系统在此阶段通过指定工作流定义、语义描述、执行策略、所需权限与支撑元数据来创建可复用技能。此阶段的核心假设是:发布的规范忠实反映了工作流的预期行为。

编写完成后,技能进入存储阶段,被发布至本地或共享仓库,以供后续使用。存储负责保存技能构件及其来源信息、版本历史、完整性元数据与依赖项。智能体框架通常假设仓库内容在发布后保持可信,这使得仓库成为供应链式攻击的诱人目标。

在检索阶段,智能体搜索仓库以识别与用户请求相关的候选技能。现代系统普遍依赖语义嵌入、关键词索引、混合检索流水线或仓库元数据来对候选技能进行排序。检索决定了哪些技能暴露给下游推理,因此直接影响规划器的决策空间。

检索到的候选技能随后在选择阶段接受评估。此时,规划组件结合用户目标与各检索技能的元数据进行推理,以确定应执行哪个工作流。由于规划器几乎完全依赖描述性元数据,而非观察实际运行时行为,错误或故意误导的描述可能显著影响选择过程。

选定后,工作流进入执行阶段。技能调用一个或多个能与外部资源(如本地文件系统、编程环境、数据库或网络服务)交互的可执行工具。与前几个阶段不同,执行会产生可观测的副作用,并累积可能影响后续推理或未来工具调用的运行时状态。因此,执行安全不仅要考虑单个工具调用,还需关注跨多步工作流的信息流。

最后,技能通过持续更新、版本变更、依赖修改、元数据修订与权限调整经历演化。与传统软件包不同,演化的技能可能在未经人工明确审查的情况下被纳入未来的智能体执行,导致初始发布时建立的信任与当前行为逐渐脱节。

这六个阶段共同描述了现代智能体系统中可复用程序性知识流转的完整操作生命周期。

3.3 威胁模型

我们考虑一类攻击者,其目标是通过利用技能生态而非底层语言模型,操纵智能体执行非预期行为。

攻击者可以发布恶意技能、修改现有构件、操纵语义元数据、分发投毒更新,或利用语义检索机制。我们假设底层 LLM、嵌入模型、执行运行时与操作系统功能正常,且不受攻击者控制。我们的目标是隔离由可复用技能生命周期管理引入的特定漏洞。

Agent Skill Security:威胁模型、攻击、防御与评估

图 1:​ 可复用智能体技能的生命周期,展示了 SkillSec-Eval 中评估的信任边界序列及对应的威胁分类体系。

3.4 生命周期威胁分类体系

为实现系统评估,我们根据攻击所违反的信任边界对应的生命周期阶段对攻击进行分类,如图 1 概要所示,并在表 1 中详述。

编写阶段

攻击者在发布前构造恶意技能。代表性攻击包括:与宣传功能不一致的隐藏指令、欺骗性元数据、请求超出广告任务所需权限的权限膨胀,以及恶意工作流构建。这些行为违反了“编写的规范忠实于运行时行为”的假设。

存储阶段

存储攻击在技能被智能体检索前破坏仓库完整性。我们考虑三类结构性攻击与三类语义攻击。

结构性攻击包括:

  • 缺失签名:发布无有效开发者签名的技能。

  • 篡改载荷:在签名后修改可执行工作流内容,导致哈希不匹配。

  • 版本回滚:用旧的、已签名但存在漏洞的版本替换已修补的技能。

语义攻击包括:

  • 权限膨胀:请求与宣传功能不符的权限。

  • 元数据欺骗:在展示良性元数据的同时嵌入恶意工作流指令。

  • 隐藏提示注入:嵌入旨在执行期间操纵下游 LLM 推理的指令。

检索阶段

检索攻击操纵语义排序算法,提高恶意技能出现在提交给规划器的候选集中的概率。

我们评估四类代表性攻击:

  • 关键词堆砌:通过插入大量目标领域关键词人为提高嵌入相似度。

  • 语义伪装:将恶意行为嵌入语义一致的描述中,以保持检索相关性。

  • 女巫发布:发布同一恶意能力的多个语义相似变体,以提高仓库可见度。

  • 触发器投毒:引入特定触发短语,旨在针对特定用户查询激活检索。

每种检索攻击均在朴素实现与 LLM 辅助对抗优化两种设置下进行评估。

选择阶段

选择攻击假设恶意技能已进入规划器的候选集。由于规划器通常仅基于元数据进行推理,而非可执行工作流,攻击者试图通过呈现层欺骗来操纵规划器。

代表性攻击包括:

  • 规划器欺骗:呈现与良性竞争者难以区分的元数据,依赖规划器的随机偏好。

  • 虚假推荐:注入伪造的信任指标、认证、评分或背书。

  • 误导性描述:宣传误导性属性,如声称执行更快或仅本地处理,尽管存在不安全行为。

  • 权限欺骗:声明少于工作流实际所需的权限。

  • 提示注入:嵌入旨在影响规划器推理或强制工具选择的自然语言指令。

执行阶段

执行攻击发生在技能被选定时,聚焦于未授权的运行时行为。

评估的攻击类别包括:

  • 不安全组合:将多个单独良性的技能组合成不安全的多步工作流。

  • 未授权工具调用:调用所选技能清单未授权的工具。

  • 信息流违规:在可信与不可信执行上下文之间传输敏感信息。

  • 数据外泄:在将敏感数据传输至外部目的地前对其进行变换,以规避运行时监控。

演化阶段

演化攻击利用了技能在部署后仍持续演化,同时保留先前版本积累信任的事实。

代表性威胁包括:

  • 权限提升:后续版本请求超出原始安全假设的额外能力(如网络访问或 Shell 执行)。

  • 指令注入:在保持外部描述不变的前提下,向原本可信的技能中引入恶意提示或执行逻辑。

  • 工具替换:更新时用权限更高或潜在危险的工具替换或增强良性工具,改变技能的有效行为。

  • 依赖项沦陷:可信技能通过更新期间引入的已沦陷或不可信第三方依赖继承恶意行为。

  • 发布者或来源沦陷:攻击者冒充合法维护者,或滥用已沦陷的发布者凭证分发恶意技能更新。

这些威胁类别共同覆盖了可复用智能体技能的完整操作生命周期,构成了第 4 节中基于边界评估的实验基础。

表 1:生命周期威胁分类体系

生命周期阶段

信任假设

代表性威胁

代表性防御

编写​

技能规范准确反映预期行为与所需能力。

隐藏指令、欺骗性描述、元数据投毒、权限膨胀、不安全工作流构建

静态技能验证、元数据一致性分析、策略检查

存储​

仓库包含真实、未被篡改且已授权的技能。

未授权插入、来源伪造、元数据篡改、依赖投毒、版本回滚

数字签名、来源验证、完整性校验、依赖验证

检索​

检索到的技能既语义相关又值得信赖。

嵌入投毒、关键词堆砌、检索碰撞、排名操纵、女巫发布

信任感知检索、声誉感知重排序、检索过滤

选择​

规划器选择的技能其元数据忠实反映其行为。

规划器欺骗、误导性描述、能力欺骗、权限欺骗、提示注入

元数据验证、能力验证、权限一致性检查

执行​

选定的工作流仅执行授权操作,且不滥用中间状态。

不安全组合、权限提升、未授权工具调用、信息流违规、数据外泄

运行时监控、污点追踪、最小权限强制、策略检查

演化​

技能更新在各版本间保持完整性、行为与可信度。

权限提升、指令注入、工具替换、依赖沦陷、发布者沦陷

更新验证、行为一致性分析、来源验证、依赖验证

3.5 信任边界

提出的生命周期引入了一系列信任边界,任何技能在产生可观测效应前都必须穿越这些边界。每次转换都假定前一阶段产生的信息是正确的。当对抗性信息在未经验证的情况下穿越一个或多个此类边界,导致早期阶段建立的错误假设传播至运行时行为时,便会发生安全故障。


4 SkillSec-Eval 框架

为系统评估该生态,我们开发了 SkillSec-Eval,一个全生命周期感知的评估框架。SkillSec-Eval 不将 LLM 智能体视为单一系统,而是将流水线分解为独立阶段,允许漏洞与防御被隔离评估。

第 3 节介绍的生命周期包含六个阶段。由于技能编写发生在托管运行时之外且早于仓库提交,SkillSec-Eval 始于外部编写的技能进入生态的仓库边界。因此,该框架由五个对应于受管生命周期阶段的操作组件构成:仓库准入、语义检索、LLM 规划器、运行时执行与技能演化。

4.1 技能表示

在整个框架中,每个技能均使用第 3 节引入的抽象表示:

Agent Skill Security:威胁模型、攻击、防御与评估

其中 M表示语义元数据,W表示可执行工作流,P指定请求的权限,T表示底层可执行工具,V捕获来源与版本信息。

在 SkillSec-Eval 中,该抽象被实例化为一个包含四个组件的结构化清单。

为在现有智能体框架间提供统一抽象,我们将每个技能建模为包含四个逻辑组件:

  • 结构元数据:捕获仓库级信息,用于建立真实性并在整个生命周期内管理技能。典型字段包括发布者身份、数字签名、版本标识符与依赖信息。

  • 语义元数据:通过自然语言名称、描述、标签或示例用法描述技能暴露的能力。检索机制与规划器在选择候选技能时主要消费这些字段。

  • 权限清单:指定执行期间所需的资源与能力,包括文件系统访问、网络通信、Shell 执行、数据库操作或外部服务访问。

  • 行为定义:描述技能的可执行功能。根据框架不同,这可能包含提示指令、可执行代码、API 规范、工作流图,或带有执行逻辑的工具调用序列。

将语义描述与可执行行为分离,使得不同的生命周期阶段可以对同一技能的不同视图进行操作。

4.2 仓库准入

仓库准入在技能可供检索前建立信任根。在 SkillSec-Eval 中,每个提交的技能都通过一个混合准入控制器,该控制器由确定性结构验证与语义一致性分析组成。结构阶段验证模式合规性、加密签名、载荷完整性、来源、依赖元数据与版本谱系;语义阶段则使用基于 LLM 的验证器,核验可执行工作流、语义元数据(如自然语言描述)与请求权限之间是否相互一致。任一阶段失败的技能将在进入仓库前被拒绝。这种实现支持对仓库级攻击(包括未授权插入、来源伪造、元数据篡改、依赖投毒与恶意更新)的受控评估。

4.3 语义检索

被接受的技能在 FAISS 向量索引中使用稠密嵌入建立索引。给定用户请求,余弦相似度从包含多个语义相似良性技能的仓库中检索 Top-k候选技能,迫使恶意技能与现实的替代方案竞争,而非孤立样本。在候选技能转发给规划器之前,验证器执行三项一致性检查:首先,语义多样性过滤移除重复或近乎相同的检索技能,缓解女巫式发布攻击;其次,元数据一致性验证检测可执行行为与广告宣传描述之间的差异,例如未在语义元数据中反映的隐藏网络操作;第三,权限一致性验证确保请求的权限能被技能元数据中描述的能力明确证明。这种分离允许独立评估检索鲁棒性与检索特定防御。

4.4 LLM 规划器

规划器接收用户请求及检索到的候选技能,并选择要执行的工作流。由于规划器决策几乎完全依赖自然语言元数据,该边界自然成为语义操纵与社会工程攻击的目标。在候选技能提交给规划器之前,SkillSec-Eval 应用一个元数据验证层,在不修改可执行工作流的前提下净化规划器可见的元数据。验证器移除描述中嵌入的提示注入模式,规范化伪造的推荐或声誉声明,核验宣传能力与请求权限之间的一致性,并确保规划器决策基于经过验证的元数据。这使得元数据操纵与规划器欺骗攻击的隔离评估成为可能。

4.5 运行时执行

选定的工作流在一个沙盒化运行时中执行,该运行时中介每一次工具调用。与前几个阶段不同,运行时安全是针对实际执行行为而非元数据强制实施的。SkillSec-Eval 采用动态污点追踪与策略强制相结合的方法,监控跨多步工作流的信息流。在每次工具调用前,运行时根据当前执行上下文验证请求权限,并阻断未授权操作、权限提升或将敏感数据传输至不可信接收端的行为。该执行监控器提供了评估涉及不安全组合与信息外泄的运行时攻击所需的可观测行为。

4.6 技能演化

技能演化捕捉了可复用技能通过版本更新、依赖变更、元数据修订与权限修改发生的持续变化。SkillSec-Eval 不假设信任在发布后持续存在,而是将更新建模为重新进入仓库准入流水线。每个新版本在被现有技能替换前,都会重新验证其来源、完整性、版本谱系、依赖变更、语义一致性与权限修改。显式建模演化阶段为研究长期攻击(如恶意更新、依赖沦陷、版本漂移与信任衰减)奠定了基础。


5 实验设置

本节描述用于评估第 4 节介绍的面向生命周期攻击及相应防御的实验方法。我们不报告单一的端到端安全指标,而是在对应的生命周期边界独立评估每种攻击。这种设计隔离了个体攻击与防御的有效性,同时最小化了下游组件引入的混淆效应。

我们的评估围绕五个研究问题展开:

  • RQ1:尽管存在供应链式攻击,仓库准入机制能否阻止恶意技能进入仓库?

  • RQ2:面向检索的攻击能否操纵语义搜索?检索验证机制在防止恶意技能被检索方面的有效性如何?

  • RQ3:LLM 规划器对操纵后的技能元数据有多脆弱?元数据验证能否降低恶意技能被选中的概率?

  • RQ4:运行时监控能否检测并防止执行期间的不安全多步工作流组合与信息流违规?

  • RQ5:最小权限强制能否防止权限过高的技能在执行期间滥用权限?

5.1 技能仓库

我们使用来自 SkillMCP 仓库(skillmcp2025)的公开技能作为良性工作流的基础,构建了一个受控技能仓库。经过滤重复与不完整条目后,仓库包含 327 个良性技能,涵盖 15 个技能集群。这些集群覆盖基础设施管理、DevOps 自动化、软件工程、云运维、数据工程、数据库优化、安全合规、生产力自动化与项目管理。关于每个类别的更多细节见附录 A。每个集群有意包含多个实现重叠功能的语义相似技能,形成密集的检索邻域,要求检索器与规划器在竞争候选者中进行区分。各能力集群的技能数量在 20 到 25 个之间。

5.2 攻击生成

根据第 3 节引入的威胁分类体系,为每个生命周期边界独立生成攻击实例。

仓库准入攻击包括六类针对仓库完整性与元数据一致性的结构性与语义攻击。检索攻击通过自动转换良性技能为对抗性变体生成,采用关键词堆砌、语义伪装、触发器投毒与女巫式克隆策略。

规划器攻击仅修改暴露给 LLM 规划器的元数据,同时保持可执行工作流不变,从而将规划器漏洞与运行时行为隔离开来。这些攻击包括虚假推荐、误导性描述、权限欺骗、规划器欺骗与提示注入。

执行攻击构建利用未授权工具调用、不安全工作流组合、权限滥用与运行时信息流违规的多步工作流。

演化攻击通过代表性供应链场景(包括恶意更新、依赖沦陷、版本回滚、信任衰减与被遗弃维护者)评估技能更新的安全性,检验仓库重新验证能否在连续技能版本间保持信任。

5.3 实验配置

仓库准入实验评估三种对应不同防护级别的配置:无防御基线、基于规则的准入流水线,以及结合静态分析与基于 LLM 语义验证的所提混合准入防御。

语义检索使用 all-MiniLM-L6-v2 句子嵌入模型生成 384 维向量表示,并使用 FAISS FlatL2 索引。检索引擎最初返回 Top-50 最近邻,随后所提检索验证防御在生成最终提交给规划器的 Top-5 技能前进行过滤。评估使用覆盖全部 15 个能力领域的 440 条基准查询。

规划器实验采用 Gemini 3.1 pro 作为规划模型。对于每个查询,规划器接收用户请求及 Top-5 候选技能,并仅基于语义元数据与声明的权限选择单一工作流。规划器实验比较基线选择与所提元数据验证防御。

运行时实验使用所提 LifecycleGuard 运行时监控器评估工作流执行,该监控器实现了动态污点追踪与策略强制。运行时监控在执行前拦截每一次工具调用,同时追踪跨组合工作流的敏感信息。

5.4 评估指标

每个生命周期边界均使用适合其操作目标的指标进行评估。

仓库准入使用恶意准入率(MAR)评估,定义为成功进入仓库的恶意技能百分比,同时使用平均准入延迟。

检索鲁棒性使用攻击成功率(ASR)、归一化折损累计增益(nDCG@5)以及 Top-5 检索候选中出现的恶意技能平均数量进行评估。

规划器鲁棒性使用规划器选择攻击成功率衡量,定义为规划器从检索到的 Top-5 技能中选择恶意技能的查询百分比。

运行时安全性使用执行攻击成功率、策略违规检测率、污点传播准确率以及被阻断的工具调用总数进行评估。


6 评估

6.1 实验 I:仓库准入

首个实验评估仓库准入边界,攻击者在此阶段试图在恶意技能可供未来检索前将其发布至中央仓库。

我们评估了第 3 节分类体系中对应的六类代表性攻击。

我们比较了三种仓库准入防御配置:

  • 仅规则:执行结构验证,包括签名验证、载荷哈希验证、版本一致性检查、权限验证,以及基于正则表达式匹配可执行指令的规则式不安全执行模式检测。

  • 仅语义:绕过结构规则,直接将技能提交给基于 LLM 的语义验证器,该验证器联合分析可执行指令、元数据描述与请求权限,判断声明功能是否匹配预期行为。

  • 所提防御(混合):在规则库验证基础上扩展语义意图验证。通过结构验证的技能被提交给基于 LLM 的语义验证器,结合了两种方法的优势。

指标

仓库鲁棒性使用恶意准入率(MAR)衡量,定义为成功进入仓库的恶意技能百分比。开发者摩擦使用误报率(FPR)衡量,代表被防御机制错误拒绝的良性技能百分比。

表 2:仓库准入性能。MAR 与 FPR 越低越好。

防御架构

MAR (%)

FPR (%)

仅规则

52.9

0.0

仅语义

42.9

20.0

所提防御(混合)

7.9​

20.0

表 2 详述了仓库准入结果。“仅规则”结构验证通过成功检测畸形载荷与无效签名,将恶意准入率(MAR)降至 52.9%。然而,它无法抵御那些保持语法有效但同时操纵语义意图的攻击(如元数据欺骗)。引入基于 LLM 的语义验证器(混合防御)后,通过联合分析可执行指令与声明权限以检测欺骗行为,MAR 显著降至 7.9%。结果表明,虽然结构检查能防范传统完整性违规,但应对现代智能体供应链攻击必须使用 LLM 意图验证。尽管如此,残留的 7.9% MAR 与 20.0% 误报率凸显了基于 LLM 安全的内在权衡:它对语义防御是必要的,但也引入了开发者摩擦,且仍易受高度复杂的零日规避攻击影响。

6.2 实验 II:语义检索

第二个实验评估语义检索边界,攻击者在此阶段操纵嵌入空间以提高恶意技能被智能体检索的概率。我们评估了第 3 节介绍的四种代表性检索攻击。

基线

基线采用标准的 FAISS FlatL2 检索流水线,使用 all-MiniLM-L6-v2 编码器。检索引擎直接从向量空间提取 Top-5 最近邻提交给规划器,无任何二次过滤。

所提防御

所提检索验证层在向量检索之后、规划器选择之前运行。验证层执行三个验证步骤:

  1. 语义多样性过滤:通过计算指令相似度移除近似重复的候选技能。可执行指令与已保留候选相似度超过 85% 阈值的技能将被丢弃,以缓解大规模女巫攻击。

  2. 元数据一致性验证:对比可执行指令与自然语言描述。若指令调用了网络通信或外部进程执行等潜在危险操作,但未在描述中相应披露,则该技能被拒绝。

  3. 权限一致性验证:确保请求的特权权限能被技能的语义描述明确证明。请求敏感权限但缺乏匹配能力描述的技能将从候选集中移除。

指标

检索鲁棒性使用三个互补指标评估:

  • 攻击成功率(ASR):至少一项恶意技能出现在 Top-5 检索候选中的评估查询百分比。

  • nDCG@5:衡量恶意技能在检索列表中的排名质量。

  • Top-5 中平均恶意数:提交给规划器的候选集中恶意技能的平均数量。

表 3:应用所提检索验证层前后的检索阶段攻击评估。所有指标均为越低越好。

威胁类别

ASR (%)

nDCG@5

Avg. Malicious

基线

防御

基线

防御

基线

防御

关键词堆砌

46.59

7.83​

0.187

0.091

0.38

0.12

语义伪装

61.14

9.82​

0.205

0.117

0.42

0.14

触发器投毒

31.82

17.50​

0.299

0.133

0.50

0.17

女巫攻击(15 克隆)

93.20

26.59​

0.742

0.223

2.84

0.27

表 3 表明,无防御的语义检索极易受“智能体 SEO”攻击。若无过滤,攻击者轻易主导规划器上下文;仅女巫攻击在 Top-5 集合中平均就有 2.84 个恶意克隆(ASR 93.20%)。所提检索验证层显著缓解了这些威胁。关键词堆砌与语义伪装的 ASR 降至 10% 以下,而语义多样性过滤成功阻止了女巫克隆淹没上下文窗口(平均恶意工具数降至 0.27)。然而,触发器投毒与女巫攻击仍取得部分成功(防御后 ASR 分别为 17.50% 与 26.59%)。这揭示了一个根本局限:这类攻击利用的是向量空间的数学密度,而不仅仅是元数据不一致。因此,检索后过滤本身无法提供完整的零日安全;它必须作为一种概率过滤器,辅以严格的规划器与运行时防御。

6.3 实验 III:规划器选择

第三个实验评估针对规划器边界的攻击。检索后,规划器接收一小部分候选技能及其自然语言描述与权限清单,并必须选择最合适的技能执行。由于可执行工作流被有意排除在规划器上下文之外,选择决策几乎完全依赖自然语言元数据,使得规划器易受语义操纵。我们评估了第 3 节介绍的五种规划器攻击。

  • 规划器欺骗:呈现看似合法的描述,同时隐藏恶意可执行行为。

  • 虚假推荐:附加“官方技能”等伪造声誉指标以提高感知可信度。

  • 误导性描述:谎称良性本地执行,同时请求启用网络的权限。

  • 权限欺骗:操纵元数据以隐藏敏感权限请求。

  • 提示注入:在技能描述中嵌入对抗性指令以影响规划器推理。

基线

基线规划器采用零样本配置的 Gemini 1.5 Flash。规划器接收用户查询及 Top-5 检索候选技能,并返回所选技能的索引。

所提防御

在调用规划器前,所提元数据验证层净化候选集。提示净化使用 LLM 移除已知提示注入模式。元数据规范化消除伪造的推荐指标与营销话术。能力验证核验描述与可执行意图的一致性,而权限验证确保规划器推理基于经过验证的权限清单,而非攻击者控制的元数据。

指标

规划器鲁棒性使用规划器攻击成功率(Planner ASR)衡量,定义为在评估查询中,规划器从检索到的 Top-5 技能中选择恶意候选的百分比。

表 4:元数据验证前后的规划器鲁棒性。越低越好。

攻击类型

基线

所提防御

虚假推荐

45.64

8.72​

误导性描述

27.27

0.00​

权限欺骗

11.36

5.68​

规划器欺骗

9.88

2.47​

提示注入

4.69

3.65​

表 4 展示了规划器评估结果。虚假推荐取得了最高的基线攻击成功率(45.64%),表明尽管对齐技术有所进步,现代 LLM 规划器仍极易受社会认同线索影响。相比之下,提示注入表现出最低的基线成功率(4.69%),暗示指令微调模型已具备相当强的抵抗直接提示覆盖尝试的鲁棒性。

应用所提元数据验证层后,各类攻击下的规划器鲁棒性均显著提升。误导性描述攻击通过能力验证被彻底消除,而虚假推荐攻击减少了 80% 以上。规划器欺骗与权限欺骗也因不一致元数据在规划器推理前被移除而显著降低。

这些结果表明,规划器漏洞主要源于有说服力的自然语言元数据,而非底层语言模型的缺陷。因此,在规划器执行推理前对候选元数据进行预处理,通过减少语义操纵机会,提供了一种有效的防御手段。

6.4 实验 IV:运行时执行

本实验评估仅在工作流执行期间显现的攻击。与仓库准入、检索或规划器选择不同,这类攻击源于工作流选定后多个单独良性技能的相互作用。因此,防范此类攻击需要观察具体执行行为,而不能仅依赖静态元数据或语义推理。

我们评估了三类代表性执行时攻击:未授权工具调用、信息流违规与不安全多步工作流组合。基线系统在无运行时监控下执行工作流,而所提防御在每次工具调用时结合动态污点追踪与策略强制。

执行安全性使用三个指标评估:(i)执行攻击成功率(Execution ASR),定义为成功抵达最终特权接收端的攻击百分比;(ii)策略违规检测率,衡量运行时监控拦截的未授权操作比例;(iii)污点传播准确率,衡量敏感信息是否能正确跨中间工具输出追踪。

表 5:运行时执行结果。

配置

执行 ASR

策略阻断率

污点准确率

基线

100.0

NA

NA

所提防御

23.0​

87.0​

66.67​

表 5 表明,运行时监控是防御组合攻击的关键最后防线。在无防御基线中,100% 的评估攻击成功抵达特权接收端(执行 ASR 100.0%)。这是因为标准 LLM 智能体框架对执行环境存在隐式信任;若无运行时守卫,没有任何检查能阻止模型 indiscriminately 将敏感状态传递给外部网络接收端或调用高风险命令。

通过在工具调用前立即强制执行访问策略,所提防御成功阻断了绝大多数未授权工具执行(策略阻断率 87.0%)。然而,防御仅达到 66.67% 的污点准确率,导致 23.0% 的执行 ASR。这暴露了将传统动态污点追踪应用于 LLM 工作流的根本局限。当攻击者指示 LLM 在内部转述或总结敏感数据时,严格的基于字符串的污点标记就会丢失。由于 LLM 的内部上下文窗口充当了不受监控的隐式流,转述后的外泄成功绕过了运行时守卫。这一实证发现证实,虽然运行时守卫能有效拦截显式规则违规,但通过非确定性 LLM 追踪信息流仍是一个开放性挑战,需要引入 NLP 感知的污点传播机制。

6.5 实验 V:技能演化安全

本实验评估技能演化边界,攻击者在此阶段利用积累的信任,通过版本更新引入恶意载荷或依赖项。我们评估了五类攻击:权限提升、指令注入、工具替换、依赖沦陷与发布者仿冒。

基线

基线代表对技能更新的无审核摄入,完全依赖技能初次入库时建立的信任。

所提防御

所提防御是一条持续验证流水线,将每一次更新视为一次新的准入事件。首先,它通过验证发布者来源与限制包导入来执行规则约束。其次,它通过测量原始指令与更新后指令之间的向量距离,开展语义行为一致性分析,对显著的功能偏离进行标记。

指标

鲁棒性通过以下指标评估:更新接受率(UAR)(针对被允许的良性更新)、恶意检测率(MDR)、代表开发者摩擦的误报率(FPR),以及针对漏网攻击的漏报率(FNR)。

表 6:使用所提防御对技能演化安全性的评估。

配置

UAR (%)

MDR (%)

FPR (%)

FNR (%)

所提防御

63.0

92.5

37.0

7.5

无监管的演化是一项关键漏洞;若无持续验证,100% 的恶意更新都能成功继承既有信任并绕过初始防御。

如表 6 所示,通过将每一次更新视为新的准入事件,我们的防御通过强制执行元数据约束与语义一致性阈值,成功拦截了绝大多数恶意更新(MDR 达 92.5%)。高度复杂的“指令注入”攻击偶尔会低于向量距离阈值,导致 7.5% 的漏报率(FNR)。此外,这种安全性是以开发者摩擦为代价的。激进但良性的开发者重构经常触发余弦相似度的行为边界,导致 37.0% 的误报率(FPR),并将 UAR 拉低至 63.0%。这凸显了持续验证中固有的权衡:要实现稳健的零日规避抗性,就需要严格的行为边界,而这不可避免地会将合法的代码结构修改标记为需人工复核,同时仍偶有疏漏极细微的规避手段。

上述结果表明,单一防御措施不足以保障可复用智能体技能的安全。由于高级攻击(如“语义污点逃逸”)可能绕过个别语义或运行时过滤器,每个生命周期边界应对的是截然不同的攻击面。移除任一防御环节,都会暴露出仅靠后续阶段无法可靠缓解的漏洞。


7 局限性

SkillSec-Eval 存在若干局限性,也为未来研究指明了方向。涉及依赖演化与信任衰减的纵向攻击需要长期的仓库历史记录,这超出了本工作的范围。

其次,尽管仓库构建自真实世界的技能,但它代表的是受控的评估环境,而非生产级部署。真实的智能体生态可能包含规模大得多的仓库、异构的技能格式,以及框架特定的执行语义,这些都会引入额外的安全挑战。

最后,我们的评估聚焦于可复用技能这一核心分析单元。我们没有研究源自底层 LLM 本身的攻击,包括模型越狱、源自用户输入的提示注入或对抗性微调。这些威胁与本文关注的面向生命周期攻击互为补充,值得进一步深入研究。


8 结论

可复用技能正迅速成为构建高性能 LLM 智能体的核心抽象,但其安全性在很大程度上仍仅停留在提示注入与运行时执行层面进行研究。本文提出的 SkillSec-Eval 是一个全生命周期感知的框架,用于系统评估可复用技能全生命周期中的安全风险。通过刻画覆盖仓库准入、语义检索、规划器选择、执行及技能演化各环节的代表性威胁,我们证明了重要的攻击面在工作流执行前早已形成。

我们在真实技能仓库上的实证评估表明,漏洞遍布多个生命周期阶段,这强调了安全机制必须超越单纯的运行时防护。我们希望 SkillSec-Eval 能为未来关于安全智能体生态、全生命周期感知的评估方法学以及可复用智能体技能的可信部署研究,提供有益的基础。

© 版权声明

相关文章