DSH Quality

B 级 DSH 插件告诉你什么(以及没告诉你什么)

B 级既不是警告,也不是免检证书。这篇讲清楚这个等级到底在量什么、有哪两件事它闭口不提,以及装之前该查的四项。

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 分。

等级我们扫描中见到的分数大致含义
A84-92安全检查通过,文档与维护都跟得上
B78-82安全检查通过,文档或发布节奏有小缺口
C低于 B 档装之前先看安装脚本
DTop 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 级失分失在同一个软支柱上。

插件分数为什么扣分要不要装
OpenVikingB(82)文档有小缺口装,前提是 README 覆盖了你需要的部分
nocobaseB(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。带当前等级的完整插件索引在 /。

b grade plugindsh plugin gradeplugin grade interpretationplugin quality gradeb grade meaningplugin grade interpretationdsh plugin grade scalewhat a b grade plugin tells you