GitHub 这两天的榜有点意思,两个跟「技能包」较劲的项目一起冒头。英伟达的 SkillSpector,22,628 星,今天挂在日榜第七,干的事很朴素:在你装别人的 Agent 技能之前,先把包拆开看一遍。Anthropic 的 knowledge-work-plugins,33,339 星,周榜第三,把官方插件摞在仓库里,等你去市场里点安装。
一边在生产,一边在验毒。这两件事凑一块,说明技能这个东西已经从论坛里抄来的一个 SKILL.md,长成了有供应链、有攻击面、也要有审核的软件。
SkillSpector 的 README 里有一组数字:分析了 31,132 个技能,26.1% 带漏洞,5.2% 表现出明显的恶意意图。换句话说,你随手 clone 的四个技能里,大概就有一个能在你机器上读文件、发请求、改配置。技能不是聊天,是给 Agent 的指令加脚本,而 Agent 拿着你的 shell 权限,还不用你点「允许」。
SkillSpector:给技能包做一道安检
这东西的定位就是一句话:「这个技能能不能装?」输入很随便:Git 仓库、URL、zip、目录、单个 SKILL.md,扔进去就扫。
里面是 71 条模式,分 17 类。语义层的是提示注入、数据外传、提权、供应链、过度代理、系统提示泄露、记忆投毒、工具滥用、反拒绝、触发滥用;代码层的是 AST 检查、污点追踪、YARA 签名、MCP 最小权限和 MCP 工具投毒。
流程是两段式:先静态分析,快、不花钱;再挂一层 LLM 语义复核,抓「看着像正常脚本,其实在骗模型」的东西。用 --no-llm 可以把第二段关掉,扫一大堆技能的时候别小看这笔 token 账单。SC4 那一步会去 OSV.dev 查实时 CVE,断网就回落本地缓存。
产出四种:终端、JSON、Markdown、SARIF。SARIF 最有用,丢进 CI 把风险分数当阈值卡住,技能就上不了线。它还带基线抑制——按指纹或 glob 规则把已知问题豁免掉,重扫只报新出现的。
安全工程上有个细节挺讲究:解包限额 100 MiB、单个 zip 最多 1 万条目、单文件分析上限 1 MB,超了直接 fail-closed 报错。
它本身是张 LangGraph 图:resolve_input → 建上下文 → 并行分析器 → meta_analyzer → 出报告,能在 Studio 里把整个扫描过程点开看,也能当库直接 graph.invoke()。
还有一层:SkillSpector 是英伟达 Verified Skills 流水线的一环,扫过、签过名的技能才能进 NVIDIA/skills 目录。技能市场开始有「上架审核」了,这信号比工具本身重。
实测(本机 arm64、Python 3.13、源码装 v2.12.0):把这台机器上的 19 个技能目录整批扔进去,6 个 worker 并行,3 分 11 秒跑完。18 个出结果,1 个带 node_modules 的大包在 90 秒上限处超时,直接报 ERROR。有发现的是 5 个,一共 9 条:最高 officecli 40/100(MEDIUM,供应链、工具滥用各一条),reverse-engineer-anything 35 分(4 条,MCP rug pull、记忆投毒、rogue agent、过度代理),剩下三个都是 17 分。顺手扫 cloudflare/security-audit-skill,仓库太大,git 传输撞上时间预算直接失败,fail-closed。
最有意思的是误报。gsap-plugins 被判 HIGH 提权,命中的原文是「不要生成 .npmrc、不要建议私有 registry」——它在教人别做危险操作,扫描器只看到 .npmrc 这个词。halo-cli 那 17 分更冤,来自 SKILL.md 里一个对不上号的本地路径引用。所以这玩意的定位得摆正:它是筛子,不是判决书。19 个里 5 个有发现,真正需要人工看的可能就两三个。
实话也得说。静态扫描扫的是「看起来像坏」的模式,不是运行时行为。你技能里一行 curl 往自己域名上报数据,它可能只给个低分;真正的权限边界还是得靠容器、沙箱、单独的系统用户。LLM 复核要你自己塞 key,Anthropic、OpenAI、Bedrock、Ollama 都行,但扫几百个技能时账单会咬人。不开语义层的时候,19 个报告里有 11 个标着 incomplete,覆盖度这栏别当摆设看。
Anthropic 的插件仓库:17 个包,1,285 个文件
Anthropic 那边是另一种画风。README 写着「开源 11 个插件」,我把仓库拉下来数了数 plugin.json:17 个。多出来的 6 个是 engineering、design、human-resources、operations、small-business、pdf-viewer,README 的表格还没跟上。旁边还有个 partner-built 目录,apollo、brand-voice、common-room、slack、zoom-plugin 五个合作方的包,71 个技能塞在里面。
整仓 1,285 个文件,252 个 SKILL.md,21 个 .mcp.json,15 个 commands 下的 markdown。结构简单到无聊:
plugin-name/
├── .claude-plugin/plugin.json # 清单
├── .mcp.json # 连接器
├── commands/ # 你显式触发的斜杠命令
└── skills/ # Agent 自动调用的领域知识
全是 markdown 和 JSON,没有代码、没有构建步骤。装法两条命令:
claude plugin marketplace add anthropics/knowledge-work-plugins
claude plugin install sales@knowledge-work-plugins
官方说法是给 Cowork 用,Claude Code 也兼容。插件按职能切:销售、客服、产品、市场、法务、财务、数据、企业搜索、生物研究、生产力……典型场景是 /sales:call-prep,打个斜杠命令,它自己去拉 CRM 记录、翻会议纪要、出拜访提纲。
实话:连接器清一色国外 SaaS,Slack、HubSpot、Snowflake、BigQuery、Box、Figma、Amplitude,国内团队十个里能连上两个就不错。它真正的价值不是装上就能用,而是一份「公司上下文该写什么」的模板:术语、流程、审批口径塞进 skill 文件,Agent 才会按你的规矩干活。自己写插件的话,照这个四件套抄结构就行,别把三十条规则糊进一个 SKILL.md。
两件事拼起来看
以前比的是谁的 prompt 写得妙,现在比的是谁的包能过审。
SkillSpector 用 26.1% 这个比例告诉你技能生态现在有多糙,Anthropic 用 252 个 SKILL.md 告诉你规范的包长什么样。一个是安检门,一个是样板间。
给你的动作两条:装别人的技能前先扫一遍,哪怕只跑静态档也比裸装强(之前写过 Cloudflare 那套审计技能,思路是一路的);自己写插件就照 plugin.json + .mcp.json + commands + skills 拆开,让 Agent 的规矩有地方放,也让别人能查。
技能包已经是软件了。软件有的毛病,它一样不会少。