agent skill 供应链:今天你实际能看到什么
2026-10-20 — skill 市场悄无声息地成了最新的包管理器。一个 skill 就是一个文件夹——markdown 写的指令,可能带几个辅助脚本,可能带 hook——你的 agent 会像对待自己的系统提示词一样信任地执行它。它和普通依赖的区别:没人审它,没有锁文件,更新静默落地,而执行它的 agent 已经够得着你的文件系统、你的 shell 和你的凭证。
为什么 skill 是供应链物件
- 它是指令,不只是代码:skill 指挥你的 agent 用它已有的权限做事。一句恶意的提示词行甚至不需要“漏洞”。
- 它无版本分发:多数安装盯着一个移动的分支,昨天能跑的那个东西,和今天存在的那个东西不是同一个。
- 它会组合:skill 调工具,工具连 MCP 服务器,MCP 服务器伸向网络——一串第三方,每一层都被上一层信任着。
- 它更新不打招呼:上游 push 一次,你的 agent 下个会话就拉到了,中间没有人类。
这里的“诚实可见”指什么
三个问题,按回答成本排序。第一:装了什么、来自哪里——每台机器上 skill、插件、MCP 服务器的清单。第二:自我安装以来上游改了什么——钉住的状态与仓库当前状态之间的 diff。第三:加载了这个 skill 之后,我的 agent 实际做了什么——本地动作记录。注意清单上没有的东西:一块写着“未检测到恶意”的绿色横幅。扫描表演容易宣称、难以诚实;可见性才是真正建得起来的那部分。
我们今天运行的两个观察面
针对上游问题,SkillWatch 维护对 agent-skill 仓库的公开观察名单,发布每日变化报告,另有一个无需注册的单页风险扫描示例可以直接看:<a href="https://watch.20131.com/verify">watch.20131.com/verify</a>。它是只读观察面:报告它看到的东西,附上证据链接。针对本地问题,20131 在你机器上为每个被观测的 agent 动作写一行审计记录——归属、命令形状、动作当时的判定——逐行拆解见<a href="/zh-cn/blog/agent-actions-audit-trail/">审计轨迹那篇</a>。这两个工具今天都还不阻断任何东西,页面上也这么说。这是 Phase 0 的声明,不是事后贴上去的免责声明。
不依赖任何产品的自查清单
- 装之前读一遍 SKILL.md,用你审视 setup.py 的怀疑程度。
- 能钉就钉:记下安装时的 commit,让“改了什么”有左边那个状态。
- 盯副作用,不只盯文本:新装一个 skill 后,留意你的 agent 第二天开始碰哪些文件、哪些端点。
- 每台机器留一份清单——“现在装了什么”这个问题,多数团队的诚实答案是“不知道”。
- 把 skill、MCP、agent 当一条链看:风险在组合,不在任何一个单独的文件夹。
接下来往哪看
更宽的框架——agent 动作凭什么算可观测——在<a href="/zh-cn/blog/what-is-agent-observability/">什么是 agent 可观测性</a>;各 agent 家族的接入深度(包括 skill 目录如何进入本地记录)在<a href="/zh-cn/supported-agents/">支持的 agents</a>如实标注。想要这条链的带判定版本,<a href="/zh-cn/early-access/">抢先体验名单</a>是最短路径——供应链规则正是规则文件将来调参的对象。