据外媒 bleepingcomputer 报导,11 月 4 日,风行的 npm 库“coa”被劫持,其中注入了恶意代码,并且短暂地影响了世界各地依赖于“coa”的 React 包。
“coa”是 Command-Option-Argument 的缩写,这个库每周在 npm 上的下载量约为 900 万次,并被 GitHub 上近 500 万个开源存储库应用。
‘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 包:
GitHub 上 coa 的歹意版本
React 开发人员 Roberto Wesley Overdijk 对此示意:
“我不晓得这种状况为什么呈现,也不晓得到底产生了什么。但无论这个版本怎么做,它都毁坏了互联网。”
另一个应用 ElBidouilleur 句柄的 GitHub 用户发现“coa”2.1.3 版本毁坏了他们的构建:
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”的新版本公布以来,他们的构建也遇到了问题。
目前,尽管这些歹意版本已被 NPM 删除。仍能够从 Sonatype 的主动恶意软件检测零碎检索存档正本。
恶意软件同样劫持了“ua-parser-js”和假的 noblox 包
雷同的事件也产生在上个月,被 Facebook、Microsoft、Amazon、Reddit 和其余大型技术公司应用的另一个风行的 npm 库“ua-parser-js”受到劫持。
据 BleepingComputer 剖析,被劫持的“COA”版本中蕴含的恶意软件实际上与被劫持的 UA-PARSER-JS 版本中的代码雷同,可能在两个事件背地的威逼演员之间建设链接。
恶意软件可能是窃取 Windows 的 Danabot 明码窃取木马。加载通过 Regsvr32.exe 时,它将最终应用 rundll32.exe 再次启动各种参数以执行不同的歹意行为。
加载时,Danabot 将执行各种歹意流动,包含:
- 窃取来自各种 Web 浏览器的明码,包含 Chrome、Firefox、Opera、Internet Explorer 和 Safari
- 窃取各种应用程序的明码,包含 VNC,在线赌场应用程序,FTP 客户端和邮件帐户
- 窃取存储的信用卡
- 截取流动屏幕的截图
- 日志 keystrokes
- 将所有这些被盗数据发送回威逼演员,以容许他们违反受害者的其余账户
“coa”库用户应该怎么做
出于这类供应链攻打的宽泛影响,强烈建议“coa”库用户查看本人的我的项目是否有恶意软件,包含查看 compile.js、compile.bat、sdd.dll 这些文件是否存在。
如果确认曾经受感化,请更改设施上的明码、密钥和令牌,同时将 coa 的 npm 版本固定到稳固版本“2.0.2”。