九年历史的 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”并附上原文