摘要
2025年9月8日,18个npm热门包遭供应链攻击,含恶意代码窃取加密货币,Vercel团队快速锁定76个受影响项目、清理缓存并通知用户,攻击者通过仿冒邮件窃取npm维护者凭证,建议用户重建项目、加强依赖管理及启用安全工具。
内容
npm供应链攻击事件响应报告 - 2025年9月8日
作为安全负责人Aaron Brown,他想和大家分享我们团队对9月8日npm供应链攻击事件的应对情况。这次事件影响了包括chalk、debug、ansi-styles在内的18个流行npm包,这些恶意代码会在浏览器环境中执行,窃取加密货币和Web3钱包信息,并将支付转至攻击者控制的地址。这是一起典型的供应链攻击,我们的团队迅速行动,在2小时内完成了从发现到响应的全过程。
影响范围与技术分析
通过我们的部署依赖追踪系统,我们发现76个项目受到影响,涉及Vercel的70个团队。这些恶意代码的执行依赖于开发者将受感染的包打包进Web应用,一旦用户访问应用,代码就会在浏览器中运行。它专门针对加密货币交互进行攻击,通过拦截交易数据实现资金窃取。
响应与解决措施
事件响应的关键在于速度。我们的安全团队在17:39 UTC启动响应流程,22:19 UTC完成了所有受影响项目的构建缓存清理。同时,我们向所有受影响客户发送了包含具体项目清单的通知,指导他们进行重建。目前,所有恶意包版本已从npm仓库移除,通过缓存清理和重建的应用均使用了干净的包版本。
攻击溯源与预防措施
调查显示,攻击始于针对npm包维护者的钓鱼活动。攻击者伪装成npm官方,通过域名npmjs.help发送虚假的双因素认证更新邮件,以48小时为最后期限,声称账户将在9月10日锁定。这种社会工程学攻击再次提醒我们,保持安全意识的重要性——所有安全相关邮件都应通过官方网站核实,而非点击邮件中的链接。
客户建议与后续行动
对于受影响客户,我们建议立即重建通知中列出的项目,并加强依赖管理实践。所有客户都应采取以下措施:定期使用npm audit检查漏洞,在CI/CD流程中集成依赖扫描,生产环境使用npm ci配合lockfile,以及在npm支持的情况下启用包溯源功能。
持续改进
这次事件强化了我们对供应链安全的重视。我们正在升级监控系统,提高对可疑包更新的检测能力,并优化缓存快速失效机制。虽然无法完全阻止上游妥协,但通过建立多层次防御体系和快速响应机制,我们能够最大限度地减少攻击影响。
供应链安全是所有开发者和企业的共同责任。我们将继续与社区合作,分享威胁情报,共同构建更安全的开发环境。
阅后请思考
- 仿冒邮件如何精准窃取维护者凭证?
- 安全工具如何有效防范此类供应链攻击?
- 开发者该如何建立依赖管理最佳实践?