这篇话题介绍关于「不安全插件」的一切知识。你将了解到:
- 什么样的插件会被评定为不安全?
- 安装了不安全插件会有什么危害?
- 我发现了一个不安全的插件,应当如何向官方反馈?
- 我是插件作者,我认为我的插件没有问题,应当如何解除不安全标记?
这篇话题介绍关于「不安全插件」的一切知识。你将了解到:
不安全插件是对特定插件的一种标识。
在插件市场中,此类插件的名称右侧将会显示一个红色的感叹号:
一个插件被标记为不安全,需要满足以下至少一个特征:
该插件存在某些具体威胁,包括:
该插件存在某些潜在威胁,包括:
如果某个插件的作者希望他们的插件以「不安全」的形式呈现在插件市场中,也可以手动在插件的 package.json
文件中标注并发布
插件的不安全与否主要是由 自动化程序进行判定 的,同时官方也会视情况手动标注部分插件作为补充。
自动化程序会尝试安装每一个插件的最新版本,并根据已经熟知的规则进行判断。主要包括:
满足以上条件之一的插件将会被标记为不安全。
一般情况下,官方不会主动标记插件为不安全(即便看到存在潜在威胁的代码也不一定会管)。这是因为,违反了其他规则的插件,只需要修改自身代码就能自动解除不安全标识;而被官方标记为不安全的插件,直到被官方解除标记前都会一直处于不安全状态。我们没有精力持续监控每一个插件的状态,所以若无必要官方绝对不会主动标记插件为不安全。截至我写这段话的时间,Koishi 的插件市场共有 600 个插件,而只有不超过 5 个插件和依赖被手动标记为了不安全,可以看到这个比例小于 1%。
如果你认为某个插件应当被标记为不安全,你可以按照以下的流程进行反馈:
如果你的插件被标记为了不安全,并且你对此完全没有头绪,有可能是因为你的代码实际上存在威胁但你不知道,也有可能是我们的自动化程序出了 bug。此时你同样可以向官方反馈以解除此标记:
不安全插件会使你的 Koishi 和运行 Koishi 的设备处于风险中,在二楼中已经介绍过了,但我还要再强调一遍:
对于最后一类插件,你仍然可以正常地安装和使用它们(例如 wechaty)。但无论如何,安装不安全插件的行为本身会导致你进入 308 状态。我们将不安全插件作为进入 308 的条件,正是为了防止更多用户受到不安全插件的影响。
现在有了:
某种意义上,这也是官方标记为不完全()
我不听我不听我不听
发布此楼后,陆续有几位开发者向我反馈了插件的误报情况。目前所有反馈的插件均已确认是误报,并且已经恢复正常显示。
请务必把k2345-security加入其中(
《自报家门》()
不过,不是有什么办法自己手动添加不安全吗()
koishi字段加一个"insecure": true
20230728 更新:由于收到了一些反馈,在经过 Koishi 团队讨论后,决定将 puppeteer 标记为了不安全依赖,依赖此包的插件会被标记为不安全插件。
特别注意:此次更新只针对 puppeteer (包),koishi-plugin-puppeteer (插件) 依然可以放心使用。
下面介绍该决策的细节。
起因:用户群中出现了一些反馈,表示某个插件无法成功安装,此现象为普遍现象。经过问题定位,群友发现是 puppeteer 依赖导致了这一问题。
问题分析:
对受到影响的插件的建议:
听起来是个很庞大的团队
听起来是个很庞大的团队
听起来是个很庞大的团队