大规模npm攻击毒害180亿下载量软件包

网络安全公司Aikido披露了迄今最大规模的npm供应链攻击事件。攻击者通过钓鱼邮件获取维护者账户凭证,向18个热门JavaScript包注入恶意代码,这些包每周下载量超过26亿次。恶意代码专门劫持加密货币交易,监控浏览器API接口将资金转移至攻击者地址。受影响的包括chalk、debug等广泛使用的开发工具库。虽然攻击在5分钟内被发现并及时公开,但专家警告此类上游攻击极具破坏性,可能与朝鲜黑客组织相关。

Aikido Security Ltd.今日披露了迄今为止最大规模的npm供应链攻击事件,攻击者向18个热门软件包注入恶意代码,这些软件包的总下载量超过26亿次/周。

Npm软件包是发布到Node包管理器注册表的可重用JavaScript代码块,开发者可以在自己的项目中安装和使用。这些软件包提供常见功能,如文本格式化、数据库连接或处理用户输入,让开发者无需从零开始编写项目的每个方面,因此非常受欢迎。

据Aikido介绍,攻击者通过钓鱼凭据获得了这些软件库维护者账户的控制权,使用虚假的npm支持邮件要求进行双因素认证更新。获得访问权限后,攻击者在软件包的index.js文件中插入了恶意代码。

恶意代码被发现是为了劫持加密货币交易而设计的,通过监控浏览器应用程序编程接口(如fetch、XMLHttpRequest)和钱包接口(如window.ethereum),将资金重定向到攻击者控制的地址。

Aikido在发布后5分钟内检测到了这次攻击,并在一小时内公开披露,尽管受影响软件包的下载量巨大,但限制了潜在损害。据Bleeping Computer报告,被攻击的软件包大约在9月8日上午9点到11点30分之间可用。

18个受影响的软件库中包括广泛使用的开发者工具,如chalk(估计每周下载量3亿次)、debug(约3.58亿次)和ansi-styles(超过3.7亿次)。这些模块构成了JavaScript生态系统的底层结构,意味着这次攻击有可能级联影响大量下游应用程序和服务。

虽然没有黑客组织声称对这次供应链攻击负责,也没有发现与特定组织的联系,但这次攻击发生在7月份一份报告警告朝鲜支持的臭名昭著黑客组织Lazarus正在瞄准开源软件包(特别是npm软件包)之后。

SOCRadar网络情报公司首席信息安全官Ensar Seker在接受SiliconANGLE邮件采访时表示,这一事件"代表了软件供应链安全的分水岭时刻"。

Seker解释说:"对每周下载量超过26亿次的npm软件包的攻击突显了上游攻击在利用开源生态系统内置信任时可能造成的毁灭性影响。攻击者不需要入侵服务器或绕过技术防护;他们只需通过有针对性的钓鱼活动劫持合法维护者的账户。仅这一点就为他们提供了通向庞大软件王国的钥匙。"

他补充说,特别危险的是"攻击者如何使用令人信服地模仿合法域名npmjs.help的域名来对维护者进行社会工程攻击。这不是漫天撒网式的钓鱼尝试。这是经过计算、定时执行的,展现了对开发者心理的深刻理解。威胁在特定截止日期前锁定账户的恐惧策略增加了紧迫感,提高了成功攻击的机会。"

软件供应链管理公司Sonatype的现场首席技术官Ilkka Turunen指出了这次攻击的方法论,以及有能力进行此类攻击的特定组织。

Turunen说:"瞄准这些软件包的开发者并非随机选择。软件包接管现在已成为Lazarus等高级持续性威胁组织的标准策略,因为他们知道通过渗透单个资源不足的项目,就能触及世界上大量的开发者群体。"

Q&A

Q1:这次npm攻击事件的规模有多大?

A:这是迄今为止最大规模的npm供应链攻击事件,攻击者向18个热门软件包注入恶意代码,这些软件包的总下载量超过26亿次/周。其中包括chalk(3亿次/周)、debug(3.58亿次/周)和ansi-styles(3.7亿次/周)等广泛使用的开发者工具。

Q2:攻击者是如何获得软件包控制权的?

A:攻击者通过钓鱼凭据获得了软件库维护者账户的控制权,使用虚假的npm支持邮件要求进行双因素认证更新。他们使用了令人信服地模仿合法域名npmjs.help的域名来进行社会工程攻击,威胁在特定截止日期前锁定账户以增加紧迫感。

Q3:恶意代码的主要目的是什么?

A:恶意代码被设计用来劫持加密货币交易,通过监控浏览器应用程序编程接口(如fetch、XMLHttpRequest)和钱包接口(如window.ethereum),将资金重定向到攻击者控制的地址。攻击持续时间约为2.5小时,从上午9点到11点30分。

来源:SiliconANGLE

0赞

好文章,需要你的鼓励

2025

09/10

07:33

分享

点赞

邮件订阅