自选
我的自选
查看全部
市值 价格 24h%
  • 全部
  • 产业
  • Web 3.0
  • DAO
  • DeFi
  • 符文
  • 空投再质押
  • 以太坊
  • Meme
  • 比特币L2
  • 以太坊L2
  • 研报
  • 头条
  • 投资

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

2025年9月:NPM供应链遭遇十亿次下载量级攻击始末

2025-09-09 15:19:43
收藏

2025年9月爆发数十亿次下载量的NPM供应链攻击事件解析

事件概述

截至2025年9月9日,JavaScript生态圈正在应对一起重大供应链攻击事件。流行开发者qix的NPM账户遭到入侵,导致包括chalk、strip-ansi和color-convert在内的数十个主流软件包被发布恶意版本。受影响软件包每周总下载量超过十亿次,成为开源史上最严重的安全事件之一。

事件发现过程

攻击最初通过CI/CD流水线中的神秘构建错误被发现,具体表现为"ReferenceError: fetch未定义"。该错误源于恶意软件尝试通过fetch调用窃取数据时,在缺乏全局fetch函数的旧版Node.js环境中执行失败。

攻击根源

攻击者控制了qix的NPM账户,得以发布关键库的恶意补丁版本。这些被入侵的软件包是无数项目的底层依赖项,通常深藏在依赖树中。

主要受影响软件包及下载量

chalk:约3亿次/周
strip-ansi:约2.61亿次/周
color-convert:约1.93亿次/周
color-name:约1.91亿次/周
is-core-module:约6900万次/周
error-ex:约4700万次/周
simple-swizzle:约2600万次/周
has-ansi:约1200万次/周

恶意加密剪贴器如何窃取资金?

这段恶意代码是精密的"加密剪贴器",通过以下双重策略窃取加密货币:

被动地址替换

1. 通过"猴子补丁"技术劫持浏览器的原生fetch和XMLHttpRequest函数拦截网络流量
2. 内置攻击者控制的BTC、ETH、SOL等主流币种钱包地址库
3. 使用Levenshtein距离算法寻找与用户真实地址最相似的攻击者地址进行替换

主动交易劫持

1. 检测到MetaMask等浏览器钱包(window.ethereum)时,劫持其通信方法
2. 用户发起交易时,在内存中修改交易数据,替换收款地址
3. 用户最终签署的实际上是向攻击者地址转账的欺诈交易

开发者应急防护措施

虽然NPM社区正在清除恶意版本,但被污染软件包仍可能存在于项目依赖中。建议立即采取以下措施:

依赖项审计

立即检查项目的package-lock.json或yarn.lock文件,识别是否使用受影响软件包

版本锁定

在package.json中使用overrides功能强制使用安全版本,这对修复传递依赖至关重要

清理重装

添加覆盖后,需删除node_modules文件夹和package-lock.json文件,重新运行npm install生成干净的锁定文件

事件启示

qix账户入侵事件暴露出开源生态存在系统性风险:

1. 这些基础库通常不是直接依赖项,而是通过数百个其他包被间接引入
2. 庞大的隐形依赖树使恶意代码能悄无声息地扩散到数百万应用中
3. 攻击者成功利用了开源生态固有的信任机制

这起事件警示我们:必须超越基础安全实践,采取包括强化CI/CD流水线、严格依赖管理政策、培养安全优先文化在内的主动防御策略。忽视这些措施将使项目持续面临可能危及知识产权、用户数据和金融资产的大规模威胁。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。百亿财经对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。百亿财经用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与百亿财经无关。百亿财经不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻