Node-ipc 热门包作者投毒“社死‘’,谁来保护开源软件供应链安全?

4053b11c8c648fbb4e7c2d8930dffa33.gif 聚焦源代码安全,网罗国内外最新资讯!

fa09132896044b9439a2928a086c6681.png

f9e7bbb402bec25fdda4abdcd8abffaa.png

a8e710e70f70453e337f18b46efa52a9.png

恶意代码如下:

8be485a1886da121224397a7450d8976.png

?

为此,Vue 项目维护人员@sodatea澄清指出:

(1)Vue CLI 依赖于 node-ipc v9.x版本。

(2)Node-ipc 9.2.2 增加了peacenotwar模块,该模块会在未经用户同意的情况下,将“WITH-LOVE-FROM-AMERICA.txt” 写入用户Desktop 和 OneDrive 文件夹。

(3)目前发布 4.5.16和5.0.3版本锁定该依赖版本。

(4)受影响用户是在2022-03-15T05:40:26.758Z至2022-03-15T13:17:57.076Z期间创建项目的用户,或者在这个时间段更新了项目依赖的用户。

(5)删除俄罗斯和白俄罗斯 IP 地址文件的恶意代码并不包含在增加了 peacenotwar 模块的 9.2.2版本中。

@sodatea 表示,解决该问题的最佳方法是npm注册表直接下架这些恶意代码,并表示npmmirror.com 已采取措施将有问题的版本重定向到最新的安全版本 cnpm/bug-versions#181。

f8f7029d5335083ab77980f02b6d9224.png

投毒供应链引发众怒

针对此事,由用户表示,“有人用行动表明开源是有国界的。供应链污染并非良策。”

18ace1bcaee2efffbfdafe8dfdbbb483.png

GitHub用户@jukrb0x情绪激动,对该事件发表了四点看法:

(1)将不不相关代码和恶意代码写入开源用户来传播自己的个人情绪的行为,从来都不是抗议和提倡反战的正确方法。

(2)你让node社区为此蒙羞。有人star或fork你的项目,就是等于你在投毒无辜的开发人员和网络,你的个人道德永远不应该成为供应链中的主角。你为自己所开源的代码负责,即使没有相关底线,但我认为像你一样的人没有作为真正抗议人员或战斗人员的道德底线,你是一个笑话,就像幼儿园孩子一样幼稚。

(3)我只想问你,俄乌战争是当前发生的唯一战事吗到底是一个真正的反战人士,还是只是宣扬自己的个人政治信仰这么做太幼稚了。

(4) 这个案例表明,nodejs 包系统中存在漏洞,你的所做作为已经导致信任链破产。你只是***,开源社区以你为耻。

3d8050d5db08660172c218615fa3a0ce.png

如何保护开源软件供应链安全

实际上针对供应链投毒的事件层出不穷。比如曾在2018年发生的event-stream 投毒事件。项目作者由于时间和精力有限,将其维护工作交给了另一位开发者 Right9ctrl,该开发者获得了 event-stream 的控制权,将恶意代码注入。据报道,该恶意程序在默认情况下处于休眠状态,当 BitPay 的 Copay 钱包启动后,就会自动激活,它将会窃取用户钱包内的私钥并发送至 copayapi.host:8080。event-stream包是一个Node.js 流数据的 JavaScript 软件包,每周下载量在200万次以上,截止到目前为止已经有大约800万次的下载量,持续时间为2.5个月。

使用越来越广泛的开源项目已成为软件基础设施的核心组成部分,开源项目自身的开发安全也愈发重要。代码托管服务器、Git账户、社区账户、制成品仓库等各个开发环节都有可能成为不法黑客的攻击目标。这次node-ipc 库中被植入恶意代码就是一个典型的案例。

除event-stream 事件外,近期还发生多起开源软件供应链安全事件,比如Log4Shell 事件、Linux “脏管道”事件、周下载量超过700万次的 JavaScript 流行库 ua-parser 账户遭接管事件、影响多家大厂的依赖混淆事件、SolarWinds事件、PHP源代码事件等等。

供应链安全风险是各个层面、各个环节、各个维度的。其最大的挑战就在于供应链的复杂性。首先,针对供应链各环节,需要有检测安全风险的能力;第二,供应链安全是动态的,需要持续监测,并配有安全运营机制。

当前,从软件供应链安全的角度来看,国内监管机构已陆续推出相关标准及政策,但针对关键基础设施和重要信息系统相关的企业和单位,并没有制定具体的举措和细则要求。

打好软件供应链安全治理“团体赛”,需要整个开源生态在供应链的各个环节建立一系列的安全准则和最佳实践,切实保障整个网络空间的安全。例如,在代码最终交付之前,采用应用安全的静态、动态分析方案,尽可能避免造成后门或漏洞;在供应链的各个环节中,引入完整性校验技术及流程,避免遭意外或恶意篡改。


代码卫士试用地址:https://codesafe.qianxin.com/

开源卫士试用地址:https://oss.qianxin.com

4bb09b78d98d39bb3e11dc0e6d0d6edb.png

64ae38f921b372e22ff1237241b13f96.gif 觉得不错,就点个 “在看” 或 “赞” 吧~

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91536 人正在系统学习中

来源:奇安信代码卫士

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐