周下载量百万的 node-ipc 包以反战为名进行供应链投毒

vue-cli 的依赖项 node-ipc 包正在以反战为名进行供应链投毒,该包在 npm 每周有上百万下载量。 知名技术网站 V2ex 的一条爆出了这个问题,用户 在使用 npm 构建前端项目时

vue-cli 的依赖项 node-ipc 包正在以反战为名进行供应链投毒,该包在 npm 每周有上百万下载量。

知名技术网站 V2ex 的一条爆出了这个问题,用户  在使用 npm 构建前端项目时,启动项目后桌面自动创建了一个《 WITH-LOVE-FROM-AMERICA.txt 》文件,点开之后发现内容是空的。

simbaCheng 被吓一跳,以为自己电脑中毒了。在网友的热心帮助下,发现该 txt 文件是 vue-cli 的依赖项 的作者 RIAEvangelist 在投毒,该作者是个反战人士,还特意新建了一个 仓库来宣传他的反战理念。

然而网友继续深扒后,发现该作者还有更恶毒的投毒行为。如果说往用户桌面写 txt 文件属于激进的反战行为,那么知乎用户 所介绍的 的举动则是彻底的恶意攻击:

攻击源码在仓库中。源码经过压缩,简单地将一些关键字符串进行了 base64 编码。其行为是利用第三方服务探测用户 IP,针对俄罗斯和白俄罗斯 IP,会尝试覆盖当前目录、父目录和根目录的所有文件,把所有内容替换成 ❤。

注意:该作者清晰地知道自己在做什么,以及这些代码意味着什么,他在 issue 里明确指出了下游可以消除影响的变通方法。

但在提交了上面恶意攻击代码后,也许是意识到自己行为的严重性,该作者在半天后把该恶意攻击改成了“较和平”的“反战” TXT 文本,正如本文开头所描述的一般。但无论如何这仍然是一种恶劣的攻击行为,严重破坏了开源生态中的信任。(而且“美国和平反战”怎么有一股黑色幽默的味道…)。

后续:vue-cli 的仓库已有相关的  ,讨论 vue 该如何警示用户注意这个依赖性的问题。

在该 vue-cli  issue 中,RIAEvangelist 更是大方承认自己的恶意代码是针对俄罗斯和白俄罗斯用户?

随后 vue-cli 发布了,将 node-ipc 的版本锁定到 v9.2.1

附受影响项目的解决方式:

按照 readme 正常 install
构建结束后,用编辑器全局搜索’peacenotwar’,将其全部删除
然后项目的node_models目录下,将’peacenotwar’目录删除
‘项目/node_modules/node-ipc/node-ipc.js’这个文件中引用’peacenotwar’的代码注释掉
然后正常启动项目即可。

关于作者: qwephp

.

为您推荐