安全漏洞响应步骤
历史
2018 年 11 月 27 日,一个 npm 安全漏洞被公布,所有(无论是直接还是间接)依赖于 event-stream 包的用户,都会受到影响。这是一个非常有针对性的攻击,只有在安装了 Copay 比特币钱包的情况下才会激活,然后它会尝试窃取内容。
我们的两个项目,即 interactive-examples 和 BoB,依赖一个名为 npm-run-all 的 npm 包,而这个包又依赖于 event-stream 包。
这意味着不仅员工面临风险,分叉这两个仓库的人也可能受到影响。值得庆幸的是,受影响的软件包维护者反应迅速,并发布了更新来解决该问题。因为我们在这些仓库中运行了 Renovate 机器人,所以自动创建了一个随时可以合并的拉取请求。
但这只解决了问题的一部分。我们的用户仍需得到通知。
采取的步骤
项目(特别是 interactive-examples)的社区非常庞大,而且并不是每个人都活跃,但我们仍然需要一种方法来与每个人取得联系。因此,第一步是针对每个仓库打开一个议题,详细说明问题:
这本身还不够,因为用户不一定会主动监视议题。因此,我们需要查看项目的所有分叉。
然后,我们复制了所有这些用户的用户名,并在上述议题中提到了他们,例如通过评论。
从该议题收到的回复来看,这非常有效,但我们不能就这样放任不管。下一步是在每个打开的拉取请求中发布评论,通知用户存在的问题以及他们的下一步应该是什么。这是我们的回复的一个例子。
因此,我们相信我们的用户是安全的,因为我们联系了他们,而且 npm 和其他渠道也报道了这个问题。
最后,我们通过官方 Twitter 账户发布了推文,以尽可能地引起人们对该问题的注意。
总结
希望此类事件会越来越少。但如果再次发生,上述内容提供了一个很好的指导方针。