AI小蜜蜂
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
网络安全研究人员发现,npm软件包注册表上多个加密货币相关软件包遭劫持,这些恶意软件包会窃取环境变量等敏感信息。
Sonatype研究员Ax Sharma表示:"其中部分软件包已在npmjs.com上存在超过9年,原本为区块链开发者提供合法功能。但[...]这些软件包的最新版本都植入了混淆脚本。"
受影响软件包清单
以下是遭劫持的软件包及其版本号:
- 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"。
这些JavaScript代码会在软件包安装后立即执行,专门窃取API密钥、访问令牌、SSH密钥等敏感数据,并将其外泄至远程服务器("eoi2ectd5a5tn1h.m.pipedream[.]net")。
值得注意的是,相关GitHub代码库均未包含这些恶意修改,攻击者如何推送恶意代码仍是个谜。目前尚不清楚此次攻击的最终目标。
攻击溯源分析
Sharma推测:"我们假设劫持原因可能是npm维护者旧账户遭入侵,可能是通过凭证填充攻击(攻击者利用先前泄露的用户名密码组合尝试登录其他网站),或是过期域名被接管。"
"考虑到多个不同维护者的项目同时遭攻击,第一种情况(维护者账户被接管)的可能性远大于精心策划的钓鱼攻击。"
安全建议
这一发现凸显了启用双因素认证(2FA)保护账户的重要性。同时也暴露出开源项目生命周期结束后难以实施安全防护的挑战。
Sharma强调:"该案例表明亟需加强供应链安全措施,提高对第三方软件注册表的监控警觉性。企业必须在开发流程的每个阶段优先考虑安全性,以降低第三方依赖带来的风险。"
参考来源:
Nine-Year-Old npm Packages Hijacked to Exfiltrate API Keys via Obfuscated Scripts
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)