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

编译:代码卫士

专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。

随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。

为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。

注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。

热门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 管道相关推荐

  1. 热门开源库 JsonWebToken 存在RCE漏洞,可引发供应链攻击

     聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...

  2. 速修复!热门代码覆盖率测试工具 Codecov 的脚本遭恶意修改,敏感信息被暴露...

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码安全卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一, ...

  3. 热门Ruby 库中存在严重的命令注入漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 开发人员修复了用于解析和转换 AsciiDoc 文件的热门 Ruby库中存在一个命令注入漏洞. 命令注入漏洞可使攻击者在运行应用程序的服务器上执 ...

  4. android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记

    前言 众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能.就拿比较热门的图片加载框架Glid ...

  5. 前端搭建私有化npm库

    尝试搭建私有化npm库 1. 安装mysql. 下载安装mysql数据库.以windows系统为例(本人太菜,只会搞windows的

  6. python 统计组合用什么库_盘点2018年热门Python库|TOP20

    来源:CDA数据分析师 在解决数据科学任务和挑战方面,Python继续处于领先地位.去年,我对当时热门的Python库进行了总结.今年,我在当中加入新的库,重新对2018年热门Python库进行全面盘 ...

  7. 一文搞懂前端组件发布 npm 库

    前端的组件都是基于 javascript 开发,然后用 node.js 打包,发布到 npm 的.所以我们要做组件发布,首先要了解 npm 包的开发与发布. npm 包的开发与发布 项目初始化 我们常 ...

  8. javascript 获取指定国家(时区)的时间 - npm库

    前言 让代码运行在不同国家环境下,都能准确获得指定国家的时间! 使用一个 npm 库,进行操作. npm i @time-zone/date --save import {isUS_Wt,isUS_D ...

  9. 2021年A特种设备相关管理(锅炉压力容器压力管道)考试题库及A特种设备相关管理(锅炉压力容器压力管道)最新解析

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:A特种设备相关管理(锅炉压力容器压力管道)考试题库是安全生产模拟考试一点通生成的,A特种设备相关管理(锅炉压力容器压力管道)证模拟 ...

最新文章

  1. RT-Thread逐飞-智能车培训之MM32芯片应用
  2. 算法 - php - 二叉树遍历
  3. Nginx 之防盗链配置
  4. Effective C++学习笔记之copy构造函数和default函数和copy赋值函数(operator=)
  5. Android之6.0上的重要变化(一)
  6. TCP传输过程中丢包问题
  7. zplane函数怎么用m文件调用_matlab中一个m文件怎么调用另一个m文件的函数
  8. 抖音为什么能让人上瘾?
  9. 华为nova5pro怎样把计算机放到快捷,华为nova5pro快捷键怎么设置
  10. PPT(二)-让您的幻灯片“炫”起来!
  11. html网页设计作业代码——家乡介绍-南京(7页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
  12. 提取关键字 结巴分词_结巴分词5--关键词抽取
  13. 010 Editor 8.0.1 之 逆向分析及注册机编写
  14. mbed TLS 介绍
  15. 真相了,原来程序员不喜欢领导改需求是这样子的!
  16. 数据结构初步(十二)- 插入排序与希尔排序超详细图解分析
  17. 800行Python代码实现双十一自动登录抢购商品,这速度女友很爱
  18. 百度二年级手工机器人_小学二年级手工科技制作方案
  19. Word电子扫描仪 word文档转换为图片Pdf,Word文档扫描成Pdf,word文档加密 word转图片 word转pdf
  20. 蓝鲸RFID固定资产管理系统

热门文章

  1. Android ANT多渠道打包
  2. 客户端和服务器各种报错解释
  3. easyUI制作slider小滑块,可拖动和精确输入
  4. [转]如何正确查看Linux机器内存使用情况
  5. The library 'SocialSDK_QQZone_2.jar' contains nat
  6. PHPCMS_单入口初始化执行流程
  7. ipsec说明以及隧道案例
  8. SQL2K数据库开发十四之表操作设置用户对表的权限
  9. c语言算星期,计算任何一天是星期几的C语言源代码.
  10. python和pandas有什么关系_python pandas效率到底如何?