跳到正文
原文
Hugging Face Daily Papers· arXiv:2610.11169·本站收录· 原文发表精选关注度55

研究重建 GitHub 上 Agent 技能的复制供应链网络

Skill Constellations: Tracing the Supply Chain of Agent Skills on GitHub

论文速读

分析与理论

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

作者从 GitSkills 构建技能复制网络;在 1 April 2026 切分下,审计源选择模型前 100 仓库预防了 14.9% 的高风险采用。

问题
AI 编码智能体通过包含指令与脚本的 SKILL.md 扩展能力,但跨仓库复制使之缺乏依赖图与版本记录。现有快照研究无法还原复制时序与传播链,导致安全团队难以确定高风险技能扩散源头与修复范围。
方法
作者提取 GitSkills 中所有 SKILL.md 的提交历史,构建带时间戳的有向复制网络;使用条件 logit 模型拟合仓库选择复制源的行为机制,并根据历史得分对代码库进行排序以推荐优先审计目标。
实验与结果
在 1 April 2026 切分下,审计源选择模型排名前 100 仓库可预防 14.9% 的后续高风险采用,远高于 stars 的 0.5%;此外,仅 20.9% 的副本会跟随源仓库后续修改更新。
局限与可以继续做的
作者指出风险标签标记能力而非恶意意图,属于风险下界;数据仅覆盖公开 GitHub 前十个月。实验基于 GitSkills 数据集,审计策略在单一主时间切分及前后各一个月对照切分下进行了验证。
实验设置GitSkills · High-risk adoptions prevented (%)、Later transmissions captured (%) 等
基准
GitSkills
指标
High-risk adoptions prevented (%)Later transmissions captured (%)Consistent changes (%)Follow rate (%)Kendall τCohen's κ
AI 导读和推荐理由研究者基于 GitSkills 中每个 SKILL.md 的 git 历史,重建了首个带日期和方向的 Agent 技能复制网络,覆盖 GitHub 上 2,193,119 次技能采用,并提供了交互式查看器。技能以 SKILL.md 指令和脚本形式被 Claude Code、Codex 等编码 Agent 以用户权限执行,开发者靠仓库间复制分享技能,形成没有注册表、版本和来源记录的软件供应链。研究发现少数仓库是几乎所有复制的源头,GitHub star 无法识别它们;技能副本几乎不随源更新,源头的修复很少传到副本,只有 20.9% 的技能副本跟随了源头的后续修改。作者拟合了一个仓库选择复制源的模型用于审计排序,按该模型排名最高的 100 个仓库可阻止 14.9% 的后续高风险技能采用,而 100 个 star 最多的仓库只能阻止 0.5%。

研究者基于 GitSkills 中每个 SKILL.md 的 git 历史,重建了首个带日期和方向的 Agent 技能复制网络,覆盖 GitHub 上 2,193,119 次技能采用,并提供了交互式查看器。技能以 SKILL.md 指令和脚本形式被 Claude Code、Codex 等编码 Agent 以用户权限执行,开发者靠仓库间复制分享技能,形成没有注册表、版本和来源记录的软件供应链。研究发现少数仓库是几乎所有复制的源头,GitHub star 无法识别它们;技能副本几乎不随源更新,源头的修复很少传到副本,只有 20.9% 的技能副本跟随了源头的后续修改。作者拟合了一个仓库选择复制源的模型用于审计排序,按该模型排名最高的 100 个仓库可阻止 14.9% 的后续高风险技能采用,而 100 个 star 最多的仓库只能阻止 0.5%。

推荐理由论文用 git 历史重建了 Agent 技能的复制网络,并给出可复用的仓库审计排序方法,安全团队可据此决定先审查哪些仓库。

深度解读

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

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

    作者称智能体技能通过跨仓库复制形成缺乏版本与来源记录的供应链,导致高风险技能传播源头与修复范围难以追踪。

    核心问题:AI 编码智能体技能(agent skills)通过跨代码库复制形成了缺乏依赖图、版本控制和来源追溯机制的软件供应链,导致安全团队无法确定修复传播范围与优先审计目标。

    • 场景与重要性:Coding agents(如 Claude Code、Codex、Cursor)通过包含 SKILL.md 指令与脚本的技能扩展功能,技能拥有用户的执行权限,可执行 shell 命令、访问网络和修改文件。作者称在十个月内,该格式已出现在 259,596 个代码库中,包含 1,612,846 个不同技能。
    • 现有研究的不足:以往研究主要在单一时间快照下分析技能,或者仅针对单个技能或成对技能进行分析,只能记录特定时刻哪些代码库包含技能,无法得知各代码库的获取先后顺序、复制关系或发生时间。
    • 核心观察与假设:GitSkills 数据集显示 GitHub 上一半的 SKILL.md 属于逐字复制副本。作者认为快照仅能捕获技能复制网络(constellation)中的节点,只有完整的 git 提交历史才能还原扩散过程中的有向边。
    • 论文的解决方案:作者通过挖掘 GitSkills 中所有 SKILL.md 的 git 历史,构建了作者称其为首个带时间戳的技能有向复制网络(包含 2,193,119 次采用事件),并提出了用于指导安全审计的复制源选择模型。
  2. 有哪些相关研究?

    相关工作涉及智能体技能分析、代码克隆与上游同步、以及依赖网络漏洞传播,作者称此前尚无工作测量技能在代码库间的传播。

    智能体技能与上下文文件分析

    • GitSkills(Destefanis 等,2027)与克隆检测(Zhu 等,2026):GitSkills 报告半数文件为逐字副本,Zhu 等人使用多模态克隆检测发现相似技能对;作者指出这两项工作均未展示谁从谁处复制代码或修改如何传播。
    • Gao 等(2026):发现注册表中被复用的技能有 53% 从未被修改,作者称这一结论与其测量相符。
    • 开发者交互与提示注入研究:Li 等(2026)、Mohsenimofidi 等(2026)和 Jiang 与 Nam(2026)研究了开发者如何使用智能体、AGENTS.md 及 Cursor 规则;Zhao 等(2026)和 Zhang 等(2026)研究注入指令如何在 MCP 工具与智能体框架间传播;作者指出此前尚无研究测量技能在代码库间的传播。

    代码克隆、分叉与依赖网络

    • 基于复制的代码复用研究:Jahanshahi 等(2026)报告仅 2.43% 基于复制的复用能被依赖分析识别;He 等(2026)研究文件级复制中的隐式依赖,报告上游安全修复被采纳比例为 47% 至 84%。
    • 分叉同步与克隆演化:Zhu 等(2026)指出软件分叉向主分支提交的更改很少;Sousa 等(2026)在单项目中跟踪了克隆系谱;Park 等(2026)与 Zhao 等(2026)研究了包复刻与代码投毒。
    • 依赖网络漏洞追踪:Robinson 等(2026)通过显式声明的依赖关系追踪 JavaScript 依赖网络中的漏洞传播;作者指出技能生态缺乏显式依赖声明。

    基线方法与数据集

    • 基线方法:在评估审计排序与传播源识别时,论文对比了 GitHub stars、PageRank、技能持有数量(skills held)、当前复制出度(copy out-degree)以及高风险谱系持有数(high-risk lineages held),并与事后上限(hindsight bound)和随机排序对照。
    • 数据集:使用归档于 Zenodo 的 GitSkills 数据集(Destefanis 等,2027)。

    作者将本文定位为从 git 提交历史重构技能复制网络的研究;以往安全工作侧重于检测危险技能,而本文建立源选择模型用于对需要审查的代码库进行排序。

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

    作者提取 GitSkills 提交历史重构技能复制网络,界定复制事件,并用条件 logit 模型拟合源选择以推荐代码库审计。

    作者提取 GitSkills 中所有 SKILL.md 文件的完整 git 提交历史,重构带时间戳的有向复制网络,并建立条件 logit 模型评估审计干预策略。

    数据筛选与采用时间界定

    • 数据源与过滤规则:使用 2026 年 7 月发布的 GitSkills 数据集,筛选文件名完全为 SKILL.md 且具有有效 front matter、首次提交时间在 2025 年 10 月 1 日及之后、且非 fork 的仓库文件;将每个不同的文件内容视为一个独立技能。
    • 采用与时间界定:从每个默认分支的克隆中提取 SKILL.md 路径的完整 git 提交历史。代码库获取技能称为一次采用(adoption),采用时间以该文件的首次提交时间确定,并以下界设定为代码库创建时间,以排除 fork 和镜像仓库携带的历史时间偏差。

    谱系、复制事件与技能星宿构建

    • 谱系(Lineage):通过编辑关系将单一技能的不同版本串联为谱系,该谱系的首次采用即为其源头(origin)。
    • 复制事件(Copy Event):当一次提交添加了 10 个或更多 SKILL.md 文件,且单一较早采用者持有其中至少一半现有谱系时,判定构成一次复制事件,该较早采用者被认定为复制源(source)。
    • 复制规模划分:添加文件数在 10 至 99 之间划分为捆绑复制(bundle copy),达到 100 及以上划分为批量复制(bulk copy)。
    • 传播与星宿(Constellation):若复制事件中某个谱系的源头即为该复制源,则该谱系的采用记为一次传播(transmission),其余采用记为个体采用。单个技能由其所有副本构成的扩散级联网络即为该技能的星宿,采用者为节点,传播为带时间戳的有向边。

    传播建模与审计推荐策略

    • 源选择模型:采用条件 logit 模型,基于候选源仓库所持有技能数对数、历史被复制次数对数、GitHub stars 对数以及仓库年龄的对数,建模复制事件选择哪个较早采用者作为其源头。
    • 动态模拟:每周模拟按当前采用者数量的幂律比例增加个体采用,并基于 2026 年 4 月 1 日之前的周数据完成校准。
    • 时间切分审计评估:在时间切分点前仅使用训练期历史数据,通过源选择模型给出的得分(或 stars、出度等基线)对代码库进行排序;审计一个代码库将移除其所有被标记技能,从而在留出测试期阻断该仓库的高风险采用及其后续衍生的全部副本。

    风险标记与模型标注验证

    • 风险标记规则:标记捆绑可执行文件、预先批准工具(pre-approve tools)或指示风险操作的技能。
    • LLM 标注与一致性协议:使用 Claude Opus 5.5 和 Claude Sonnet 5.5 对随机抽样的 150 个源仓库类型以及分层抽样的 200 个技能的 3 项风险进行独立标注;模型通过 Claude Code 命令行接口(claude -p)运行,遵循书面规范并引用决定答案的原文行。
    • 仓库分类与人工裁决:仓库分为聚合目录、入门模板、自复制所有者、Bot 生成或协同仓库、普通项目 5 类;双模型对仓库类型的未加权 Cohen's κ 为 0.77,技能问题 κ 在 0.66 至 1.00 之间;分歧经人工解决后作为基准参考,Opus 在仓库类型上达到 κ = 0.91。严格风险标记在 200 个技能上的精确率为 98.3%,召回率为 80.9%。
  4. 论文做了哪些实验?

    在 1 April 2026 切分下,审计源选择模型前 100 仓库预防了 14.9% 高风险采用,高于 stars 的 0.5%。

    实验设置

    • 数据规模与范围:使用 GitSkills 数据集,覆盖 2025 年 10 月 1 日及之后首次提交的 SKILL.md,包含 259,596 个代码库、1,612,846 个不同技能以及 2,193,119 次技能采用事件。
    • 基线策略:审计实验中对比了 GitHub stars、当前复制出度(Copy out-degree)、持有技能数(Skills held)、持有高风险谱系数(High-risk lineages held)、PageRank、随机审计(Random)以及事后上限(Hindsight bound)。
    • 评测指标:被预防的高风险采用比例(High-risk adoptions prevented %)、捕获的后续传播比例(Later transmissions captured %)、一致变更比例(Consistent changes %)、跟随率(Follow rate %)。
    • 标注与评审模型:使用 Claude Opus 5.5 与 Claude Sonnet 5.5(通过 claude -p)对 150 个源仓库抽样进行类型标注、对 200 个技能抽样进行三项风险标注,人工裁决 18 个仓库和 28 个技能的分歧作为基准参考;Opus 在满足 95% bootstrap 区间下界超过 0.6 阈值后标注剩余 1,507 个源仓库。
    • 验证样本量:使用 1,534 个记录了复制来源与时间的技能安装器目录进行算法验证。

    主结果

    审计策略(排名前 100 仓库)预防高风险采用比例(1 April 2026 切分)出处
    Hindsight bound(事后上限)26.6%Figure 4b
    High-risk lineages held16.8%Figure 4b
    Source-choice model14.9%Figure 4b
    Copy out-degree14.0%Figure 4b
    GitHub stars0.5%Figure 4b
    Random(95% 范围)0.1%Figure 4b
    • 源选择模型表现:作者指出源选择模型在 1 April 2026 切分下预防了 14.9% 的高风险采用,高于 GitHub stars(0.5%)和随机策略(0.1%),且排序在 3 月 1 日和 5 月 1 日切分下均保持一致。
    • 直接与间接阻断:作者称被预防的高风险采用中,有四分之一属于间接副本。
    • 事后上限解释:即使是事后选取的上限也仅能预防 26.6%,作者称其原因在于大约一半的高风险采用作为新技能出现,无法通过历史源头阻断。

    复制源特征与星标失真分析

    • 测了什么:测量 GitHub stars 与复制网络出度的相关性(Figure 2d),以及 stars 与网络指标识别未来传播源的能力(Figure 2e、2f)。
    • 结果:GitHub stars 与带时间戳出度的 Kendall τ 为 -0.10(Figure 2d);在 1 April 2026 切分下,当前复制出度捕获了 27.8% 的后续传播,而 stars 仅捕获 7.0%(Figure 2e);在 1,457 个无星标顶级来源中,66.4% 为普通项目(Figure 2f);静态出度排名前 20 的仓库中,仅 7 个在纠正时间归因后仍保持前 20(正文 III-B)。
    • 作者解读:作者称 GitHub stars 几乎无法提供出度信息且容易受到刷星操控;静态快照导致归因错误,将晚期采用者误当作源头。

    副本演化与能力变化分析

    • 测了什么:克隆组在不同时间窗口下的一致变更率(Figure 3a、3b、3c),以及修改后副本的功能增减方向(Figure 3e、3f)。
    • 结果:克隆组的一致变更比例在各观察周窗口下均维持在 11.1% 左右(1 周 11.1%,10 周 11.6%,Figure 3a);仅 4.0% 的系谱曾发生一致变更(Figure 3d);单一所有者使一致变更几率提高 3.32 倍(Figure 3c);修改后的副本增加命令执行比例(3.5%)高于移除比例(1.2%)(Figure 3e),且净能力增加主要来自采用其他版本而非自身修改(Figure 3f)。
    • 作者解读:作者指出技能副本极少随源更新,上游安全修复难以传导至下游副本;副本获得高风险权限主要源于引入其他既有版本。

    跨平台传播与防御响应窗口

    • 测了什么:跨智能体平台复制的比例与演化(Figure 3h、4d),以及技能扩散的时间到达曲线(Figure 4c)。
    • 结果:跨平台复制比例从 2025 年 11 月的 27.9% 升至 2026 年 3 月的 40.2%,2026 年 7 月为 34.6%(Figure 4d);在其他智能体目录下,.codex 目录有 23.2%、.cursor 有 14.7%、.agents 有 14.1% 的技能直接命名了仅 Claude Code 提供的工具或文件(Figure 3h);新技能在第 7 天仅到达其最终采用者的 7.7%,到达半数的中位天数为 56 天(Figure 4c)。
    • 作者解读:作者认为跨平台复制未经过适配,安全审查必须覆盖所有智能体平台;由于技能扩散以周为单位,审查人员具有数周的应对窗口。

    其他消融与分析

    • 传播过度离散度:负二项离散参数 k = 0.086(Figure 2b)
    • 顶级仓库集中度:前 1% 仓库占全部传播的 94.7%(Figure 2c)
    • 采用类型分布:原创来源占 58.6%,复制占 33.3%,个体采用占 8.1%(Figure 2a)
    • 快照遗漏估计:快照测得的跟随率(6.3%)比时序历史(20.9%)低 3.3 倍(Figure 3g)
    • 重构时间验证:在 1,534 个安装器记录中,重构时间与记录在 7 天内吻合比例为 94.6%(正文 II)
    • 严格风险标记性能:在 200 个抽样技能上精确率为 98.3%,召回率为 80.9%(正文 II)

    负面结果与例外

    • 来源归属规则的局限:在 1,534 个安装器记录中,作者的规则仅在 26.7% 的案例中指明了记录的实际来源,原因是规则将归属权赋予了持有最多谱系的较早采用者(通常是聚合目录),这说明源级测量描述的是分发渠道而非初始作者(正文 II)。
    • 标记技能的扩散范围:被标记的高风险技能实际触达的代码库比例低于均匀置换零假设预测值(实际 28.6% 对比预测 41.1%)(正文 III-C)。
  5. 有什么可以进一步探索的点?

    作者指出风险标签标记的是能力而非恶意且属于下界,数据仅涵盖前十个月,审计评估基于分发源而非原作者。

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

    • 分发源而非创作者归属:审计评估仅依赖于哪些代码库是复制源,而不依赖于谁编写了这些技能;重构日期和顺序虽与安装器记录一致,但反映的是分发关系而非作者身份(VI 节 Limitations)。
    • 风险标签代表能力而非恶意:风险标记针对的是能力(capability)而非恶意意图(malice)(VI 节 Limitations)。
    • 风险统计为下界:由于严格标记具有高精确率和低召回率,所统计的风险数量属于下界(VI 节 Limitations)。
    • 时间与平台覆盖范围:数据仅覆盖该格式在公开 GitHub 上出现的前十个月,即分发实践形成的初期阶段(VI 节 Limitations)。

    实验覆盖范围

    • 被测数据集与文件对象:实验数据来源于 GitSkills 数据集,筛选 2025 年 10 月 1 日及之后首次提交的有效 SKILL.md,共覆盖 259,596 个非 fork 代码库和 1,612,846 个不同技能。
    • 验证样本量:时间与来源重构算法在 1,534 个记录有来源与时间的安装器目录中进行验证。
    • 标注规模与模型:人工与 LLM 标注实验包含 150 个源仓库类型抽样和 200 个分层抽样技能,后续由 Claude Opus 5.5 标注剩余 1,507 个源仓库。
    • 审计评估切分点:时间切分评估以 2026 年 4 月 1 日为主切分点,并使用 2026 年 3 月 1 日和 5 月 1 日进行对比。
    • 未报告信息:论文未报告私有仓库中的技能传播情况(论文仅在公开 GitHub 仓库上收集数据)。
  6. 总结一下论文的主要内容

    论文重构了 GitHub 智能体技能复制网络,发现复制集中于少数仓库且很少随源更新,并提出了代码库审计推荐模型。
    • 研究定位:本文是一项针对 GitHub 上 AI 编码智能体技能供应链的实证测量与审计策略研究。
    • 核心问题:智能体技能直接拥有用户的系统权限,但开发者通过跨仓库复制进行分发,缺乏依赖声明、包管理器与版本追踪机制,导致安全团队无法确定关键传播源与更新修复范围。
    • 方法要点:作者从 GitSkills 数据集挖掘所有 SKILL.md 的 git 提交历史,重构带时间戳的有向复制网络与技能星宿,并训练条件 logit 源选择模型来对潜在的高风险分发仓库进行审计排序。
    • 主要结果:
      1. 技能复制呈现目录级优先连接和过度离散特征,前 1% 的代码库占据了 94.7% 的传播量(Figure 2c),且 64.2% 的代码库属于孤立节点(Figure 1a)。
      2. GitHub stars 无法反映复制出度(Kendall τ = -0.10,Figure 2d),且 66.4% 的未加星顶级来源为普通项目(Figure 2f)。
      3. 仅 20.9% 的技能副本会跟随源仓库的后续修改进行更新(Figure 3g),仅 4.0% 的克隆系谱曾发生全员一致变更(Figure 3d)。
      4. 在 2026 年 4 月 1 日的时间切分下,审计源选择模型排名前 100 的代码库可在留出期预防 14.9% 的高风险采用,而审计前 100 个高星代码库仅预防 0.5%(Figure 4b)。
    • 结论与启示:作者建议平台厂商应将技能以带版本引用的方式分发而非直接复制文件,并在加载时检查工具名称是否匹配目标智能体;审计方应基于复制出度而非 stars 筛选重点审查仓库,且新技能扩散往往需要数周,防御团队具备行动窗口。
阅读原文huggingface.co