NPM遭受攻击:被攻击的JavaScript包, крипто地址被劫持。Ledger发出警告...

Ledger的CTO Charles Guillemet在X上报道了一起涉及广泛使用的NPM包的供应链攻击

目前正在进行大规模供应链攻击:一位知名开发者的NPM账户已被攻破。受影响的包已经被下载超过10亿次,这意味着整个JavaScript生态系统可能面临风险。

恶意载荷工作…

— Charles Guillemet (@P3b7_) 2025 年 9 月 8 日

根据CoinDesk的报告,一些被攻破的版本——总下载量超过10亿——包含能够“动态”替换加密交易中目的地址的代码,将资金重定向到攻击者控制的钱包。这一情况与行业组织如OWASP发布的供应链保护建议一致,强调了供应链被攻破可能产生的大规模影响。

根据我们威胁情报团队在过去24小时内收集的数据,出现了与多个代码库和构建管道中描述的技术一致的妥协指标。我们合作的分析师还强调,事件的范围因传递依赖关系和注册表的大小而扩大:NPM注册表托管超过200万件包,增加了妥协模块传播的可能性。

攻击机制:地址“即时”更改

也就是说,恶意负载在链上操作和交易生成或签署的瞬间都会激活。实际上,恶意软件会拦截接收地址并将其替换为恶意行为者的地址。用户在看到一个看似“干净”的界面时,可能没有意识到最终的交易将资金发送到一个不同的地址——这一动态也得到了The Block的确认。值得注意的是,这种操控的目的是在最后确认步骤之前保持隐身。

关于NPM攻击的更新:攻击幸运地失败了,几乎没有受害者。

这始于一封来自假冒 npm 支持域的钓鱼电子邮件,窃取了凭据并使攻击者能够发布恶意软件包更新。注入的代码针对网络加密活动,… pic.twitter.com/lOik6k7Dkp

— 查尔斯·吉耶梅特 (@P3b7_) 2025年9月9日

涉及的包:数字、临时名称和分发

初步分析表明,安全漏洞是通过利用一个拥有广泛使用库访问权限的维护者的账户而发生的。在流传的名称中,例如有包 error-ex – 其官方资料可以在 npmjs.com 上查看 – 尽管官方列表仍在更新中。影响因依赖关系的级联效应而加剧:一个被攻陷的模块可以通过导入链传播到数百个项目。事实上,JavaScript 代码的模块化特性使得问题在依赖关系深度嵌套时更容易传播。

曝光规模:超过10亿次潜在风险版本的累计下载。

Vector: 通过被盗凭证或受损管道在NPM上发布。

范围:用于网络项目和钱包的核心库。

受影响的包和版本的官方列表是不完整的;建议关注NPM的建议和维护者的代码库。然而,在做出明确的沟通之前,考虑整个依赖链处于风险之中仍然是明智的。

对用户和企业的影响

直接的加密货币盗窃是在地址被偷偷替换后发生的。

dApp、扩展和桌面/网页钱包中的应用程序完整性受到损害。

对整合受污染包的项目的声誉风险。

紧急应对措施:应急检查清单

对于最终用户 (crypto)

选择能够清晰显示交易信息的钱包 (屏幕和清晰签名 – 清楚签名),在确认之前在设备上验证地址和金额。有关实用指导,请参阅我们的硬件钱包检查指南。

避免盲目签名并限制使用未经验证的二维码。

将显示的地址与安全副本进行比较,并对频繁收件人使用白名单。

这个预防措施至关重要,因为在硬件钱包上的确认显示了实际被签名的数据,使得主机软件的任何地址替换都显而易见。在这种情况下,设备屏幕上的验证减少了错误或上游操控的可能性。

针对开发团队

暂时暂停关键依赖项的自动更新。

对可疑期间发布的版本进行审计和回滚。

旋转NPM代币,并使2FA激活成为维护者和发布者的强制要求(请查看这里)。

为出版物启用来源系统并签署构建工件。

如何验证一个项目是否被曝光

快速识别可疑的依赖关系和已安装的版本范围至关重要:及时的侦察可以限制流水线中的多米诺效应。

列出已安装版本和依赖关系链

npm ls 错误 ex

检查已知漏洞和建议

npm audit – 生产

npm audit – json > audit.json

在CI中阻止非确定性更新

npm ci –ignore-scripts

设置更严格的审计阈值

npm config set audit-level=high

检查可用版本和发布日期

npm view error-ex 版本 –json

npm view error-ex time –json

在CI环境中,将ignore-scripts=true设置可以帮助减少执行恶意后安装脚本的风险。也就是说,建议立即建立一个可重复的基准,以避免意外的偏差。有关CI验证的扩展检查清单,请参阅我们关于供应链最佳实践的页面。

加强供应链:推荐的技术防御措施

使用确定性锁定文件(package-lock.json),并使用npm ci进行部署以确保可重复性。

在NPM上为出版和关键访问启用2FA,使用具有有限范围的令牌(automation vs. publish)。

实施强制代码审查,并使用独立的CI管道进行工件签名。

采用来源系统,参考 npm 包来源和标准如 SLSA 的官方文档。

在适用的情况下,使用扫描工具和受控更新,例如 Dependabot、Renovate 和 sigstore/cosign。

对维护者和发布机器人的账户应用最低权限原则。

调查的时间线和状态

该警报于2025年9月8日公开,目前正在进行验证。官方通知和受影响的软件包及版本的更新列表将逐步发布。因此,建议保持谨慎,暂停非必要的更新,直到妥善汇总漏洞指标。在进一步反馈之前,优先任务仍然是控制暴露并仔细记录每一个更改。

临界角:信任链仍然脆弱

当账户访问和发布管道没有得到充分保护时,开源供应链仍然容易受到攻击。这个问题在2025年变得尤为紧迫,因为很多出版物仍然在没有系统性采用诸如双因素认证、来源验证和严格审查等措施的情况下进行。

只要信任被视为理所当然,每个项目就会继续面临来自他人的风险。然而,即使是流程中的小改进也能显著减少攻击面。

要点

本集强调了供应链安全在开源软件中的重要性。只要调查仍在进行中,优先事项将是限制攻击面,仔细验证屏幕上的交易数据,并通过采用2FA、锁定文件和来源系统来巩固发布流程。

众多专家指出,建议的透明度在衡量真实影响和恢复生态系统信任方面至关重要。在这种情况下,遵守最佳实践仍然是唯一的即时保障。

IN-2.82%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)