更新:这是 3 月 25 日的首次扫描报告。最新数据(3 月 27 日刷新)请见我们重新扫描了 ClawHub Top 50 —— 情况变了。
我们使用 V(g) 安全扫描器对 ClawHub 下载量最高的 50 个 Skill 进行了静态安全分析——总下载量超过 125 万次。目标很简单:将我们用于 Rotifer Gene 的同一套静态分析方法应用到 Claw 生态中最受欢迎的工具上,并公开结果。
核心结论:50 个 Skill 中零 CRITICAL 发现。没有 eval(),没有 child_process,没有代码混淆。
但细节讲述了更丰富的故事。
安全等级分布
| 等级 | 数量 | 占比 | 含义 |
|---|---|---|---|
| A | 44 | 88% | 零 CRITICAL + 零 HIGH |
| B | 4 | 8% | 零 CRITICAL + ≤2 HIGH(可解释) |
| C | 2 | 4% | 零 CRITICAL + >2 HIGH |
| D | 0 | 0% | — |
88% 获得最高等级,这对生态系统的安全基线来说是一个积极信号。
大多数 Skill 是纯 Prompt
| 类别 | 数量 | 占比 |
|---|---|---|
| 包含代码文件 (.ts/.js/.py/.sh) | 17 | 34% |
| 纯 Prompt(仅 SKILL.md) | 33 | 66% |
66% 的 Top 50 是纯 Prompt Skill,不包含可执行代码——只有一个 SKILL.md 指令文件。这类 Skill 天然免疫代码级攻击(但 Prompt 注入是 V(g) 范围之外的独立问题)。
这个比例引出一个有趣的问题:如果最受欢迎的 AI 工具大多只是 Prompt,那么”质量”在安全之外意味着什么?文档完整性、错误处理模式、声明与实际的一致性——这些才是更有意义的维度。
最常见的风险模式
在包含代码的 34% 中:
| 规则 | 命中数 | 严重程度 | 描述 |
|---|---|---|---|
| S-07 | 12 | MEDIUM | 文件系统操作(readFile、writeFile) |
| S-05 | 10 | HIGH | 环境变量访问(process.env) |
| S-04 | 4 | HIGH | 外部 HTTP 通信(fetch) |
S-07(文件 I/O) 最为常见——许多 Skill 需要读写配置文件。这对 CLI 工具来说是预期行为。
S-05(环境变量访问) 是 API 密钥管理的标准做法。关注点不在于是否读取环境变量,而在于_读取了哪些_变量以及_将值发送到了哪里_。
所有发现均为可解释且符合上下文的合理操作。
有发现的 Skill
| Skill | 等级 | 发现数 | 下载量 | 主要模式 |
|---|---|---|---|---|
| elite-longterm-memory | B | 8 | 19,322 | 大量文件 I/O(记忆持久化) |
| imap-smtp-email | B | 7 | 16,931 | 文件 I/O + HTTP(邮件协议) |
| stock-analysis | C | 6 | 20,778 | 环境变量(Yahoo Finance API 密钥) |
| brave-search | C | 3 | 25,056 | HTTP 请求(搜索 API) |
| nano-banana-pro | B | 1 | 31,591 | 环境变量(Gemini API 密钥) |
| free-ride | B | 1 | 26,138 | 环境变量(OpenRouter API 密钥) |
所有发现都是这些 Skill 核心功能所必需的合法操作。
与 ClawHavoc 事件对比
2026 年 2 月,ClawHavoc 事件揭示 ClawHub 38,000+ Skill 中约 12% 被入侵。我们的 Top 50 扫描显示了显著更健康的状况:
| 指标 | ClawHavoc(全量注册表) | V(g) Top 50 |
|---|---|---|
| CRITICAL 发现 | 12% 感染率 | 0% |
| 代码混淆 | 多例 | 0 命中 |
| 可疑 exec | 广泛存在 | 0 命中 |
| 外部通信 | 未公开端点 | 4 命中(均为已知 API) |
最受欢迎的 Skill 安全卫生状况更好——高曝光工具吸引更多审查,50 个中有 28 个是经过审核的认证 Skill,且知名作者会维护质量。
但剩下的 12,950 个呢?
方法论
- 扫描器:Rotifer V(g) v0.7.9,7 条基于正则的检测规则(S-01 至 S-07)
- 范围:按下载量排名前 50 的 Skill
- 日期:2026 年 3 月
- 扫描的代码类型:
.ts、.js、.py、.sh、.mjs、.cjs - 排除:
node_modules/、.git/、dist/目录 - 局限性:仅为静态分析——不评估运行时行为、Prompt 注入或供应链依赖
这意味着什么
数据表明两件事:
-
生态顶部是干净的。 VirusTotal + 人工审核等安全工具保护了最受欢迎的 Skill。V(g) 以不同的方法论证实了这一点。
-
安全是必要的,但不是充分的。 当 66% 的热门工具只是 Prompt 时,代码级安全扫描只覆盖了一个维度。质量评分——文档完整性、错误处理、声明验证——补充了剩余部分。
V(g) 是信任的一层。我们认为生态系统需要更多层。如果你对质量评分作为安全扫描的补充感兴趣,欢迎与我们交流。
试试看
一条命令扫描任何 Skill 或 Gene:
npx @rotifer/playground vg <path>为你的仓库添加徽章:rotifer.ai/badge
扫描器完整文档:rotifer.dev/zh/docs/cli/vg
报告由 Rotifer Protocol 发布。数据、方法论和扫描器均为开源。