攻击详情:账户劫持与恶意代码传播
NPM(Node Package Manager)生态中一位名为qix的知名开发者账号被攻击者成功劫持。攻击者利用这一权限向多个Node.js项目推送了恶意依赖包,其中包含针对比特币及加密货币钱包的特定代码。该恶意软件会在用户设备上扫描与钱包相关的文件或进程,一旦发现,就会在交易签名阶段干预签名函数,将用户原本要发送的收款地址替换为攻击者自己控制的地址。
此事件的核心在于NPM作为Node.js生态的标准包管理器,其被广泛用于集成预编写代码模块。攻击者选择的不是加密货币专用的包,而是数以万计普通应用都会使用的通用依赖包,因此影响范围远超加密货币领域。不过,对于直接暴露在Web环境中的钱包应用来说,风险最为显著。
受影响用户:Web钱包与Ordinals/Runes用户需警惕
此次攻击对硬件钱包用户的影响相对有限,因为交易最终需要通过硬件设备显示并确认。但如果你使用的是Web钱包(例如通过浏览器扩展或网页端管理的钱包),尤其是参与比特币Ordinals、Runes或其他代币协议的钱包,则面临较高的风险。当钱包依赖的Node.js包恰好包含被污染的依赖时,攻击代码会在后台执行,用户可能在不知情的情况下签署一笔将资金转给攻击者的交易。
值得注意的是,攻击并非针对特定币种或钱包品牌,而是针对整个Node.js运行时环境。因此,任何基于Node.js构建的应用程序——不只是钱包——在更新依赖后都可能引入恶意代码。但普通应用(非加密货币相关)不会触发钱包扫描逻辑,所以对普通用户影响较小。
安全建议:硬件钱包核对地址,软件钱包暂停操作
对于使用硬件钱包配合Web钱包的用户,最安全的做法是在硬件设备上仔细核对收款地址,确认无误后再进行签名。硬件钱包的独立显示和签名机制可以防止恶意软件篡改屏幕上显示的地址。如果发现硬件设备上的地址与Web界面显示的不一致,请立即取消交易。
对于完全依赖软件密钥(即私钥存储在Web钱包软件本地)的用户,建议在确定自己的钱包版本未受影响之前,不要打开钱包或发起任何交易。最稳妥的措施是等待钱包开发团队发布官方安全公告,确认更新后无恶意依赖后再操作。如果钱包支持从官方App Store下载,且近期没有自动更新依赖仓库的机制,风险也会降低,但仍需保持警惕。

