热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
专栏·供应链安全
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
热门npm 库 “coa” 被劫持并被注入恶意代码,影响全球所有的 React 管道。“coa” 库的全称是 ”命令-选项-参数“,每周的下载量约为900万次,用于 GitHub 上近500万个开源库中。几小时后,另外一个常用的npm组件 “rc” 也遭劫持,”rc”库的每周下载量达到1400万次。
恶意代码被注入 “coa” 发布
今天,全球所有的开发人员都会吃惊:npm 库 “coa” 竟然发布了新版本,要知道这个项目已经有数年没有人动过,今天突然出现在npm库中。“coa” 是 Node.js 项目的命令行选项解析器。该项目的最新稳定版 2.0.2 在2018年12月发布。但就在几个小时前,npm 上出现了可疑版本 2.0.3、2.0.4、2.1.1、2.1.3和3.1.3,导致依赖于 “coa” 库的 React 程序包崩溃。
一名 React 开发人员 Roberto Wesley Overdijk 指出,”我不确定发生了什么,但10分钟前发现一个发布版本(尽管GitHub 上的最后一次更新是在2018年)。这个发布版本导致互联网崩溃。“另外一名昵称为 ElBidouilleur 的GitHub 用户发现其中一个 “coa” 版本2.1.3 使其build 崩溃:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! coa@2.1.3 preinstall: start /B node compile.js & node compile.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the coa@2.1.3 preinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/mboutin/.npm/_logs/2021-11-04T14_01_45_544Z-debug.log
多名开发人员加入讨论,证实了自己在 “coa” 新版本发布后,build 出现各种问题。
不久后另外一个热门的npm库 “rc” 也被劫持,npm 中出现了恶意版本1.2.9、1.3.9和2.3.9。
恶意软件类似于被黑的 “ua-parser-js” 和虚假 Noblox 包
上个月,另外一个流行的热门 npm 库 “ua-parser-js” 被黑。该库用于 Facebook、微软、亚马逊、Reddit 和其它科技巨头。
据 Bleeping Computer 分析,被黑的 “coa” 版本中所含的恶意软件和被劫持的 “ua-parser-js” 版本中的代码十分相似,可能说明这两起事件背后的威胁行动者之间存在关联。
分析指出,被黑的 “coa” 版本 2.0.3、2.1.3和其它版本中仅包含可疑的 preinstall 脚本:
"preinstall": "start /B node compile.js & node compile.js"
但从2.0.4版本中才发现完整的恶意代码。预装脚本引用的 “compile.js” 在 coa:2.0.4中存在并运行。“compile.js” 文件中包含混淆的 JavaScript 代码。
该 JavaScript 文件之后启动 Batch 文件,即 “coa” npm 文档中包含的 “compile.bat”。该 Batch 脚本虽然未再次混淆,但在上周发现的虚假 Noblox npm typosquat 中,它将在受感染机器上安装勒索软件和凭据窃取工具。它应用的是混淆的“变量扩展“概念。
该 Batch 文件下载并运行 pastorcryptograph[.]at 的 “sdd.dll”,它和被劫持的 “ua-parser-js” 版本时访的 “sdd.dll” 并不相似。而”rc”恶意版本释放的 “sdd.dll” 和这两个从校验和角度来看又有所不同。但所有的DLLs都植入了相同的恶意软件。
如下是未混淆的 Batch 文件。
从现有的分析和信息来看,该恶意软件很可能是 Windows 版本的 Danabot 密码窃取木马。通过 regsvr32.exe 加载时,它最终会再次使用具有多种参数的 rundll32.exe 启动来执行不同的恶意行为。
加载时,Danabot 将执行多种恶意活动,包括:
从多种 web 浏览器中窃取木马,包括 Chrome、Firefox、Opera、IE 和 Safari。
从多款应用中窃取木马,包括VNC、在线赌博应用、FTP客户端和邮件账户
窃取存储的信用卡
截取活跃屏幕
记录键击
所有被盗数据之后被发送回给威胁行动者,从而攻陷受害者的其它账户。
COA 用户如何应对?
鉴于该供应链攻击的影响广泛,强烈建议所有的 “coa” 库和 “rc” 库用户检查自己的项目中是否存在恶意软件,如检查是否存在 compile.js、compile.bat、sdd.dll,如存在则删除。
由于该 “sdd.dll” 变体在 VirusTotal 中被检测为木马,而 “ua-parser-js” 释放的时凭据窃取工具,因此受感染用户应当假定自己的设备已被完全攻陷并更改密码、密钥并刷新令牌,因为它们可能遭攻陷并被发送回给威胁行动者。
Overdijk 表示,”NPM 已删除被攻陷版本,如我理解正确,应该拦截了临时发布的新版本,同时恢复了对该软件包的访问权限。由于已删除受影响版本,因此无需任何修复方案。“他表示,以防万一,建议仅使用2.0.2稳定版,直到问题完全解决。
对于“rc”库而言,安全版本是1.2.8。npm 项目组表示,”从调查结果来看,我们实时发现了包含类似于’coa’程序包中恶意软件的 ‘rc’ 程序包。’rc’恶意版本立即从注册表中删除,我们已发布安全公告“。
Npm 表示该事件是由失陷的某 npm 账户造成的,建议npm维护人员使用双因素认证,阻止此类攻击。
推荐阅读
“木马源”攻击影响多数编程语言的编译器,将在软件供应链攻击中发挥巨大作用
GitHub 在 “tar” 和 npm CLI 中发现7个高危的代码执行漏洞
流行的 NPM 包依赖关系中存在远程代码执行缺陷
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Npm 恶意包试图窃取 Discord 敏感信息和浏览器文件
微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制
找到软件供应链的薄弱链条
GitHub谈软件供应链安全及其重要性
揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司
开源软件漏洞安全风险分析
开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析
集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等
限时赠书|《软件供应链安全—源代码缺陷实例剖析》新书上市
热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码
GitKraken漏洞可用于盗取源代码,四大代码托管平台撤销SSH密钥
因服务器配置不当,热门直播平台 Twitch 的125GB 数据和源代码被泄露
彪马PUMA源代码被盗,称客户数据不受影响
原文链接
https://www.bleepingcomputer.com/news/security/popular-coa-npm-library-hijacked-to-steal-user-passwords/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道相关推荐
- 热门开源库 JsonWebToken 存在RCE漏洞,可引发供应链攻击
聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...
- 速修复!热门代码覆盖率测试工具 Codecov 的脚本遭恶意修改,敏感信息被暴露...
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码安全卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一, ...
- 热门Ruby 库中存在严重的命令注入漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 开发人员修复了用于解析和转换 AsciiDoc 文件的热门 Ruby库中存在一个命令注入漏洞. 命令注入漏洞可使攻击者在运行应用程序的服务器上执 ...
- android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记
前言 众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能.就拿比较热门的图片加载框架Glid ...
- 前端搭建私有化npm库
尝试搭建私有化npm库 1. 安装mysql. 下载安装mysql数据库.以windows系统为例(本人太菜,只会搞windows的
- python 统计组合用什么库_盘点2018年热门Python库|TOP20
来源:CDA数据分析师 在解决数据科学任务和挑战方面,Python继续处于领先地位.去年,我对当时热门的Python库进行了总结.今年,我在当中加入新的库,重新对2018年热门Python库进行全面盘 ...
- 一文搞懂前端组件发布 npm 库
前端的组件都是基于 javascript 开发,然后用 node.js 打包,发布到 npm 的.所以我们要做组件发布,首先要了解 npm 包的开发与发布. npm 包的开发与发布 项目初始化 我们常 ...
- javascript 获取指定国家(时区)的时间 - npm库
前言 让代码运行在不同国家环境下,都能准确获得指定国家的时间! 使用一个 npm 库,进行操作. npm i @time-zone/date --save import {isUS_Wt,isUS_D ...
- 2021年A特种设备相关管理(锅炉压力容器压力管道)考试题库及A特种设备相关管理(锅炉压力容器压力管道)最新解析
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:A特种设备相关管理(锅炉压力容器压力管道)考试题库是安全生产模拟考试一点通生成的,A特种设备相关管理(锅炉压力容器压力管道)证模拟 ...
最新文章
- RT-Thread逐飞-智能车培训之MM32芯片应用
- 算法 - php - 二叉树遍历
- Nginx 之防盗链配置
- Effective C++学习笔记之copy构造函数和default函数和copy赋值函数(operator=)
- Android之6.0上的重要变化(一)
- TCP传输过程中丢包问题
- zplane函数怎么用m文件调用_matlab中一个m文件怎么调用另一个m文件的函数
- 抖音为什么能让人上瘾?
- 华为nova5pro怎样把计算机放到快捷,华为nova5pro快捷键怎么设置
- PPT(二)-让您的幻灯片“炫”起来!
- html网页设计作业代码——家乡介绍-南京(7页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
- 提取关键字 结巴分词_结巴分词5--关键词抽取
- 010 Editor 8.0.1 之 逆向分析及注册机编写
- mbed TLS 介绍
- 真相了,原来程序员不喜欢领导改需求是这样子的!
- 数据结构初步(十二)- 插入排序与希尔排序超详细图解分析
- 800行Python代码实现双十一自动登录抢购商品,这速度女友很爱
- 百度二年级手工机器人_小学二年级手工科技制作方案
- Word电子扫描仪 word文档转换为图片Pdf,Word文档扫描成Pdf,word文档加密 word转图片 word转pdf
- 蓝鲸RFID固定资产管理系统
热门文章
- Android ANT多渠道打包
- 客户端和服务器各种报错解释
- easyUI制作slider小滑块,可拖动和精确输入
- [转]如何正确查看Linux机器内存使用情况
- The library 'SocialSDK_QQZone_2.jar' contains nat
- PHPCMS_单入口初始化执行流程
- ipsec说明以及隧道案例
- SQL2K数据库开发十四之表操作设置用户对表的权限
- c语言算星期,计算任何一天是星期几的C语言源代码.
- python和pandas有什么关系_python pandas效率到底如何?