NPM 攻击已经成为软件世界中最危险的供应链威胁之一,其对加密应用的影响尤其令人担忧。通过针对 JavaScript 生态系统,攻击者可以向广泛使用的软件包中注入恶意代码,进而影响数千个下游应用。2025 年的一次大规模 NPM 攻击显示了这个生态系统的脆弱性。
软件供应链中的 NPM 攻击是什么?
NPM(Node Package Manager)是 Node.js 的默认包管理器,也是全球最大的开源软件注册库。NPM 攻击发生在威胁者破坏软件包或诱使开发者安装恶意软件包时。攻击方法包括账户劫持、名称相似的软件包欺骗(typosquatting)以及依赖混淆攻击,将私有包替换为恶意的公共包。
NPM 攻击如何影响加密应用?
由于许多加密钱包和 Web3 项目依赖 JavaScript 库,被破坏的软件包可能会偷偷引入盗币程序、信息收集器,甚至后门。这些恶意代码通常针对像 MetaMask 这样的钱包,拦截网络请求或在交易中更换地址,导致资金被盗。
2025 年 9 月的 NPM 攻击发生了什么?
2025 年 9 月初,攻击者破坏了至少 18 个流行的 NPM 软件包,包括 debug、chalk 和 supports-color。一场钓鱼活动诱使开发者在假的 npmjs.help 域上泄露了 2FA 凭证。恶意版本包含盗币代码,设计用来劫持钱包交互。尽管在两小时内被发现并删除,但此次攻击被认为是有记录以来最大的 NPM 供应链事件之一。
开发者和用户如何防御 NPM 攻击?
安全专家建议使用锁文件(npm ci)、启用软件包来源验证,并使用依赖扫描工具。组织还需对开发者实施强认证,并监控钓鱼尝试。虽然此次事件造成的财务损失较小,但它凸显了开源软件信任的脆弱性。
结论
NPM 攻击不再只是软件开发者的问题,它也是一个加密安全问题。随着钱包和 Web3 应用继续依赖 JavaScript 库,保护供应链变得至关重要。开发者必须采取更强的安全措施,用户也应保持警惕,注意广泛使用的软件包中潜在的风险。


















