恶意代码来袭!周下载 900 万次的 npm 库 coa 遭劫持

据外媒 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 包:
恶意代码来袭!周下载 900 万次的 npm 库 coa 遭劫持
文章图片

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 这些文件是否存在。
【恶意代码来袭!周下载 900 万次的 npm 库 coa 遭劫持】如果确认已经受感染,请更改设备上的密码、密钥和令牌,同时将 coa 的 npm 版本固定到稳定版本“2.0.2”。

    推荐阅读