大破坏:著名的npm软件包通过删除数据以抗议俄乌冲突

本月,流行的npm包”node-ipc”背后的开发人员发布了该库的破坏版本,以抗议正在进行的俄乌战争。

“node-ipc”每周下载量超过一百万次,是 Vue.js CLI 等主要库使用的一个突出的软件包。

抗议软件:乌克兰持续的危机渗入开源

大量流行的”node-ipc”软件包的选定版本(10.1.1和10.1.2)被发现包含恶意代码,这些代码将覆盖或删除俄罗斯和白俄罗斯用户的系统上的任意文件。这些版本在 CVE-2022-23812 下进行跟踪。

3月8日,开发人员Brandon Nozaki Miller,又名RIAEvangelist,在npm和GitHub上发布了名为peacenotwar的开源软件包和一日测试。

这些软件包似乎是最初由开发人员创建的,作为和平抗议的一种手段,因为它们主要在安装软件包的任何用户的桌面上添加”和平信息”。

“这段代码是一个非破坏性的例子,说明了为什么控制你的节点模块很重要,”RIAEvangelist解释说。

但是,当著名的”node-ipc”库(也由RIAEvangelist维护)的选定npm版本被看到对所有数据启动破坏性有效载荷并覆盖安装该软件包的用户的所有文件时,混乱就出现了。

有趣的是,开发人员早在3月7日就提交了恶意代码,它将读取系统的外部IP地址,并且仅通过覆盖俄罗斯和白俄罗斯用户的文件来删除数据。

“node-ipc”中存在的代码,特别是在文件”ssl-geospec.js”中,包含base64编码的字符串和混淆策略,以掩盖其真实目的:

为俄罗斯和白俄罗斯用户运行的”node-ipc”中的恶意代码

研究人员提供的代码的简化副本表明,对于位于俄罗斯或白俄罗斯的用户,该代码将使用心形表情符 重写系统上存在的所有文件的内容, 从而有效地删除系统上的所有数据。

此外,由于”node-ipc”版本9.2.2,11.0.0以及大于11.0.0的版本将peacenotwar模块捆绑在自己体内,受影响的用户看到”
WITH-LOVE-FROM-AMERICA.txt”文件在他们的桌面上弹出”peace”消息:

来自美国的爱.txt多语言”和平”信息的文件

开源安全公司Snyk的研究人员也跟踪并分析了恶意活动:

“在这一点上,如果与俄罗斯或白俄罗斯的地理位置相匹配,那么任何将调用此npm软件包的系统都将发生非常明显的滥用和关键的供应链安全事件,”Snyk开发人员倡导总监Liran Tal在一篇博客文章中写道。

Vue.js用户对供应链攻击感到恐慌

流行的JavaScript前端框架”Vue.js”也使用”node-ipc”作为依赖项。但在这次事件之前,’Vue.js’并没有将’node-ipc’依赖关系的版本固定到安全版本,而是设置为获取最新的次要版本和补丁版本,从插入符 (^)符 中可以明显看出:

Vue.js CLI 的版本之前拉取了 node-ipc 的最新次要版本和补丁版本

因此,Vue.js CLI 用户紧急呼吁该项目的维护人员将”node-ipc”依赖项固定到一个安全版本,因为有些人受到了惊吓。

开发人员Lukas Mertens和Fedor警告其他项目维护人员确保他们不是恶意的”node-ipc”版本:

Lukas Mertens使用恶意的”node-ipc”版本(GitHub)警告所有者

Snyk研究人员怀疑,对系统造成公然破坏的”node-ipc”版本10.1.1和10.1.2在发布后24小时内被npm删除。

但请注意,”node-ipc”版本 11.0.0 及更高版本在 npm 上仍然可用。而且,这些版本仍然包含peacenotwar模块,该模块将在桌面上创建上述”
WITH-LOVE-FROM-AMERICA.txt”文件。

因此,如果您的应用程序是使用”node-ipc”库构建的,请确保将依赖项固定到安全版本,例如9.2.1(事实证明9.2.2也不是无辜的)。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月18日
下一篇 2022年2月18日

相关推荐