网易首页 > 网易号 > 正文 申请入驻

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

0
分享至

  作者 | 褚杏娟

  近日,不少开发者(https://v2ex.com/t/840562#reply11)在使用到 vue -cli 中的 node-ipc 模块时,这个依赖项会在桌面以及其他位置创建一个叫做“WITH-LOVE-FROM-AMERICA.txt”的文件,不过打开这个文件是空的。据悉,该 package 每周下载量达到了百万。另外,使用 Yarn 的开发者也受到了影响。

  以反战为名的供应链投毒?

  开始有人以为只是个恶作剧,但事情并非如此简单。有开发者在对代码进行测试处理后发现,node-ipc 包的作者 RIAEvangelist 在投毒。他起初提交的是一段恶意攻击代码:如果主机的 IP 地址来自俄罗斯或白俄罗斯,该代码将对其文件进行攻击,将文件全部替换成 ❤。该作者是个反战人士,还特意新建了一个 peacenotwar 仓库来宣传他的反战理念。

  攻击源代码地址:https://github.com/RIAEvangelist/node-ipc/blob/847047cf7f81ab08352038b2204f0e7633449580/dao/ssl-geospec.js

  TC39 代表、Web 开发工程师贺师俊在知乎上分析称(https://www.zhihu.com/question/522144107/answer/2391166752),源码经过压缩,并简单地将一些关键字符串进行了 base64 编码,目的是利用第三方服务探测用户 IP,针对俄罗斯和白俄罗斯 IP 尝试覆盖当前目录、父目录和根目录的所有文件。

  虽然作者删除了该段代码,但贺师俊认为这仍然是一种恶劣的供应链投毒。“这里,具体的动机不重要,无论其动机多么良好(更不用说,很多人可能并不同意其政治倾向和道德立场),这样的行为都严重破坏了开源生态中的信任。”

  OpenHarmony 项目群工作委员会执行总监、中国科学院软件研究所高级工程师罗未也表示,开源软件供应链安全是一个及其严酷的议题,如果说 log4j 还能看做难以避免的工程误差,这件事就存在违法嫌疑。

  有开发者提供了该问题的解决方式:首先按照 readme 正常 install,构建结束后,用编辑器全局搜索'peacenotwar',将其全部删除;然后在项目的 node_models 目录下,将'peacenotwar'目录删除;之后将'项目 /node_modules/node-ipc/node-ipc.js'这个文件中引用'peacenotwar'的代码注释掉,便可以正常启动项目。

  此外,Vue-cli 昨天发布了新版本 5.0.2(https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md),将 node-ipc 版本锁定到 v9.2.1,用户可以直接升级。据悉,受恶意代码受影响的 node-ipc 版本为 v10.1.3 ,已经被作者删除或被 NPM 撤下,而 WITH-LOVE-FROM-AMERICA.txt 文件是由 v11.0.0 版本引入的。

  在此次事件中,有开发者认为(https://github.com/vuejs/vue-cli/issues/7054) Vue 团队在发布新版本方面做得还不够,Vue 团队应该在官方网站上添加关于该事件的弹出窗口,弃用所有受感染的 vue-cli 包,为其添加一条消息。另外还可以在发布新版本时添加一些警告,以便用户看到警告并自动升级。

  脆弱的 Node.js 生态

  这一事件再次显示了 JS/Node/NPM 生态的脆弱。

  去年 10 月,NPM 官方仓库 ua-parser-js 被恶意劫持,多个版本被植入了挖矿脚本。这个库每周下载数百万次,被用于一千多个项目,包括 Facebook、微软、亚马逊、Instagram、谷歌、Slack、Mozilla、Discord、Elastic、Intuit、Reddit 等公司的项目。同年 2 月,NPM 遭遇供应链投毒攻击,其官方仓库被上传了 radar-cms 恶意包,借此窃取 K8s 集群凭证。

  NPM 模块备受开发人员欢迎,这些模块间还普遍存在复杂的依赖关系,某个包通常安装另一个包作为依赖项,而开发人员对此却并不知情。依赖项的绝对数量也带来了更多的安全问题。只要破坏了开发人员普遍使用的流行包,恶意代码可以直接大规模地传播给受害者,而这完全可以通过依赖混淆、劫持弱凭据、利用漏洞访问目标代码或使用开发人员放弃的包的名称来完成。

  另外,NPM 存储库 npmjs.com 不要求 NPM 包中的代码与链接的 GitHub 存储库中的代码相同。这意味着攻击者不需要破坏 GitHub 存储库,只要破坏 NPM 包即可。

  贺师俊在知乎上表示,要解决或缓解这一问题,应该考虑在 JS 语言和 JS 运行时层面引入一些机制,比如说针对包级别的权限管理(deno 那样粗粒度的应用级别的权限管理并不足以解决供应链投毒问题)、在更多的 API 中引入类似 TrustedType 的机制等。“而这显然已经超出了库、框架或工程管控的层面。这也是为什么我一直说国内头部大厂应该要投入资源去参与语言标准、引擎和平台实现。”

  罗未提出,开源软件可参照其他行业的处理方式,如建筑设计师要终生为建筑设计质量担责、银行批贷员要终生为发放的贷款担责等。

  “开源软件,特别是重要的核心开源软件,往往远比一笔贷款或一个建筑对全球社会经济影响深远。开源软件作为一个具有风险的重型工程行业,必须匹配的行业风险管控体系,这是我们不得不面对的问题。”

  结束语

  “看一遍开源协议,要么 fork 要么忍着。”有开发人员对该事件评论道。前有 Node、React、pytorch、GitHub 等官网声明支援乌克兰,后有个人开发者进行供应链投毒,战争让大家对开源有了不同以往的认识。

  开源组织应不应该旗帜鲜明地表达自己技术之外的立场,并利用自身影响力去支持某一方呢?这是一个仁者见仁、智者见智的问题,我们不做赘述。但这个问题实实在在地出现了,就成了整个开源行业应该考虑的问题:当开源开始“站队”时,开发者该如何自处?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
5个10亿元级项目,签约落地南京

5个10亿元级项目,签约落地南京

新浪财经
2026-06-21 06:21:35
菲防长没想到,继全家被中方制裁后,还有更惨的:中国恐断供化肥

菲防长没想到,继全家被中方制裁后,还有更惨的:中国恐断供化肥

蜉蝣说
2026-06-21 13:30:23
原来他是陈冲前夫,定居好莱坞近40年,如今73岁生活低调孤身一人

原来他是陈冲前夫,定居好莱坞近40年,如今73岁生活低调孤身一人

锅锅爱历史
2026-06-21 23:41:02
全球四分之一胰腺癌在中国,提醒:不想胰腺受伤,4种零食要少吃

全球四分之一胰腺癌在中国,提醒:不想胰腺受伤,4种零食要少吃

路医生健康科普
2026-06-09 15:40:14
父亲节无人问津!餐厅客流与母亲节反差太大,网友建议取消父亲节

父亲节无人问津!餐厅客流与母亲节反差太大,网友建议取消父亲节

火山詩话
2026-06-21 05:58:48
江苏省南京市发布暴雨蓝色预警信号

江苏省南京市发布暴雨蓝色预警信号

北青网-北京青年报
2026-06-21 19:35:03
最新排名公布!中国女排第7,日本爆冷输球成第3,泰国摆脱降级

最新排名公布!中国女排第7,日本爆冷输球成第3,泰国摆脱降级

跑者排球视角
2026-06-21 08:07:01
王宝强第三部自导自演《狠家伙》,梁家辉、段奕宏、狄龙全员狠人

王宝强第三部自导自演《狠家伙》,梁家辉、段奕宏、狄龙全员狠人

打小我就醜
2026-06-21 22:15:06
早年熬得苦巴巴,中年福报找上门!这3生肖越老越吃香

早年熬得苦巴巴,中年福报找上门!这3生肖越老越吃香

温暖心语
2026-06-21 14:17:07
发现一个现象:中产返贫三件套,已经升级为六件套了!

发现一个现象:中产返贫三件套,已经升级为六件套了!

番外行
2026-05-18 10:25:35
杭州惦记这块地整整七十多年,嘉兴死死攥着就是不肯松手,这块地到底有什么魔力

杭州惦记这块地整整七十多年,嘉兴死死攥着就是不肯松手,这块地到底有什么魔力

天气观察站
2026-06-21 12:17:28
我在非洲干废品回收,娶了一对姐妹,年赚三百万,如今感觉快疯了

我在非洲干废品回收,娶了一对姐妹,年赚三百万,如今感觉快疯了

千秋文化
2026-05-01 19:00:05
中医倪海厦:人可以节约,可以不买衣服,甚至吃差点,不修边幅都可以,但一定要出门,不要将自己困在家里,只有在外面......

中医倪海厦:人可以节约,可以不买衣服,甚至吃差点,不修边幅都可以,但一定要出门,不要将自己困在家里,只有在外面......

背包旅行
2026-06-11 15:09:42
攻不了,也守不住!中国空军在西藏上空,被印度空军足足欺负40年

攻不了,也守不住!中国空军在西藏上空,被印度空军足足欺负40年

小杨侃事
2026-05-30 22:08:46
日本为什么总是点错科技树

日本为什么总是点错科技树

新浪财经
2026-06-16 03:16:20
美国被伊朗打醒了,180度转向,为和中国作战开始抄中国作业

美国被伊朗打醒了,180度转向,为和中国作战开始抄中国作业

何轐说
2026-06-22 02:34:02
笑不活了!要被网友们晒的粽子笑死,一个比一个惨不忍睹

笑不活了!要被网友们晒的粽子笑死,一个比一个惨不忍睹

观察鉴娱
2026-06-19 15:02:58
肯豆新恋情街拍出圈,极简松弛穿搭暗戳戳撒糖氛围感拉满

肯豆新恋情街拍出圈,极简松弛穿搭暗戳戳撒糖氛围感拉满

述家娱记
2026-05-26 12:33:26
跟儿女相处:讲道理是下策,闭嘴是中策,上策你绝对想不到

跟儿女相处:讲道理是下策,闭嘴是中策,上策你绝对想不到

热心市民小黄
2026-06-03 13:30:41
娜然没想到,恋情风波不到24小时,暴露一个信号 让郭晶晶口碑大

娜然没想到,恋情风波不到24小时,暴露一个信号 让郭晶晶口碑大

好贤观史记
2026-06-22 02:52:33
2026-06-22 03:56:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
12551文章数 51955关注度
往期回顾 全部

科技要闻

马斯克拿下7800亿元天价薪酬 2028年可兑现

头条要闻

西班牙4-0大胜沙特 亚马尔首次世界杯首发+首球

头条要闻

西班牙4-0大胜沙特 亚马尔首次世界杯首发+首球

体育要闻

德国的超级替补,10年前还在工厂上班

娱乐要闻

原来她就是张颂文老婆

财经要闻

“床垫界的特斯拉”破产了

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

教育
数码
游戏
公开课
军事航空

教育要闻

现在英国读商科,最好就业的几个专业!

数码要闻

曝英特尔"Raptor Lake Next"处理器移动端仅提供"HX"版本

《STRANGER THAN HEAVEN》游先看试玩报告:散装拳脚,也可以很爽"/> 主站 商城 论坛 自运营 登录 注册 《STRANGER THA...

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

时隔44年试射洲际导弹 现场照片传递三个重磅信息

无障碍浏览 进入关怀版