Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue CLI 的依赖项被投毒!

Vue CLI 的依赖项被投毒!

作者头像
@超人
发布于 2022-04-14 06:03:36
发布于 2022-04-14 06:03:36
1.3K0
举报
文章被收录于专栏:Vue中文社区Vue中文社区

vue-cli 的依赖项 node-ipc 包正在以反战为名进行供应链投毒,该包在 npm 每周有上百万下载量。

知名技术网站 V2ex 的一条帖子爆出了这个问题,用户 simbaCheng 在使用 npm 构建前端项目时,启动项目后桌面自动创建了一个《 WITH-LOVE-FROM-AMERICA.txt 》文件,点开之后发现内容是空的。

simbaCheng 被吓一跳,以为自己电脑中毒了。在网友的热心帮助下,发现该 txt 文件是 vue-cli 的依赖项 node-ipc 包的作者 RIAEvangelist 在投毒,该作者是个反战人士,还特意新建了一个 peacenotwar 仓库来宣传他的反战理念。

然而网友继续深扒后,发现该作者还有更恶毒的投毒行为。如果说往用户桌面写 txt 文件属于激进的反战行为,那么知乎用户 @贺师俊 所介绍的 这个 Issue 中(https://github.com/RIAEvangelist/node-ipc/issues/233#issuecomment-1068182278)的举动则是彻底的恶意攻击:

攻击源码在仓库中仍可找到(https://github.com/RIAEvangelist/node-ipc/blob/847047cf7f81ab08352038b2204f0e7633449580/dao/ssl-geospec.js)。

源码经过压缩,简单地将一些关键字符串进行了 base64 编码。其行为是利用第三方服务探测用户 IP,针对俄罗斯和白俄罗斯 IP,会尝试覆盖当前目录、父目录和根目录的所有文件,把所有内容替换成 ❤。

但在提交了上面恶意攻击代码后,也许是意识到自己行为的严重性,该作者在半天后把该恶意攻击改成了“较和平”的“反战” TXT 文本,正如本文开头所描述的一般。但无论如何这仍然是一种恶劣的攻击行为,严重破坏了开源生态中的信任,它最坏的后果是带来强代码审核,各大代码托管平台会对代码注释、变量常量命名进行审核。

注意:该作者清晰地知道自己在做什么,以及这些代码意味着什么,他在 issue 里明确指出了下游可以消除影响的变通方法。在该 vue-cli issue 对话 中,RIAEvangelist 更是大方承认自己的恶意代码是针对俄罗斯和白俄罗斯用户😅

而且,这不是 RIAEvangelist 和他的这个 node-ipc 包第一次引起争议了,早在 2020 年 node-ipc 就因为其奇怪的“don't be a dick”许可证引起了争议,尤雨溪还出面回应:

后续:

  • vue-cli 发布了新版本(https://github.com/vuejs/vue-cli/releases/tag/v5.0.3),将 node-ipc 的版本锁定到 v9.2.1

附受影响项目的解决方式:

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

文 | 罗奇奇

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Vue中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
以反战为名,百万周下载量node-ipc包作者进行供应链投毒
近日,不少开发者(https://v2ex.com/t/840562#reply11)在使用到 vue -cli 中的 node-ipc 模块时,这个依赖项会在桌面以及其他位置创建一个叫做“WITH-LOVE-FROM-AMERICA.txt”的文件,不过打开这个文件是空的。据悉,该 package 每周下载量达到了百万。另外,使用 Yarn 的开发者也受到了影响。
深度学习与Python
2022/03/22
4190
以反战为名,百万周下载量node-ipc包作者进行供应链投毒
炸了... 百万周下载量的 npm 包以反战为名进行供应链投毒!
大家好,我是 ConardLi ,今天前端圈又炸了... 原因居然还是因为一个 npm 包。
ConardLi
2022/04/08
8100
炸了... 百万周下载量的 npm 包以反战为名进行供应链投毒!
在开源软件中投毒:根据 IP 地址删除俄罗斯 用户数据。。。
知名应用程序使用的软件包现在将反战文本文件投放在桌面上。 JavaScript库node-ipc的开发人员有意引入了一个严重的安全漏洞,对于一些网民来说,该漏洞会破坏其计算机上的文件。广受欢迎的vue.js框架使用node-ipc这个库。 在GitHub上名为RIAEvangelist的Brandon Nozaki Miller创建了node-ipc,该库每周从NPM注册库下载多达上百万次,被称为是“面向Node的进程间通信模块,支持Unix套接字、TCP、TLS和UDP。” 看来Miller故意更改了代
云头条
2022/03/21
1.1K0
著名npm包被毁,GitHub强烈谴责!开源作者因反俄给代码投毒遭猛烈抨击
---- 新智元报道   编辑:桃子 拉燕 【新智元导读】继此前faker.js开源作者删除所有代码后,近日,开源代码的维护者因反俄给node-ipc库中添加了恶意代码,遭到GitHub社区的强烈谴责。 开发者自毁代码,只为不让俄罗斯人使用。 据Github上发布的一份公告称,一位流行的开源软件的技术专家和维护者故意破坏了他们自己的代码。 他们向非常受欢迎的node-ipc库中添加了恶意代码,用「心脏」表情符号替换了文件。 并将遭到破坏的npm程序库版本称为「新软件」,并非「恶意软件」。 这么做的目
新智元
2022/03/21
7620
初级程序才删库跑路,而高级的已经代码投毒了。
  借用习大大的一句话:安全是发展的保障,发展是安全的目的。 这句话不仅仅适用于实体经济,也适用于互联网。
TodoCoder
2022/09/23
6550
初级程序才删库跑路,而高级的已经代码投毒了。
JavaScript 供应链为什么如此脆弱...
JavaScript 的强大之处在于其卓越的模块化能力,通过 npm 包管理机制,开发者可以轻易地引用并使用其他人或者组织已经编写好的开源代码,从而极大地加快了开发速度。但是,这种依赖关系的复杂性也给供应链的安全带来了巨大的挑战。
ConardLi
2023/11/27
3530
JavaScript 供应链为什么如此脆弱...
FreeBuf周报 | 官方曝光美国网络攻击武器“蜂巢”;联想三个漏洞影响数百万台电脑
各位FreeBufer周末好~以下是本周的「FreeBuf周报」,我们总结推荐了本周的热点资讯、优质文章和省心工具,保证大家不错过本周的每一个重点!
FB客服
2022/06/08
6130
FreeBuf周报 | 官方曝光美国网络攻击武器“蜂巢”;联想三个漏洞影响数百万台电脑
开源的“抗议软件”伤害了开源
本周是普京对乌克兰的战争开始后的第一个月。我们当时就表明了 OSI 的立场 —— OSI 谴责俄罗斯军队在普京的指挥下对乌克兰的攻击,但有一个新的发展,直接影响到开源社区,它需要一个新的评论。
开源社
2022/05/24
2.2K0
开源的“抗议软件”伤害了开源
GitHub 限制俄罗斯、Google 奖励 25 名开源贡献者、Linux 内核曝高危漏洞|开源月报 Vol. 04
「WeOpen Insight」是腾源会推出的「开源趋势与开源洞见」内容专栏,不定期为读者呈现开源圈内的第一手快讯、优质工具盘点等,洞察开源技术发展的风向标,预见未来趋势。 1 社区新闻 1、美国法院判决:未经 OSI 许可的开源是「假开源」! 3 月 17 日 ,OSI(Open Source Initiative,开放源代码促进会 )发文转述了一项来自美国法院的判决,表示未获 OSI 开源许可证许可,而自称「开源」的软件属于虚假广告。但独立技术律师 Kyle E. Mitchell 反驳了 OSI 的
腾源会
2022/04/01
8340
GitHub 限制俄罗斯、Google 奖励 25 名开源贡献者、Linux 内核曝高危漏洞|开源月报 Vol. 04
2022 年前端大事记
去年我总结了 2021 年 JavaScript 大事记 之后,最近好多小伙伴催更我的 2022 年总结,这就来了。
ConardLi
2023/01/09
1.4K0
2022 年前端大事记
自由软件之父抨击苹果电脑变成“监狱”,不建议用Ubuntu
自由软件之父 Richard Stallman 上个月刚刚度过自己的 69 岁生日。近日,他带来一段长达 92 分钟的演讲,题为《自由软件运动的现状》。在分享内容中,他提到,支持自由软件的硬件在老化在变少。英特尔和 AMD 的新硬件都在限制用户自由。苹果的电脑则变成了监狱,用户难以自行安装软件。
深度学习与Python
2022/06/11
3420
自由软件之父抨击苹果电脑变成“监狱”,不建议用Ubuntu
Node.js 安全最佳实践
最近 Node.js 团队在官方文档上公布了一份最新的安全实践,解读了一些 Node.js 服务下一些常见的攻击场景以及预防手段,我们一起来看看吧!
ConardLi
2023/01/09
2.4K0
Node.js 安全最佳实践
前端食堂技术周刊第 29 期:StackBlitz 加入字节码联盟、Safari 15.4、ESLint、可折叠设备布局
食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly[1]
童欧巴
2022/04/11
1K0
前端食堂技术周刊第 29 期:StackBlitz 加入字节码联盟、Safari 15.4、ESLint、可折叠设备布局
原来冬奥遭受3.8亿起网络攻击,但最终做到了网络安全零事故|CCF C³
Alex 梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 今年的北京冬奥圆满结束,成为一场全民狂欢。 但你或许不知道的是,在两个月期间针对冬奥的网络攻击共计3.8亿起,攻击组织达上千个。 回看近几届夏季、冬季奥运会,无一不因黑客攻击蒙受损失: 2012年,伦敦奥运会开幕当日,奥林匹克场馆电力系统遭受了40分钟的大规模DDoS攻击。 2016年,里约奥运会发生APT攻击(高级可持续威胁攻击),导致重要数据泄露。 2018年,平昌冬奥会开幕式直播信号因网络攻击而中断,票务系统也一度瘫痪…… 而这届北京冬奥
量子位
2022/07/18
4920
原来冬奥遭受3.8亿起网络攻击,但最终做到了网络安全零事故|CCF C³
vuecli安装成功但无法运行_vue cli service
1.依赖node所以先安装node,可从官网下载安装,如下,自选版本后打开下载的文件安装,一直下一步,最后选安装目录
全栈程序员站长
2022/11/08
1.5K0
Vue2全家桶之一:vue-cli
都说Vue2简单上手容易,的确,看了官方文档确实觉得上手很快,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前用jq随便拿全局变量和修改dom的锤子不能用了,vue只用关心数据本身,不用再频繁繁琐的操作dom,注册事件、监听事件、取消事件。。。。(确实很烦)。vue的官方文档还是不错的,由浅到深,如果不使用构建工具确实用的很爽,但是这在实际项目应用中是不可能的,当用vue-cli构建一个工程的时候,发现官方文档还是不够用,需要熟练掌握es6,而vue的全家桶(vue-cli,vue-router,vue-resource,vuex)还是都要上的。
conanma
2021/11/03
5880
Vue3项目的创建和托管
前面我们在学习Vue的时候都是将Vue的代码直接写在html文件的script中,但实际工作中,我们会使用工具(比如vue-cli)创建完整的项目结构,同时将vue项目托管于nodeJS等JS运行时,实现前端服务的生产化部署。
Python研究所
2022/06/17
8100
Vue3项目的创建和托管
月下载量千万的 npm 包被黑客篡改,Vue 开发者可能正在遭受攻击
早起看手机,结果发现我的微信群炸了,未读消息 999+,大家都在讨论 event-stream 事件。打开 twitter 也是被这个刷屏了。
葡萄城控件
2018/12/19
6360
月下载量千万的 npm 包被黑客篡改,Vue 开发者可能正在遭受攻击
怎样搭建vue-cli脚手架
(该文章是搭建vue-cli脚手架的整个流程,跟着文章傻瓜操作就可以了!) 可以选择在cmd或者visual code执行以下命令都可以 我们选择在cmd中执行: 1.先切换命令: cd / 2.命令:D: 3.命令:D:\code\test
程序媛夏天
2024/01/18
1900
怎样搭建vue-cli脚手架
vue-cli 4 快速构建一个 Vue 项目
  Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,由 Ryan Dahl 开发,实质是对 Chrome V8 引擎进行了封装。   Node 对一些特殊用例进行优化,提供替代的 API,使得 V8 在非浏览器环境下运行得更好。V8 引擎执行 Javascript 的速度非常快,性能非常好。Node 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
Demo_Null
2020/09/28
6730
vue-cli 4 快速构建一个 Vue 项目
推荐阅读
相关推荐
以反战为名,百万周下载量node-ipc包作者进行供应链投毒
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档