Loading...
正在加载...
请稍候

智能体也有血型:219 万次技能复制之后,没人知道谁抄了谁

QianXun • 2026年10月11日 23:17

🧩 智能体也有血型:一个技能文件被复制了 219 万次,没人知道谁抄了谁

今天早上,我在自己电脑里翻代码,翻到一个叫 SKILL.md 的文件。这不是什么冷门东西,Claude Code 和 Codex 这类编码智能体都会读它,把它当操作手册用。开发者在 GitHub 上分享技能的方式也很朴素:看中了,复制到自己的仓库里。

问题是,从那天起,这份文件就成了你的了。

论文《Skill Constellations: Tracing the Supply Chain of Agent Skills on GitHub》(arXiv:2610.11169,10 月 8 日提交,Fahd Seddik)做的事情很朴素:把每一个 SKILL.md 的 git 历史扒出来,画成一张有时间戳的复制网络。覆盖 GitSkills 中全部 SKILL.md 的 git 历史,横跨 GitHub 全站,一共 2,193,119 次技能采用(skill adoptions)。

数字本身不算天文数字。真正扎手的是四条结论。

📦 源头只占少数几个仓库

论文的原话是「A few repositories are the source of almost all copies」。219 万次采用里,绝大多数副本可以回溯到少数几个源头仓库。

这件事本身不奇怪。任何开源生态都会形成这样的形状:少数项目被大量 fork。放在人写的软件上,这叫「影响力」。放在智能体技能上,这叫「攻击面」。

差别在于权限等级。论文的摘要写得很清楚:智能体技能是 AI 编码智能体「带着用户的权限」运行的操作说明与脚本。也就是说,一个 SKILL.md 里写的每一条 shell 命令,执行的权限等级等于用户本人的权限。抄一份错误的技能文件不叫「依赖一个有 bug 的库」,叫「以我的名义跑了一段别人的命令」。

⭐ 星标数完全不管用

第二个结论更直接:「GitHub stars do not identify them」。

我们判断一个开源仓库靠不靠谱,习惯看星标。论文测量完之后给出的答案是:在智能体技能这件事上,星标数不构成有效的风险信号。

原因不难猜。星标是人手动点的,表达的是「我想收藏这个项目」。而复制是工具或者脚本干的,表达的是「我这一步需要它」。两个动作的动机完全不同,统计上自然脱钩。

论文因此拟合了一个「谁抄谁」的模型,用模型给仓库排名次,然后去审计排名最高的 100 个仓库。结果:拦住后续高风险技能采用的 14.9%。而拿星标最高的 100 个仓库去审计,效果是 0.5%。

29.8 倍的差距。同一个动作,换一套选仓库的判据,效果差近 30 倍。

🔁 副本几乎不跟源头同步

第三个结论:「Skill copies almost never change with their source」。

这是软件工程里最经典的一个坑,叫 fork 漂移。人肉时代,fork 之后合并上游是社区美德,谁都嫌麻烦,于是普遍不合并,结果是安全补丁到了源头就算「发布」了,实际在流通的副本里一个都没到。

智能体技能把这套流程加速了。人工审核一次「这个技能有没有可疑命令」可能要几十分钟,脚本复制只要一次 commit。采纳速度快了两个数量级,而审查速度没变,漂移就被放大了。

论文对平台的建议只有一句,但很重:平台应该分发带版本的引用,而不是分发副本(distribute versioned references rather than copies)。这句话等于承认当前的分发方式错了。npm 生态十五年前解决过同一个问题,靠的是锁文件与中心注册表。智能体技能圈现在连这个都没有,作者写得很直白:这是个「没有注册表、没有版本、没有来源」的软件供应链。

🧭 这个生态现在长什么样

把上面的结论拼起来,现状大致是这样。

关键在于右下角那条虚线。源头把漏洞补上了,副本那一侧收不到通知,因为副本和源头之间没有父子关系,只有一个当年某次 commit 的单向拷贝。

摘要的四条结论摊开成表,是这样:

论文结论 原文措辞 含义
源头高度集中 A few repositories are the source of almost all copies 审计目标可以收窄到少数仓库
星标不指示风险 GitHub stars do not identify them 常见的按星标选仓库的做法失效
副本几乎不更新 Skill copies almost never change with their source 源头修复极少传导到流通副本
应分发引用 distribute versioned references rather than copies 出路是中心化版本引用,不是继续拷贝

注册表能解决最后一行的那个问题:版本号由中心登记,升级是拉取而不是拷贝。智能体技能圈现在连这个都没有,作者写得很直白:这是个「没有注册表、没有版本、没有来源」的软件供应链。

⚖️ 这份研究没说的部分

论文是 cs.SE 加 cs.CR 加 cs.SI 的交叉预印本,同行评审未完成。几个限制值得自己说清楚。

  • 「14.9%」与「0.5%」是这个模型在该数据集上的审计效果,换一套技能集合、换一个时间窗,数字会不会变,论文没有承诺。
  • 论文测的是「哪些仓库该优先审计」,不是「哪些技能是恶意的」。高风险采用被拦住 14.9%,剩下那 85.1% 里到底有没有真的恶意样本,摘要没交代。
  • 「副本几乎不跟源头同步」是统计陈述。个别高频同步的源头仓库存在,摘要未给例外比例。

小贴士:论文附带一个交互式查看器(fahdseddik.github.io/Skill-Constellations/),可以自己拖时间轴看某一份技能文件在 GitHub 上的扩散路径。摘要提到论文还配套开源了模型与数据。

📎 信源与限定

  • 论文:Fahd Seddik,Skill Constellations: Tracing the Supply Chain of Agent Skills on GitHub,arXiv:2610.11169,2026-10-08 03:25 UTC 提交,3,773 KB,cs.SE / cs.CR / cs.SI。预印本,同行评审未完成。
  • 全部数字(2,193,119 次采用、14.9% 对 0.5%、少数仓库占绝大多数副本、副本几乎不跟源头同步、平台应分发带版本引用)均取自 arXiv 摘要页原文。实验章节与表格未逐项核对。
  • 作者机构未在摘要页列出,正文未取到。

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录