系统:运行中
← 返回所有攻击
SUPPLY CHAIN MEDIUM NEW

Agent 技能的攻击面覆盖整个生命周期,而不只是运行时

2026 年 7 月的一项研究将 agent 技能风险映射到五个阶段——准入、检索、规划器选择、执行、演化——并表明大多数防御只守住其中一个。

2026-07-18 // 6 min affects: claude-code, cursor, openclaw

What is this?

「Agent 技能」是可复用的能力包——一个用自然语言写指令的 SKILL.md 文件,外加可选脚本——由 LLM agent 检索并执行以完成某项任务。以往的安全工作大多集中在两点:指令内部的提示注入,以及代码执行时的行为。2026 年 7 月 15 日发布的一项研究——Sanket Badhe 与 Priyanka Tiwari 的 Agent Skill Security: Threat Models, Attacks, Defenses, and EvaluationarXiv:2607.13987)——认为这一视角过于狭窄。它提出了 SkillSec-Eval,一个关注生命周期的框架,将技能生态拆解为五个操作边界——仓库准入、语义检索、规划器选择、执行与技能演化——并在对 327 个真实技能的实证评估中发现,可利用的弱点出现在每一个阶段,而不仅仅在运行时。

实际的要点是:一个技能作为源代码本身可能无害,却仍会因为它何时被选中以及它随时间如何变化而造成危害。只守住执行这一步,会让另外四个阶段无人监控。

How it works

沿着生命周期走一遍,就能看清盲点。每个边界都是攻击者对技能的控制可能与扫描器或审查者上次检查结果发生偏离的地方。

仓库准入。 公共技能注册表通常只需一个 SKILL.md 和一个新账户即可提交,没有签名,也没有审查。这是供应链文献覆盖得最好的阶段,也是恶意软件与仿冒(typosquatting)条目进入池子的入口。

语义检索。 agent 很少加载全部技能;它按用户任务与每个技能的自我描述之间的嵌入相似度来检索候选。因此,一个描述被刻意写得能匹配大量任务的技能,可能会为它本不该处理的请求而被检索出来——这相当于检索层面的 SEO 投毒,撬动它的杠杆是元数据而非代码。

规划器选择。 检索出候选短名单后,由规划模型决定实际调用哪个技能,同样高度依赖名称和描述。貌似合理却具误导性的命名,可能把这一选择偏向攻击者的包,而非合法技能。

执行。 熟悉的运行时阶段:被选中的技能以 agent 的全部权限运行——shell、文件系统、环境变量与凭据文件、出站网络。载荷最终在此发挥作用。

技能演化。 技能会更新。一个在版本 1 经过审查并受信任的包,之后可能被悄悄改写(「rug pull」),或在运行时从攻击者控制的 URL 拉取其真正的指令:通过审查的产物并不是实际运行的产物。

以上任何一个阶段都不需要新颖的利用原语。该框架要说明的是:在准入或扫描时做出的信任决定,并不会自动延续到检索、选择或更新之后。

Why it matters

Agent 技能如今嵌入到被大量开发者使用的编码助手和个人 agent 之中,而工具链反映了「执行优先」的假设:沙箱约束技能运行时的行为,静态扫描器在安装时检查 SKILL.md。两者都值得拥有,但两者都对选择与演化视而不见。一个技能可以通过安装时扫描,然后凭一段精心编写的描述被提拔进任务,或在赢得信任之后发生变异。把问题当作「这个文件现在是否恶意?」,就会漏掉「这个文件会不会被选中,它还是我批准过的那个吗?」——这正是为何对任何从共享技能池取用的 agent 运营者而言,生命周期视角都很重要。

Defenses

不存在单一控制;请把防御对应到每一个边界。

准入。 优先选择签名的技能发布和经过审查的作者。2026 年 4 月 27 日发布的 OWASP Agentic Skills Top 10 建议把每次发布都当作可用密码学验证的事件(例如 Merkle 根签名),并配合注册表扫描。拒绝一周龄的账户、仿冒名称和被重新发布的标识符。

检索。 把技能的描述与元数据与其代码分开审查,因为描述驱动选择。将检索语料限制为经过审查技能的允许列表,而非开放市场。

选择。 让暴露的技能集合保持最小且最小权限。把新选中技能的调用置于一个审批步骤之后,而不是自动运行,使被错误选中的包无法悄无声息地行动。

执行。 隔离技能执行,以最小权限运行 agent,并约束出站流量,使被攻陷的技能无法到达外泄端点。把 SKILL.md 当作不可信指令:不要听从一个要求 agent 关闭安全检查、解码并运行不透明数据块或执行 curl | bash 的技能。

演化。 固定版本,在每次更新时重新扫描,检测运行时的指令拉取,并监控行为漂移,使一个发生变化的受信任技能被重新评估,而不是被默认沿用。

Status

项目详情
主要来源Agent Skill Security,arXiv:2607.13987 [cs.CR],2026 年 7 月 15 日
框架SkillSec-Eval——五个生命周期边界;对 327 个真实技能的实证评估
参考标准OWASP Agentic Skills Top 10,2026 年 4 月 27 日
相关分类法Towards Secure Agent Skills,arXiv:2604.02837
范围Agent 技能生态(Claude Code、Cursor、OpenClaw 等)
状态系统化 + 评估;防御是覆盖整个生命周期的流程,而非单一补丁

Sources