大数跨境

无注册中心的 Agent 技能供应链:溯源、风险与审计策略

无注册中心的 Agent 技能供应链:溯源、风险与审计策略 苏哲管理咨询
2026-11-08
0
导读:该论文针对 GitHub 上 AI 编码智能体的SKILL.md技能生态开展大规模实证研究。开发者多直接复制共享技能,形成无注册中心、无版本、无溯源的特殊软件供应链
编者摘要:该论文针对 GitHub 上 AI 编码智能体的SKILL.md技能生态开展大规模实证研究。开发者多直接复制共享技能,形成无注册中心、无版本、无溯源的特殊软件供应链。研究基于 Git 历史构建带时间戳的技能复制传播网络(称为技能星群),覆盖超 219 万次技能采纳。研究发现技能扩散集中于少数源头仓库,GitHub 标星数无法识别高危传播源;仅有 20.9% 副本跟随源仓库接收安全修复,跨所有者副本几乎不会同步更新漏洞补丁。副本新增高危能力大多来自直接拷贝外部版本,而非自身编辑。基于复制网络的审计模型,审核前 100 个关键源头可阻止 14.9% 高风险技能扩散,远高于标星排序的 0.5%。论文建议平台改用带版本引用分发技能,安全审计应当依据复制传播出度而非点赞标星,同时新技能有数周的安全处置窗口期。

10 个关键问题问与答

  1. Q:什么是 Agent 智能体技能?
    A:带 SKILL.md 的文件夹,给 Claude Code 等 AI 编码 Agent 执行,可运行 shell、读写文件、访问网络。
  2. Q:什么叫 “技能星群”?
    A:单个技能从起源向外扩散的、带时间戳的复制级联网络。
  3. Q:技能供应链最大安全痛点是什么?
    A:靠复制传播,没有注册中心、版本锁、溯源链路,补丁很难自动同步下游。
  4. Q:技能主要是单个拷贝传播吗?
    A:不是,大多是批量 / 整目录复制,很少单独采纳单项技能。
  5. Q:GitHub 标星能否定位高危传播源?
    A:不能,标星与复制传播出度弱相关,大量顶级源头仓库几乎无星。
  6. Q:源仓库修复漏洞,下游副本会同步更新吗?
    A:极少,仅 20.9% 副本跟随源更新;跨所有者副本几乎不会同步补丁。
  7. Q:副本高危能力从哪里来?
    A:大多是直接采纳外部其他技能版本,不是仓库拥有者手动编辑增加风险。
  8. Q:哪种审计策略效果最好?
    A:基于复制网络模型排序;审计 Top100 源头,阻止 14.9% 高危采纳;标星 Top100 仅 0.5%。
  9. Q:安全人员有多长干预时间?
    A:新技能第一周扩散范围有限,有数周的窗口期开展审查处置。
  10. Q:论文给平台的核心建议?
    A:不要分发原始副本,改用带版本的引用机制;校验技能调用工具和所属 Agent 匹配
附录 技能星群:追踪 GitHub 上智能体技能的供应链

法赫德・塞迪克 加拿大不列颠哥伦比亚大学奥肯那根校区 个人主页:fahdseddik.github.io/Skill‑Constellations 项目仓库:github.com/FahdSeddik/Skill‑Constellations 数据版本:data‑v1.0

图 1 技能星群。(a) 数据集快照下的仓库网络,标注了规模最大社区的主题。外圈包含 64.2% 的仓库,这些仓库不与其他仓库共享任何技能。(b)web‑design‑guidelines这项技能的复制级联传播过程:历经 12 代复制,共计 972 个采纳者。

摘要智能体技能是SKILL.md格式的指令与脚本文件,可供 Claude Code、Codex 这类 AI 编码智能体在用户权限下执行。开发者通过在不同仓库之间复制来共享技能,由此形成一套没有注册中心、没有版本管理、缺少来源溯源信息的软件供应链。因此,被复制技能的原始出处、安全修复的覆盖范围、需要重点审计的仓库都无从知晓。仅采集某一个时间点哪些仓库包含某项技能的快照类研究,无法揭示复制的来源流向。

本文构建了首个带时间戳的智能体技能复制网络:基于 GitSkills 数据集内全部SKILL.md文件的 Git 历史,覆盖 GitHub 上 2 193 119 次技能采纳行为,同时配套开发交互式可视化查看工具。研究发现:几乎绝大多数复制行为都源自少数仓库,而 GitHub 标星数无法识别这些关键源头仓库;技能副本几乎不会跟随源文件同步更新,因此源端的安全修复极少传导至下游副本。

本文拟合模型预测仓库会选择哪些源仓库进行复制,并利用该模型对仓库做审计优先级排序:审计该模型排名前 100 的仓库,可以阻止后续 14.9% 高风险技能被采纳;反观选取标星最高的前 100 仓库,仅能阻止 0.5%。该结果为安全工程师提供一份重点核查清单,在高危技能大规模扩散前开展处置。据此本文提出,平台应当分发带版本引用的技能,而不是直接分发副本文件。

索引词:智能体技能;AI 编码智能体;软件供应链;来源溯源;代码克隆;软件仓库挖掘

一、引言

Claude Code、Codex、Cursor 等编码智能体依靠技能扩展自身能力。技能是一类文件夹,其中包含SKILL.md指令文件,通常还附带脚本。智能体会以当前用户的权限执行技能,因此技能可以运行 Shell 命令、访问网络、修改本地文件。

该格式出现仅十个月,GitHub 上已有 259 596 个仓库,包含 1 612 846 项不同技能;GitHub 中半数SKILL.md文件都是其他文件的一字不差副本。这意味着技能形成了一套依靠复制实现分发的软件供应链:不存在记录来源的注册中心、无法锁定版本、也没有渠道推送安全补丁。

想要保障这条供应链的安全,就需要知道优先审计哪些仓库、源仓库的修复是否可以传递到副本、新技能扩散需要多长时间。普通包管理器依靠依赖图回答这些问题,但技能生态没有依赖图。

现有相关工作也无法解决上述问题:已有研究大多只做快照分析,或是仅研究单个技能、少数成对技能‑。快照只能记录某时刻哪些仓库拥有技能,却无法区分谁最先拥有、谁复制自谁、复制发生的时间。针对复制代码的相关研究同样存在局限:副本文件很少更新,也几乎不会标注原始来源‑。

本文从全部SKILL.md文件的 Git 历史中还原缺失的传播关系图,得到首个带时间、有向的智能体技能传播网络。我们将单个技能的全部复制传播级联网络称为 “星群(constellation)”(见图 1b)。快照只能捕获星群中的节点,只有版本历史才能还原节点之间的复制边。

本文研究四个研究问题:

  • RQ1:技能复制行为形成怎样的网络结构?哪些增长机制可以解释该网络?
  • RQ2:哪些仓库是技能扩散的源头?GitHub 标星数能否识别这些源头?
  • RQ3:高风险能力在复制网络中分布在哪里?安全修复能否传递到副本?
  • RQ4:应当把审计资源投向哪里,以阻止高风险技能后续被采纳?相比仓库流行度、仓库规模,网络位置是否是更好的判断指标?

图 2 源头高度集中。技能扩散主要依靠目录批量复制,而非个体单独采纳 (a);传播行为高度离散,离散系数\(k=0.086\)(b);前 1% 仓库贡献绝大多数传播行为(94.7%)(c);标星数和带时间的复制出度弱相关(肯德尔\(\tau=-0.10\))(d);复制出度可以捕获 27.8% 后续传播,而标星仅捕获 7.0%(e);绝大多数高影响力无标星源头属于普通项目(66.4%)(f)。

本文主要贡献如下:

  1. 构建带时间戳的智能体技能复制网络,每条复制边都关联对应的源仓库,并使用技能安装器的真实记录完成验证。
  2. 证实技能副本不会跟随源仓库同步变更;副本获得新能力不是靠仓库所有者自行编辑,而是直接采纳其他版本的技能文件。
  3. 拟合模型预测仓库选择复制源的行为;基于时间切分的测试集评估该模型指导审计的效果。现有安全研究侧重检测危险技能本身‑‑,而本文工作面向仓库审计优先级排序。

二、数据与方法

数据集与时间标定

本文使用 2026 年 7 月发布、存档于 Zenodo 的 GitSkills 数据集(DOI:10.5281/zenodo.21875637)。筛选条件:文件名严格为SKILL.md、文件头部元数据合法、首次提交不早于 2025‑10‑01,排除 Fork 派生仓库;将每一份不同内容视为一项独立技能。

我们拉取每个仓库默认分支,采集所有SKILL.md路径完整 Git 历史。采纳行为指某个仓库获得某一项技能,时间取该技能首次提交时间;同时不能早于仓库创建时间,因为 Fork 与镜像仓库会携带旧历史。

谱系、复制事件与技能星群

谱系(lineage):由编辑行为关联起来的同一技能的多个版本,谱系的第一次采纳即为该技能的起源。 当一次提交新增≥10 个SKILL.md文件,并且有一个更早采纳者已经拥有其中至少一半谱系,则判定这是一次复制事件,该更早采纳者即为复制源。复制文件数小于 100 记为批量包复制(bundle),≥100 记为大规模批量复制(bulk copy)。 传播(transmission):复制事件中,源仓库最先拥有的那部分技能谱系。其余采纳行为属于个体单独采纳。 技能星群(constellation):某一技能的扩散级联图;节点是采纳该技能的仓库,边是带时间戳的有向复制传播关系。

扩散模型与审计仿真

采用条件 Logit 模型,根据 “已持有技能数量、历史复制次数、标星数、仓库时长” 的对数特征,预测一次复制事件会选择哪一个更早的采纳仓库作为复制源。

每周仿真模拟个体采纳行为,采纳规模和当前采纳者数量的幂次成正比;使用 2026‑04‑01 之前的周数据完成模型校准。

采用时间切分方式评估审计效果:所有排序策略仅使用训练阶段数据;排序依据可以是本研究拟合得到的源选择得分,也可以是标星数、复制出度等基准指标。 审计某仓库等价于移除该仓库标记为高危的技能;可以阻止测试集时间段内该仓库产生的高风险采纳,以及所有从它衍生出来的下游复制。

验证与风险标记

在 1 534 个文件夹中,技能安装器记录了复制来源与复制时间。本研究复原的复制时间 94.6% 与真实记录相差不超过 7 天;99.1% 的情况下复原出的源仓库确实更早持有该技能。但我们的规则仅 26.7% 能命中安装器记录的 exact 源,原因是本算法优先选取拥有最多谱系的早期仓库(通常是汇总目录仓库)。因此本研究的源层面指标描述的是分发源头,不一定是技能的原始作者。

风险标记识别以下技能:捆绑可执行程序、预先授权工具、包含高危操作指令。

标注流程

使用 Claude Opus 5.5 与 Claude Sonnet 5.5,对随机抽样的 150 个源仓库做类型标注,对分层抽样的 200 个技能做三类风险标注。两个模型独立调用claude -p命令行,遵循统一标注手册,并且输出判定依据的原文行。

仓库类型分为:汇总目录仓库、模板启动项目、自我复制所有者、机器人生成仓库、协同仓库、普通项目。 两个模型对仓库类型的未加权科恩 κ=0.77;针对技能风险问题,κ 介于 0.66~1.00。所有不一致或模型拒判样本人工复核(18 个仓库、28 个技能),得到参考标注集。 在参考集上 Opus 模型仓库类型 κ=0.91,技能问题最低 κ=0.92,所有 95% 自举区间下界高于 0.6 阈值,之后使用 Opus 标注剩余 1 507 个源仓库。 早期仅靠仓库名、描述、技能名人工标注,与 Opus 一致性仅 κ=0.41,因此后续标注引入 README 和文件目录树信息。 图 1 (a) 中社区名称也由 Opus 基于特征词生成,不做人工对标。 针对 200 个技能样本,严格风险标记的精确率 98.3%,召回率 80.9%。

图 3 副本演化。任意时间窗口,仅有 11.1% 的修改会同步传播到该克隆分组全部副本 (a);跨所有者场景同步率几乎归零 (b);同一所有者会将同步变更发生概率提升 3.32 倍 (c);仅有 4.0% 谱系发生过一致性同步变更 (d)。副本更多是新增命令执行能力而非移除 (e);该能力增益不是来自所有者编辑,而是采纳外部其他版本 (f);快照会低估跟随源更新的比例,低估倍数达 3.3 (g);其他智能体文件夹内的技能经常引用仅 Claude Code 可用的工具 (h)。图中区间为 95% 自举置信区间。

三、实验结果

RQ1:网络结构与增长模式

绝大多数仓库不和其他仓库共享技能;剩余仓库形成 50 个规模≥100 仓库的社区,每个社区围绕一类主题组织(图 1a)。 技能很少被单个逐个复制;仓库更多采用批量包复制、大规模批量复制完整目录,而不是单独采纳某一项技能(图 2a)。优先依附效应主要发生在汇总目录仓库层面。 源选择模型显示:批量包复制行为倾向选择过去已经被多次复制过的源仓库,历史复制次数对数项系数为 1.64;个体技能层面的依附效应是次线性。该结论在复制事件判定阈值九种不同配置下都成立。

传播行为高度离散,负二项分布离散系数\(k=0.086\)。绝大多数采纳者不会再把技能继续传播给其他仓库(图 2b);极少数仓库贡献几乎全部传播行为(图 2c)。

RQ2:复制源头仓库

在带时间戳的复制网络中,GitHub 标星数和仓库复制出度几乎无关(图 2d),而且存在刷标星的作弊行为,标星属于可被操纵指标。

时间维度校正会修正源头归属:静态统计复制出度最高的 20 个仓库,在校正为 “仅统计该仓库最先持有的技能” 之后,仅有 7 个仍留在前 20,其余实际是晚期采纳者。

以 2026‑04‑01 做时间分割,仅使用分割前数据做排序:复制出度识别后续传播源头的能力是标星数的 4 倍;PageRank、持有技能总数效果与之接近(图 2e)。大部分无标星的顶级源头仓库属于普通项目,而不是汇总目录仓库(图 2f)。

RQ3:安全风险

被标记为高风险的技能,实际扩散覆盖仓库数量低于随机分布的基准预期(28.6% 对比 41.1%)。

技能副本极少发生一致性同步更新。

克隆分组(clone group):一周内持有某一精确版本技能的全部仓库; 谱系(genealogy):跨时间追踪同一个克隆分组; 一致性变更:分组内全部成员同步切换到同一个新版本。

在各个观测窗口,仅有 11.1% 的分组变更属于一致性同步变更(图 3a);一旦分组跨多个不同所有者,同步一致性几乎消失(图 3b)。控制分组大小、平台、内容变量,同一所有者可以将一致性变更发生概率提升 3.32 倍(图 3c);全部谱系中,仅 4.0% 发生过一致性同步更新(图 3d)。

快照会严重低估跟随源更新的副本数量:更新后的副本和一份全新复制的新版本文件无法区分(图 3g)。 普通代码文件副本有 47%‑84% 会采纳上游安全修复,但技能副本仅有 20.9% 会跟随源仓库的后续编辑同步更新。

被修改过的副本,新增命令执行能力的情况多于移除该能力(图 3e)。但该能力增益并非来自仓库所有者的自主编辑:所有者编辑行为新增、移除能力的占比基本持平;能力提升来自直接采纳别的版本文件(图 3f)。对比被复制的原始版本,副本人为新增的安全敏感代码大多只是替换同类内容。

副本还会不经适配直接跨智能体平台传播;其他智能体目录下存放的技能,经常写着只适配 Claude Code 的工具调用(图 3h),人工核验全部 56 个案例均属实。

RQ4:审计干预效果

以 2026‑04‑01 时间切分,对比不同审计策略:使用源选择模型打分取前 100 仓库,在测试集阶段阻止高风险技能采纳的效果远好于取标星最高前 100、随机选取 100 仓库(图 4a)。 把切分时间改为 3 月 1 日、5 月 1 日,结论不变;使用宽松风险标记规则下结论依然成立;被阻止的采纳行为有四分之一属于间接二级复制。在校准仿真实验中复现该排序结果。

就算使用事后上帝视角最优排序,也只能阻止约四分之一高危采纳,因为大约一半高危采纳来自全新出现的技能。 安全审查拥有数周时间窗口,新技能在发布第一周只会扩散到一小部分最终采纳者(图 4c)。 审计需要覆盖全部智能体生态:如今有三分之一跨文件夹复制发生在不同智能体平台之间(图 4d)。

图 4 审计与响应。基于分割点之前历史训练,源选择模型相比标星数,在测试集阻止更多高风险技能采纳 (a);更换不同分割时间点结论不变 (b);新技能需要数周时间完成扩散 (c);三分之一复制行为跨不同智能体平台 (d)。

四、相关工作

智能体技能

GitSkills 数据集指出一半SKILL.md是直接复制得到;克隆检测工作可以识别相似技能对,但二者都无法回答谁复制谁、修改如何传播。Gao 等人发现注册中心内 53% 被复用技能从未被修改,和本文测量结果一致。

其他研究分析智能体 Pull Request、AGENTS.md、Cursor 规则这类上下文文件,研究开发者使用 AI 智能体的工作模式‑‑;也有研究发现注入指令会在 MCP 工具、智能体框架之间传播‑。但没有工作大规模测量仓库之间的技能完整扩散链路。

文件复制与软件依赖

基于复制的代码复用行为,仅有 2.43% 可以被常规依赖分析捕获;Fork 仓库很少向上游回传提交;代码克隆谱系追踪大多局限在单个项目内部;被投毒的复刻包、恶意仓库会传播漏洞与恶意代码‑。传统供应链研究通过声明式依赖追踪漏洞传播,但技能生态没有声明依赖。

五、伦理考量

本研究不存储任何作者姓名、邮箱、提交消息;仅聚合统计恶意技能,不会公布任何包含恶意技能的仓库或所有者。

六、结论

启示建议

  1. 平台厂商:应当以带版本引用的形式分发技能,而不是分发副本,因为副本不会跟随源更新;校验技能只能调用当前加载它的智能体所拥有的工具。
  2. 审查人员、注册中心:审计优先级应当使用复制出度,而不是 GitHub 标星;在技能诞生的数周窗口期开展处置。
  3. 用户:需要主动更新本地使用的技能副本。
  4. 研究者:不要用快照数据估算传播效果;本文这套溯源重建方法,可以迁移到所有依靠复制完成软件复用的生态。

局限性

复原的复制时间、复制来源和安装器记录吻合度良好;审计评估只依赖仓库作为复制源的身份,不关心技能原始作者是谁。风险标记识别的是能力特征,不等于直接判定恶意;高精确率、有限召回意味着统计得到的风险数量是下界。数据集只覆盖 GitHub 上该格式诞生的前十个月,正是整个生态分发习惯形成的阶段。

数据可用性

项目代码仓库:https://github.com/FahdSeddik/Skill‑Constellations 带时间复制网络发布版本 data‑v1.0;交互式可视化页面:https://fahdseddik.github.io/Skill‑Constellations/

参考文献(略


术语对照表

表格

英文
中文翻译
Agent skill
智能体技能
Constellation
星群(单技能复制传播网络)
Transmission
传播(一次复制事件中传递出去的技能谱系)
Adoption
采纳(仓库获得某项技能)
Lineage
谱系(同一技能的版本演化链)
Copy cascade
复制级联
Out‑degree
复制出度
Provenance
来源溯源、出处
Bundle / Bulk copy
批量包复制 / 大规模批量复制
Clone group
克隆分组(同一精确版本技能的仓库集合)
Genealogy
谱系(跨时间追踪克隆分组)


【声明】内容源于网络
0
0
苏哲管理咨询
为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
内容 2490
粉丝 0
苏哲管理咨询 为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
总阅读87.6k
粉丝0
内容2.5k