B 级插件是最让人犹豫的那一档,而犹豫多半来自不知道这个字母到底覆盖了什么。先说等级含义:在 DSH 插件评级刻度上,B 紧挨着 A 下面,意味着安全检查过了,分扣在了更软的地方,通常是文档或发布节奏。整个评级解读可以一句话说完:B 级告诉你的其实很窄:它不危险,但也不完美。下面是这条线具体划在哪、我们 Top 10 扫描里出现的两个 B 级,以及装之前值得查的四件事。
B 在 dsh plugin grade scale 上的位置
字母等级是 0-100 分的压缩读法,而压缩正是困惑的来源。评分页把分数分成四档,70-89 被描述为「良好,有小顾虑」。字母版里,Top 10 扫描给 OpenViking 打了 B(82)、nocobase 打了 B(78),同一张表里 A 级从 84 到 92,唯一的 D 是 45 分。
| 等级 | 我们扫描中见到的分数 | 大致含义 |
|---|---|---|
| A | 84-92 | 安全检查通过,文档与维护都跟得上 |
| B | 78-82 | 安全检查通过,文档或发布节奏有小缺口 |
| C | 低于 B 档 | 装之前先看安装脚本 |
| D | Top 10 扫描中 45 分 | 安装脚本危险,没读源码不要装 |
A 和 B 之间的差距比字母暗示的要小,而且不是安全上的差距。两档过的是同一批检查。
B 级确实告诉你的三件事
三件事,在看插件页上别的内容之前,这三件都值得先知道。
- 安装脚本查下来是干净的。这正是把 B 和 C、D 分开的那项检查,也是最重要的一项。
- 分扣在软支柱上:文档质量或维护活跃度,两者都能补回来,单独看都不构成风险。
- 这个插件离生态顶部比离底部近。Top 10 扫描里十个有七个是 A,D 只有一个。
当安全信号读,B 离 A 比离 C 近。真正携带风险信息的是它上面和下面的字母。
B 级没有告诉你的事
两个方向都会读错,而两种错法代价都不小。
- 它不说明合不合适。一个文档写得很好、却只做了你一半需求的插件,仍然是错的选择。
- 它不说明趋势。半年前是 A、现在是 B,和一直平稳在 B,是两种情况。分数走势写在 /blog/dsh-plugin-score-trends-what-a-dropping-score-means。
- 它不说明权限。申请的文件或网络访问范围超出本职工作时,并不总会让等级掉到该掉的位置。
- 它不预测未来。只有一个维护者的小插件,可以稳稳用两年,然后突然停更。
等级是某一天四个支柱的快照,不是维护承诺。把它当承诺,团队迟早会被吓一跳。
Top 10 扫描里的两个 B 级
具体的例子比定义好懂。我们对星数最高的十个插件做扫描时,两个 B 级失分失在同一个软支柱上。
| 插件 | 分数 | 为什么扣分 | 要不要装 |
|---|---|---|---|
| OpenViking | B(82) | 文档有小缺口 | 装,前提是 README 覆盖了你需要的部分 |
| nocobase | B(78) | 最后推送时间略旧 | 装,但先看发布节奏 |
两个都没响警报。两个都该更频繁地发版,而「该多发版」和「不安全」是两个不同的问题。
装一个 B 级插件之前
四项检查,按这个顺序。加起来大约五分钟,和你在 A 级上会跑的四项一样,只是容错空间更小。
- 自己读一遍安装脚本。扫描器说没问题,你仍然该知道什么东西会在你机器上跑起来。
- 看最后一次发布的时间,而不是最后一次提交。仓库可以很忙,而发布出去的产物已经一年没动。
- 把分数和它自己的历史比,而不是和整个生态比。方向比位置重要。
- 确认索引名和源码仓库名对得上。/blog/tag-baiting-problem 里那些命名把戏和等级毫无关系。
四项都干净就装。有两项不对,拦住你的也不该是那个等级。
常见问题
- B 级能装吗?通常能。安全这一支柱过了。B 级要求的是快速看一眼文档和发布节奏,不是做一次完整审计。
- 要不要等它升到 A?只有当扣掉的分正好在你依赖的那部分时才需要。通过稳定窄接口使用的插件,不需要一份完美的 README。
- 为什么不只装 A 级?因为 A 档很小,而 B 档里装着大多数值得用的插件。只筛 A 会把能用的软件一起排除掉。
- B 级是不是说明维护者不靠谱?不是。它说明可测的活跃度信号稍弱。一个人按自己的慢节奏发版,照样可以很可靠。
四个支柱怎么算分写在 /blog/dsh-quality-score-decoded,任何等级都覆盖不到的危险信号列在 /blog/how-to-avoid-risky-dsh-plugins。带当前等级的完整插件索引在 /。