9个“潜伏”九年的npm软件包被劫持,正悄悄窃取API密钥

网络安全 潘老师 4周前 (03-28) 14 ℃ (0) 扫码查看

最近有研究人员发现,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)

从它们的总下载量来看,情况不容乐观。例如country – currency – map的2.1.8版本,总下载量达到了288,851次;nb – javascript – sdk – nobroadcast的2.16.16版本也有38,673次下载。这么多人下载,也就意味着可能有大量用户面临信息被窃取的风险。

二、恶意代码解析

软件供应链安全公司深入分析后发现,这些软件包被植入了两个高度混淆的恶意脚本,分别是“package/scripts/launch.js”和“package/scripts/diagnostic – report.js” 。这些恶意的JavaScript代码就像隐藏在暗处的小偷,在软件包安装完成后会立刻行动起来。它们专门窃取像API密钥、访问令牌、SSH密钥这类敏感数据,然后偷偷把这些数据发送到一个远程服务器(“eoi2ectd5a5tn1h.m.pipedream[.]net”)。而且,更让人疑惑的是,相关的GitHub代码库里面并没有这些恶意修改,攻击者到底是怎么把恶意代码推送进去的,目前还是个未解之谜,这次攻击的最终目标也不清楚。

三、攻击溯源推测

Ax Sharma推测,这次软件包劫持事件的原因可能有两个。一是npm维护者的旧账户遭到入侵,常见的入侵方式是凭证填充攻击,就是攻击者用之前在其他地方泄露的用户名和密码组合,尝试登录npm维护者的账户。二是过期域名被接管。考虑到多个不同维护者的项目同时遭到攻击,Ax Sharma认为第一种情况,也就是维护者账户被接管的可能性比精心策划的钓鱼攻击要大得多。

四、安全防范建议

这次事件给大家提了个醒,启用双因素认证(2FA)来保护账户非常重要。它就像是给你的账户加了一把额外的锁,能大大提高安全性。同时,这也暴露出开源项目在生命周期结束后,实施安全防护会面临很大的挑战。

Ax Sharma强调,这件事充分说明加强供应链安全措施刻不容缓。我们要提高对第三方软件注册表的监控警觉性,企业在整个开发流程的每个阶段,都得把安全性放在首位,这样才能降低使用第三方依赖带来的风险。在如今这个开源软件盛行的时代,大家一定要多留个心眼,保护好自己的敏感信息。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/safe/16434.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】