维护者破坏热门node-ipc组件抗议俄罗斯入侵乌克兰

由维护者破坏自家NPM(Node Package Manager)组件的供应链攻击又一桩,安全企业Snyk发现,在3月15日热门的JavaScript前端框架Vue.js遭受NPM生态系统供应链攻击,这是嵌套相依项目node-ipc和Peacenotwa组件的维护者,因为抗议俄罗斯入侵乌克兰,所做出的破坏行为。

Snyk提到,虽然这是一种以抗议为动机的攻击,但凸显了软件供应链所面临的大问题,也就是程序代码的依赖性,可能对用户的软件安全造成重大的影响。目前Snyk正利用CVE-2022-23812来关注该安全事件。

这个事件可被追溯至3月8日,NPM维护者Brandon Nozaki Miller(RIAEvangelist)编写了一个称为Peacenotwar的NPM组件,并且加入模块描述提到,该模块程序代码作为非破坏性范例,来显示控制Node模块的重要性,同时,也以非暴力的抗议方法,来抗议俄罗斯威胁世界和平的侵略行为。该模块会在用户的桌面,显示表达和平理念的消息。

这个模块在3月15日前几乎没有被下载过,但是当NPM维护者将该模块添加到热门的模块node-ipc时,Peacenotwar开始被大量下载,因为node-ipc是生态系统中,许多JavaScript开发者所使用的热门相依项目,其中一个使用该项目的热门项目,是Vue.js的命令行工具Vue.js CLI。

当前最新的稳定版本NPM组件node-ipc 9.2.2捆绑了Peacenotwar,Snyk提到,有趣的是,Peacenotwar捆绑了带有万用字符*相依范围的colors NPM组件。colors组件是发生在2022年1月另一起NPM软件供应链攻击的主角,因为作者Marak Squires不满大部分财富500大企业使用他的项目colors和Faker,但是却又不愿支付费用,因而一气之下破坏程序代码存储库。

Snyk提到,虽然维护者RIAEvangelist的蓄意破坏,被部分人视为合法的抗议行为,但在表达意见的同时,也影响他在开发社群中的声誉。目前RIAEvangelist还维护40多个NPM组件,下载总数达数亿,虽然目前没有任何迹象,显示RIAEvangelist在其他的软件组件进行类似的滥用行为,但是Snyk仍提醒用户应该对npmjs生态系统更新保持警觉。

由于担心之后程序代码更新可能带给用户其他额外的风险,Snyk建议用户应该避免使用node-ipc组件,万一该组件已经捆绑在应用程序中,Snyk则建议用户使用NPM组件管理器,覆盖遭到破坏的版本,并且置顶已知良好版本。

Snyk表达支持乌克兰的立场,并且也采取行动停止在白俄罗斯和俄罗斯的业务,但是该公司提到,类似的故意滥用行为破坏全球开源社群,因此他们必须将受影响的node-ipc版本标记存在安全漏洞。同时由于类似的供应链安全事件一再发生,Snyk认为,这表明企业需有正确管理和快速应对开源相依项目风险的能力。

发表评论