「开源」以反战之名,向开源项目“投毒”?知名NPM包作者注入恶意代码,只为一个文件名
精选评测好文
原文标题:以反战之名,向开源项目“投毒”?知名NPM包作者注入恶意代码,只为一个文件名
作者 | 张洁 责编 | 屠敏
出品 | CSDN
2021 年,开源软件引发的安全性问题层出不穷,继影响广泛的 Log4j2 漏洞,还有因没有开源收入,著名开源 npm 包 faker.js 和 colors.js 项目作者 Marak Squires 主动恶意破坏自己的项目并 " 删库跑路 " 等事件。近期又有开发者向自己维护的项目源代码中 " 投毒 ",将恶意代码注入其中,当其他开发者使用该项目时,自己的计算机桌面会自动生成一个名为 "WITH-LOVE-FROM-AMERICA.txt",打开乍一看啥都没有,但又细思极恐。
在了解这位开发者究竟为何这么做时,其名曰 " 反战 "。
向多版本 " 投毒 ",开源开发者的蓄谋
这个故事要从名为 node-ipc 和 Peacenotwar 的两个 npm 包开始说起。
node-ipc 是 npm 中一个主流的开源包,平均每周下载次数高达 100 万次。它允许进程间通信,被广泛用于基于 JavaScript 的项目中,在我们经常使用的 Vue.js 和 Node.js 等框架中也常能看到 node-ipc 的身影。
时针回到 3 月 8 日这一天,node-ipc 背后的作者 RIAEvangelist ( Brandon Nozaki Miller ) 在这个项目中发布了一个 Peacenotwar 的 npm 包。
所谓 Peacenotwar,正如 RIAEvangelist 对此模块撰写的描述那番:
这段代码是一个非破坏性的例子,说明为什么控制你的 node 模块很重要。它还可以作为一种非暴力抗议,以反对俄罗斯目前威胁世界的侵略行为。此模块将在您的用户桌面上添加一条和平消息,并且仅在它不存在时才会这样做,只是为了礼貌。
事实上,据安全厂商 Snyk 后来的调查显示,这是一次蓄意而为的行动,并非 RIAEvangelist 一时兴起。
因为在 3 月 7 日,RIAEvangelist 接连发布了 node-ipc 的 10.1.1、10.1.2 两个版本。在这两个版本中,RIAEvangelist 对代码进行了更新,还将源码进行了压缩,简单地将一些关键字符串进行了 base64 编码,由此也让部分开发者对他的所为可能会带来的一些可疑活动、可能滥用源代码和包行为表示担忧。
此次更新的两个版本的代码被添加设置了一个计时器,一旦有代码经过计时器函数时,它们将在以下代码行中用作文件输入源,以擦除文件内容并将其替换为心形符号。除此以外,这段代码还会对来自俄罗斯或白俄罗斯的 IP 进行监测。
本来很多人只是对 RIAEvangelist 的行为感到担心和不安,万万没想到,3 月 8 日,node-ipc 10.1.3 版本发布了,且这个版本引入了 Peacenotwar 模块。四个小时后,node-ipc 11.0.0 版本发布,此时,开发者在基于 node-ipc 包构建项目时,桌面上会无缘无故出现一个名为 "WITH-LOVE-FROM-AMERICA.txt" 的文件。
刚开始,并没有太多人发现这个问题,因为在此之前,Peacenotwar 模块几乎无人下载。
然而,直到 3 月 15 日,Peacenotwar 的下载量激增。
想必很多人也能猜到,没错,在这一天中,RIAEvangelist 将 Peacenotwar 作为 node-ipc 的依赖项引入了。与此同时,RIAEvangelist 也发布了 node-ipc 9.2.2 补丁版本,它是 node-ipc 的最新的稳定分支,其中主流的前端框架 vue cli 使用了这一版本。
这意味着所有使用 node-ipc 的项目都可以让用户的屏幕显示 "WITH-LOVE-FROM-AMERICA.txt" 文件。幸运的是,此模块仅显示文本,不会擦除数据。据悉,RIAEvangelist 最初开发这份恶意代码是为了识别用户的 IP 并仅当地址来自俄罗斯或白俄罗斯时,删除数据的。
此事一经发现,便在技术圈中引起了热议。
开源社区的信任再遭破坏
截至目前,RIAEvangelist 把 " 投毒 " 的代码删除了。vue cli 项目中的 node-ipc 版本也回滚到了安全的 9.2.1 版本。最早有问题的 node-ipc10.1.1 和 node-ipc10.1.2 都已经废弃。
除此之外,RIAEvangelist 还在 GitHub 的相关 issue 讨论中回复到:
1. 运行该代码实际上是不可能的,它不构成威胁,但它看起来确实很吓人。
2. 我打算把这块不是战争的模块标记为抗议软件,只是为了明确说明它是这样的。
其中,RIAEvangelist 维护着 40 多个其他 npm 包,下载量达数亿。
现实来看,开源生态耗费了无数开发者的时间与精力,才慢慢壮大起来。因自己的个人观点和做法,牵扯其背后的开源开发者们和普通用户,无疑之中严重破坏了开源生态的信任,RIAEvangelist 所带来的影响也是无法估计的。
看了有关问题的讨论,RIAEvangelist 试图在扭曲事实,还说 API Key 是无效的。但经另一位开源开发者 MidSpike 实测后,这个 API Key 是有效的。
脆弱的供应链,需要每一个社区成员守护
从彼时的 Log4j2 到现在的 node-ipc,这不禁让人担心一个问题,那就是开源软件供应链安全问题,越是庞大的项目在供应链安全方面越是脆弱。
对此,有不少网友建议开发一种代码审查机制。如果审查机制建立,包含恶意代码的包将会进一步减少,同时开源社区的安全更有保障。除此以外,广大网民还需要有反恶意行为的意识,维护 " 绿色 " 开源。
开源社理事长庄表伟直接表示:我们需要建立一种开源世界的反分裂共识。
同时,开源安全扫描平台 snyk 中也给出了一些建议:" 由于担心未来的代码更新可能会给用户带来风险,我们建议完全避免使用 npm 包。如果此 npm 包作为您正在构建的应用程序的一部分捆绑在您的项目中,那么我们建议您使用 npm 包管理器功能来完全覆盖被破坏的版本并将传递依赖关系固定为 known good。" 以此来解决用户的担忧。
这件事让多少用户痛恨 RIAEvangelist,破坏了多少人所建立的心血。一代人应该有一代人的担当,广大用户应该奉献自己的力量,守护好这个社区。如果开源社区不加以整治,未来又会有多少个这样的 " 包 " 呢?开源社区的成员还会越来越多吗?对于这件事,你有什么看法吗?
热门阅读:米家电暖器系列体验报告<\a>
其他人还看了
「谷歌」谷歌1800万投资烂尾项目,推动个人数据在不同平台迁移
「雷蛇」雷蛇公布2021年全年收益:录得收入16.196亿美元
「risc-v」售价239美元,第一台RISC-V便携式计算机上市
郑重声明:本文“「开源」以反战之名,向开源项目“投毒”?知名NPM包作者注入恶意代码,只为一个文件名”,https://nmgjrty.com/shumacp_383817.html内容,由CSDN提供发布,请自行判断内容优劣。
上一篇:「泡泡玛特」价格虚高、质量差、涉炒作,被315点名的泡泡玛特怎么了?
下一篇:没有了
- 全部评论(0)
- 「开源」以反战之名,向开源项目“投毒”?知名NPM包作者注入恶意代码,只为
- 「泡泡玛特」价格虚高、质量差、涉炒作,被315点名的泡泡玛特怎么了?
- 「mac」人人疯抢、一机难求!“断头Mac”的性价比到底有多恐怖?
- 「三星」强制降频!全网都在喷这款万元机皇
- 「马斯克」马斯克才是巴菲特传人
- 「互联网」性格测试,疯狂收割年轻人的生意
- 「nvidia」NVIDIA下代显卡危险了!被曝功耗失控、性能也不如AMD
- 「编程」逆转衰老!“70岁”小鼠经过数月治疗,肾脏皮肤血液细胞重返“年轻
- 「芯片」iPadAir用上Pro同款M1芯片,苹果不怕互相冲突吗?
- 「松下」昙花一现亦是经典,3DO游戏机生日有多少玩家记得?
- 「肌肉」为什么照片里的笑容看起来总像是在被迫营业?
- 「三星」RedmiK50系列用上三星2K直屏!卢伟冰:可能2022年都无对手
- 「android」Android13要来了,不仅抄iOS还抄国产手机!
- 「守望先锋」官宣3年后《守望先锋2》B测定档4月26日:10年前的GTX600也能玩
- 「新能源汽车」年轻人与“电动爹”和解了?
- 「android」Android13针对PC电脑大优化:窗口化APP一键看通知
最新更新
- 「开源」以反战之名,向开源项目“投毒
- 「泡泡玛特」价格虚高、质量差、涉炒作
- 「mac」人人疯抢、一机难求!“断头Mac”
- 「三星」强制降频!全网都在喷这款万元
- 「马斯克」马斯克才是巴菲特传人
- 「互联网」性格测试,疯狂收割年轻人的
- 「nvidia」NVIDIA下代显卡危险了!被曝功耗
- 「编程」逆转衰老!“70岁”小鼠经过数
- 「芯片」iPadAir用上Pro同款M1芯片,苹果不
- 「松下」昙花一现亦是经典,3DO游戏机生
- 「肌肉」为什么照片里的笑容看起来总像
- 「三星」RedmiK50系列用上三星2K直屏!卢伟
- 「android」Android13要来了,不仅抄iOS还抄国
- 「守望先锋」官宣3年后《守望先锋2》B测
- 「新能源汽车」年轻人与“电动爹”和解
推荐阅读
- 「泡泡玛特」价格虚高、质量差、涉炒作,被315点名的泡泡玛特怎么了?
- 「mac」人人疯抢、一机难求!“断头Mac”的性价比到底有多恐怖?
- 「三星」强制降频!全网都在喷这款万元机皇
- 「马斯克」马斯克才是巴菲特传人
- 「互联网」性格测试,疯狂收割年轻人的生意
- 「nvidia」NVIDIA下代显卡危险了!被曝功耗失控、性能也不如AMD
- 「编程」逆转衰老!“70岁”小鼠经过数月治疗,肾脏皮肤血液细胞重返“年轻
- 「芯片」iPadAir用上Pro同款M1芯片,苹果不怕互相冲突吗?
- 「松下」昙花一现亦是经典,3DO游戏机生日有多少玩家记得?
- 「肌肉」为什么照片里的笑容看起来总像是在被迫营业?
- 「三星」RedmiK50系列用上三星2K直屏!卢伟冰:可能2022年都无对手
- 「android」Android13要来了,不仅抄iOS还抄国产手机!
猜你喜欢
- [iPhone]iPhone13promax远峰蓝128G入手
- [安卓手机]realme真我GTNeo2开箱,金刚石冰芯散热系统+E4屏,5000mAh大电池
- [贴膜]红米9爆屏更换记录,弯曲的中框修复
- [智能机器人]编程从娃娃抓起,MakeBlock程小奔上手体验
- [智能摄像机]内置大电池,无需打孔走线,小米室外摄像机给你满满的安全感
- [充电器]65w网红氮化镓一次看个够
- [电脑支架]原汤化原食,LGErgo显示器支架
- [蓝牙耳机]中端耳机音质天花板,降噪很有一手,鹿图COCO真蓝牙降噪耳机评测
- [音频播放器]关于R01主板的主观看法,和一些碎碎念
- [充电器]双口快充,满足日常需求
- [VR设备]GOOVISLite头戴影院评测
- [蓝牙耳机]魅蓝Blus耳机体验,魅蓝依旧还是当年坚持做良品的青年良品
- [安卓手机]从5988跌至2749,256GB+鸿蒙OS+7nm麒麟,从高端市场跌至中端市场
- 「轻众测|素诺智能可视冲牙器」别急,对准再冲!素诺可视冲牙器让残渣无所
- 「九号新品Nano及Air T15」萌娃初体验——Ninebot九号平衡车Nano