Shai-Hulud 攻击:供应链蠕虫如何从加密货币开发者和用户手中窃取 5800 万美元
2025 年圣诞夜,当大多数加密货币世界都在度假时,攻击者向 Trust Wallet 的 Chrome 浏览器扩展程序推送了一个恶意更新。在 48 小时内,850 万美元从 2,520 个钱包中消失。数千名用户的助记词被悄无声息地搜集,并伪装成常规的遥测数据。但这并不是孤立事件——它是已经在加密货币开发生态系统中传播了数周的供应链攻击的顶峰。
Shai-Hulud 活动以《沙丘》(Dune)中的沙虫命名,代表了 2025 年最具侵略性的 npm 供应链攻击。它感染了超过 700 个 npm 软件包,波及 27,000 个 GitHub 仓库,并暴露了 487 个组织中约 14,000 个开发者机密。总损失超过 5800 万美元的被盗加密货币,使其成为加密货币历史上针对开发者损失最惨重的攻击之一。
供应链蠕虫的解析
与典型的需要用户下载 恶意软件的病毒不同,供应链攻击污染了开发者已经信任的工具。Shai-Hulud 活动将 npm 武器化,npm 是驱动大多数 JavaScript 开发的包管理器——几乎涵盖了所有的加密钱包、DeFi 前端和 Web3 应用程序。
这次攻击始于 2025 年 9 月的第一波浪潮,导致约 5000 万美元的加密货币被盗。但正是 11 月的“第二次降临”(The Second Coming)展示了该行动真正的复杂性。11 月 21 日至 23 日期间,攻击者攻破了包括 Zapier、ENS Domains、AsyncAPI、PostHog、Browserbase 和 Postman 在内的主要项目的开发基础设施。
其传播机制优雅而恐怖。当 Shai-Hulud 感染一个合法的 npm 软件包时,它会注入两个恶意文件——setup_bun.js 和 bun_environment.js——由预安装脚本(preinstall script)触发。与安装后才激活的传统恶意软件不同,此有效载荷在安装完成前、甚至在安装失败时也会运行。当开发者意识到出现问题时,他们的凭据已经被窃取。
该蠕虫会识别受害开发者维护的其他软件包,自动注入恶意代码,并将新的受感染版本发布到 npm 注册表中。这种自动传播机制使得恶意软件能够在没有攻击者直接干预的情况下呈指数级扩散。
从开发者机密到用户钱包
受感染的 npm 软件包与 Trust Wallet 黑客事件之间的联系揭示了供应链攻击是如何从开发者级联到终端用户的。
Trust Wallet 的调查显示,其开发者的 GitHub 机密在 11 月的 Shai-Hulud 爆发期间泄露。这种泄露让攻击者获得了浏览器扩展程序的源代码,更关键的是,获得了 Chrome 网上应用店(Chrome Web Store)的 API 密钥。凭借这些凭据,攻击者完全绕过了 Trust Wallet 的内部发布流程。
2025 年 12 月 24 日,版本号为 2.68 的 Trust Wallet Chrome 扩展程序出现在 Chrome 网上应用店中——由攻击者发布,而非 Trust Wallet 开发者。恶意代码旨在遍历扩展程序中存储的所有钱包,并为每个钱包触发助记词请求。无论用户使用密码还是生物识别进行身份验证,他们的助记词都会被悄悄地发送到攻击者控制的服务器,并伪装成合法的分析数据。
被盗资金构成如下:约 300 万美元的比特币、超过 300 万美元的以太坊,以及少量的 Solana 和其他代币。在几天之内,攻击者开始通过中心化交易所洗钱——330 万美元流向 ChangeNOW,34 万美元流向 FixedFloat,44.7 万美元流向 KuCoin。
死人开关
最令人不安的可能是 Shai-Hulud 恶意软件的“死人开关”(dead man's switch)机制。如果蠕虫无法通过 GitHub 或 npm 进行身份验证——即如果其传播和窃取渠道被切断——它将删除用户家目录中的所有文件。
这种破坏性功能具有多种目的。它惩罚了探测尝试,制造混乱以掩盖攻击者的行踪,并在防御者试图切断命令与控制(C2)基础设施时提供筹码。对于没有进行适当备份的开发者来说,一次失败的清理尝试可能会导致在凭据被盗之外遭受灾难性的数据丢失。
攻击者还表现出了心理上的复杂性。当 Trust Wallet 宣布发生违规事件时,同样的攻击者利用随之而来的恐慌发起了一场网络钓鱼活动,创建了虚假的 Trust Wallet 品牌网站,要求用户输入恢复助记词进行“钱包验证” 。一些受害者甚至遭到了二次攻击。
内部人士的疑问
币安(Binance)联合创始人赵长鹏(CZ)暗示,Trust Wallet 的漏洞“极有可能”是由内部人士或事先拥有部署权限的人实施的。Trust Wallet 自身的分析表明,攻击者可能在 2025 年 12 月 8 日之前就已经获得了开发者设备的控制权或获得了部署权限。
安全研究人员指出了一些暗示可能有国家级力量参与的模式。攻击时间选在圣诞夜,遵循了高级持续性威胁(APT)的常见剧本:在安全团队人员不足的节假日进行攻击。Shai-Hulud 活动的技术复杂性、规模以及资金的快速洗白,表明其背后的资源超出了典型的犯罪行动。
为什么浏览器扩展具有独特的脆弱性
Trust Wallet 事件突显了加密货币安全模型中的一个根本性漏洞。浏览器扩展拥有极高的权限——它们可以读取和修改网页,访问本地存储,而在加密钱包的情况下,它们还掌握着价值数百万美元的密钥。
攻击面非常巨大:
- 更新机制:扩展会自动更新,一旦某个更新被攻破,就会波及所有用户。
- API 密钥安全:如果 Chrome 网上应用店的 API 密钥泄露,任何人都可以发布更新。
- 信任假设:用户认为来自官方商店的更新是安全的。
- 假期时机:假期期间安全监控减少,使得攻击者可以潜伏更长时间。
这不是加密货币用户第一次遭受浏览器扩展攻击。之前的事件包括针对 VS Code 扩展的 GlassWorm 活动和 FoxyWallet Firefox 扩展诈骗。但 Trust Wallet 的漏洞是按美元计算规模最大的,并展示了供应链泄露如何放大扩展攻击的影响。
币安的回应与 SAFU 先例
币安(Binance)确认,受影响的 Trust Wallet 用户将通过其用户安全资产基金(SAFU)获得全额补偿。该基金成立于 2018 年交易所被黑事件后,储备了一部分交易费用,专门用于支付安全事件造成的用户损失。
赔付决定树立了一个重要的先例,也提出了一个关于责任分配的有趣问题。Trust Wallet 被攻破并非由于在受影响窗口期打开钱包的用户的直接过错。但根本原因是供应链攻击破坏了开发人员的基础设施,而这反过来又是由 npm 中更广泛的生态系统漏洞造成的。
Trust Wallet 的即时响应包括:使所有发布 API 过期以在两周内阻止新版本发布;向注册商举报恶意的资产窃取域名(导致其迅速被封禁);以及推送干净的 2.69 版本。建议在 12 月 24 日至 26 日期间解锁过扩展的用户立即将资金迁移到新钱包。
给加密生态系统的启示
Shai-Hulud 活动暴露了远超出 Trust Wallet 范围的系统性漏洞:
对开发者而言
显式固定依赖项。 preinstall 脚本漏洞之所以有效,是因为 npm install 可以运行任意代码。将其固定到已知的干净版本可以防止自动更新引入被攻破的软件包。
将秘密视为已泄露。 任何在 2024 年 11 月 21 日至 2025 年 12 月之间拉取过 npm 包的项目都应假设凭据已暴露。这意味着需要撤销并重新生成 npm 令牌、GitHub PATs、SSH 密钥和云提供商凭据。
实施适当的秘密管理。 用于应用商店发布等关键基础设施的 API 密钥绝不应存储在版本控制系统中,即使在私有存储库中也是如此。使用硬件安全模块(HSM)或专用的秘密管理服务。
强制执行抗钓鱼的 MFA。 标准的双因素身份验证可以被复杂的攻击者绕过。像 YubiKeys 这样的硬件密钥为开发人员和 CI/CD 账户提供了更强的保护。
对用户而言
多样化钱包基础设施。 不要将所有资金都放在浏览器扩展中。硬件钱包提供与软件漏洞的隔离——它们可以签署交易,而无需向可能被攻破的浏览器泄露助记词。
假设更新可能是恶意的。 让软件变得便捷的自动更新模型也使其变得脆弱。考虑禁用安全关键型扩展的自动更新并手动验证新版本。
监控钱 包活动。 对异常交易进行警报的服务可以提供泄露的早期预警,在攻击者耗尽整个钱包之前限制损失。
对行业而言
加强 npm 生态系统。 npm 注册表是 Web3 开发的关键基础设施,但它缺乏许多可以防止蠕虫式传播的安全功能。强制性的代码签名、可重复构建以及包更新的异常检测可以显著提高攻击者的门槛。
重新思考浏览器扩展安全。 现有的模型——扩展自动更新并拥有广泛的权限——在持有大额资产的安全要求面前,从根本上是不兼容的。沙箱执行环境、带有用户审核的延迟更新以及减少权限可能会有所帮助。
协调事件响应。 Shai-Hulud 活动影响了加密生态系统中的数百个项目。更好的信息共享和协调响应可以在识别出受损软件包时限制损害。
加密货币供应链安全的未来
加密货币行业历来将安全工作的重点放在智能合约审计、交易所冷存储和面向用户的防钓鱼保护上。Shai-Hulud 活动证明,最危险的攻击可能来自被攻破的开发人员工具——这些基础设施加密用户从未直接与之交互,但却是他们使用的每个应用程序的基础。
随着 Web3 应用程序变得越来越复杂,它们的依赖图也变得越来越庞大。每个 npm 包、每个 GitHub action、每个 CI/CD 集成都代表了一个潜在的攻击向量。行业对 Shai-Hulud 的反应将决定这会成为一次性的警钟,还是加密基础设施供应链攻击时代的开始。
目前,攻击者的身份尚未确定。大约 280 万美元的 Trust Wallet 被盗资金仍留在攻击者钱包中,其余资金已通过中心化交易所和跨链桥洗白。更广泛的 Shai-Hulud 活动早期窃取的 5,000 多万美元资金已大部分消失在区块链的伪匿名深处。
沙虫(Sandworm)已经深深钻入了加密货币的基石。要将其根除,需要重新思考该行业自诞生之初就习以为常的安全假设。
构建安全的 Web3 应用程序需要强大的基础设施。BlockEden.xyz 提供企业级 RPC 节点和 API,内置监控和异常检测功能,帮助开发人员在影响用户之前识别异常活动。探索我们的 API 市场,在注重安全的基础上进行构建。