HackerNews

HackerNews
九年历史的 npm 包遭劫持,黑客通过混淆脚本窃取 API 密钥

九年历史的 npm 包遭劫持,黑客通过混淆脚本窃取 API 密钥

给文章评分:

HackerNews 编译,转载请注明出处:

网络安全研究人员近日发现,一些加密货币相关的npm包遭到劫持,攻击者通过这些包从受感染的系统中窃取环境变量等敏感信息。

Sonatype研究员Ax Sharma表示:"其中一些包已在npmjs.com上存在超过9年,为区块链开发者提供了合法功能。然而,这些包的最新版本中被植入了混淆的恶意脚本。"

受影响的npm包及版本:

  • country-currency-map (2.1.8)
  • bnb-javascript-sdk-nobroadcast (2.16.16)
  • @bithighlander/bitcoin-cash-js-lib (5.2.2)
  • eslint-config-travix (6.3.1)
  • @crosswise-finance1/sdk-v2 (0.1.21)
  • @keepkey/device-protocol (7.13.3)
  • @veniceswap/uikit (0.65.34)
  • @veniceswap/eslint-config-pancake (1.6.2)
  • babel-preset-travix (1.2.1)
  • @travix/ui-themes (1.1.5)
  • @coinmasters/types (4.8.16)

软件供应链安全公司对这些包的分析显示,攻击者在"package/scripts/launch.js"和"package/scripts/diagnostic-report.js"中植入了高度混淆的恶意代码。这些脚本会在包安装后立即运行,专门窃取API密钥、访问令牌、SSH密钥等数据,并将其发送到远程服务器("eoi2ectd5a5tn1h.m.pipedream[.]net")。

有趣的是,相关库的GitHub代码库并未被篡改,攻击者是如何成功推送恶意代码的仍是一个谜。目前尚不清楚此攻击活动的最终目的。

Sharma表示,他们推测这些劫持事件可能是由于旧版npm维护者账户被攻破所致。攻击者可能通过凭证填充攻击(使用此前数据泄露中的用户名和密码在其他网站上尝试登录)或接管过期域名的方式,取得了这些账户的控制权。

鉴于多个项目的维护者账户几乎在同一时间受到攻击,研究人员认为账户接管的可能性高于精心策划的网络钓鱼攻击。

此次事件凸显了为账户启用双因素认证(2FA)以防止账户接管的必要性。它还反映出在开源项目达到生命周期末期或停止维护时,实施安全防护措施的难度。

Sharma强调:"这次事件进一步表明了加强供应链安全措施的紧迫性。开发者和企业在开发过程的每个阶段都应优先考虑安全性,以降低第三方依赖带来的风险。"

 


消息来源:The Hacker News; 

本文由 HackerNews.cc 翻译整理,封面来源于网络;  

转载请注明“转自 HackerNews.cc”并附上原文