两周前,npm 发布官方博客表示,他们不小心移除了用户的 floatdrop,并在公共 npm 注册表中阻止了所有 102 个软件包的查找和下载。其中一些软件包是高度依赖的,比如 require-from-string,这样的移除中断了许多用户的安装。不过 npm 很快发布博客做出澄清,这是内部运营问题,而非安全问题,让用户不要担心。 npm 解释道,那段时间,他们发布了一个安装包,其中包含垃圾邮件和用于 floatdrop 的合法软件包的 README,而垃圾邮件的系统标记将 floatdrop 识别为垃圾软件包。使得工作人员在审查和处理垃圾邮件报告的过程中,将其误删。 60 秒后,工作人员发现,floatdrop 并不是一个垃圾软件包发送源,而其中的软件包在 npm 生态系统中被大量使用。发现者赶紧通知同事,重新激活了用户,并立即恢复软件包的正常使用。 在 npm 工作人员接受用户请求删除包的情况下,工作人员会以相同的名称(安全占位符)发布替换包提醒那些依赖它的人,原来的软件包不再可用,并防止他人发布使用该软件包名称的新代码。 然而,在两周前事件发生的时候,相关负责人表示,在这样的情况下,他们没有相关的规定或措施来发布被删除的软件包的占位符。 npm 现在会对给予被删除的软件包 24 小时的冷却时间,用以重新发布或恢复,并且也在更新他们的审查流程。 |