NPM模块node-ipc被投毒

node-ipc包是vue-cli的依赖项。用户simbaCheng在使用npm构建前端项目时,启动该项目后桌面会自动创建一个名为《WITH-LOVE-FROM-AMERICA》的txt文件,点开之后发现内容为空。

NPM模块node-ipc被投毒

用户simbaCheng以为中毒了,遂向网友求助,网友经过摸查发现,node-ipc包的作者在库里添加了一个名为peacenotwar的模块,这个模块在用户电脑电脑上运行就会自动生成《WITH-LOVE-FROM-AMERICA.txt》文件。

NPM模块node-ipc被投毒

peacenotwar模块和《WITH-LOVE-FROM-AMERICA.txt》文件,都明确的表明了node-ipc包的作者的想法,那就是反战。这种激进的反战行为,引起了网友们的一致谴责。

接下来发生的事情更是让人气愤,有部分网友在peacenotwar模块被发现后,进一步挖掘,发现了危险性更強的恶意源码。这段源码经过压缩,将一些关键字符串进行base64编码,利用第三方服务探测用户IP,最终针对俄罗斯和白俄罗斯IP,将会覆盖当前目录、父目录和根目录的所有文件,并把内容替换成

node-ipc包的作者在提交了恶意代码后,也许是意识到自身行为的严重性,自己把恶意代码改成了peacenotwar模块和《WITH-LOVE-FROM-AMERICA.txt》文件。

这件事听起来是为了反战和呼吁和平,但是无论如何,这种恶劣的攻击行为,严重破坏了广大程序员群体对开源的信任。程序员们的反应也都很激烈,中文网站上骂声此起彼伏。

一个善良的心已经被污染了,不再拥有极客精神,被人唾弃的可怜虫。

开源世界不是法外之地,应该得到监管和规范。

技术无国界,但是技术人员有国界。

已经把node-ipc包计入npm黑名单,后面不会再同步这个包的任何新版本。

node-ipc包被投毒的版本是9.2.2,如果你的项目是在3月5日13:40:26至21:17:57 两个时间点间创建的,或者在这个时间更新过npm依赖的,那你就中毒了。

目前维护者也已经将node-ipc的版本锁死为9.2.1(中毒前的最后一个版本)。如果你正在使用Node.js依赖,大家可以把版本号锁死,即把 “^9.1.1” 改为 “9.1.1”,以防代码被投毒。

最后,受影响项目的解决方式:

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

原创文章,作者:cadcamzy,如若转载,请注明出处:https://www.8282.info/index.php/2022/03/21/npm-node-ipc-ru/;软件下载类文章均为转载,如有版权问题请联系本站,将第一时间删除!

发表评论

登录后才能评论