背景2025 年 9 月 2 日,社区用户 @KuanSun1990 遭遇攻击,其在 Venus 协议上的多个头寸被转移,损失约 1300 万美元。慢雾(SlowMist) 自主研发的 Web3 威胁情报与动态安全监控工具 MistEye 成功捕获该异常,并协...
2025 年 9 月 2 日,社区用户 @KuanSun1990 遭遇攻击,其在 Venus 协议上的多个头寸被转移,损失约 1300 万美元。慢雾(SlowMist) 自主研发的 Web3 威胁情报与动态安全监控工具 MistEye 成功捕获该异常,并协助用户进行分析。以下为具体分析详情。
(https://x.com/SlowMist_Team/status/1962854755585429877)
受害用户误入攻击者伪造的 Zoom 在线会议链接,并在该虚假网站的引导下在电脑上运行了恶意代码,导致设备被控制。由于相关记录已被删除,分析工作面临较大挑战。根据受害者的回忆,他当时使用的是某知名官方扩展钱包,并怀疑攻击者篡改了其电脑上的扩展钱包代码。结果,用户原本通过硬件钱包发起的 Venus 资产赎回操作被篡改为 Venus 头寸委托操作,最终导致其在 Venus 上的头寸被攻击者接管。
攻击者利用社会工程学手段,以商务合作为幌子,诱导目标用户参加 Zoom 在线会议,并通过 Telegram 发送会议链接(由于相关聊天记录已被删除,无法完整复原整个过程)。受害者点击该链接并加入会议。
受害者当时因与其他会议时间冲突,匆忙进入会议,未仔细检查浏览器域名是否为 Zoom 官方域名。同时,伪装成商务洽谈方的攻击者在会议中持续催促,使受害者在紧迫情境下未能辨别网站上的升级提醒是否存在恶意行为。
最终,受害者的电脑被攻击者控制。关于电脑被攻陷的具体方式,可参考 Web3 钓鱼演练平台 Unphishable (https://unphishable.io/) #NO.0x0036 关卡中提供的完整练习挑战。
攻击者在获得受害者电脑控制权限后,通过某种方式修改了受害者电脑中浏览器扩展的钱包代码,从而能够劫持并替换受害者的交易原始数据。由于受害者使用的硬件钱包缺乏完善的“所见即所签”(what you see is what you sign) 验证机制,最终导致受害者签署了已被篡改的交易。
那么攻击者是如何修改浏览器扩展钱包的代码呢?
我们知道 Chrome 有一套安全机制,如果是从 Chrome 商城上下载的扩展,只要代码被修改,浏览器就会提示扩展已损坏且无法使用;此外,这种完整性检查无法被关闭。
因此,我们一度怀疑攻击者可能不是修改某知名官方浏览器扩展钱包的代码,而是采用了其他的攻击方式。由于受害者电脑中许多攻击痕迹已被清理,真相难以完全还原。然而,通过深入研究并与威胁情报网络的合作伙伴沟通,我们确认攻击者用于篡改交易的浏览器扩展 ID 与官方扩展 ID 一致。
于是,我们开始研究如何实现浏览器扩展 ID 与官方保持一致,同时允许代码被修改:
在浏览器扩展页面开启开发者模式的情况下,可以将官方原版扩展文件额外复制一份,然后导入浏览器,即可得到一个既可修改代码又与官方扩展 ID 一致的新扩展。这是因为 Chrome 根据 manifest.json 文件的 key 来生成扩展 ID。只要确保扩展中的 manifest.json 文件的 key 与官方相同(相同的 key 是让扩展拥有相同 ID 的关键),就可以在该新扩展中(ID 与官方一致)任意修改代码而不会触发完整性检查。
通过 Patch Chrome 关于浏览器扩展内容验证的函数,可以全局关闭扩展的内容完整性检查。当然,在 macOS 上,这部分操作需要重新签名才能确保程序可用。
以上是我们研究出的两种可能攻击方式。目前没有更多明确信息来佐证,因此上述方法仅代表慢雾安全团队内部的研究和推测,并不意味着攻击者实际使用了该手法。
在攻击正式开始前,攻击者于 9 月 1 日使用自有资金筹集了约 21.18 个 BTCB 与 205,000 个 XRP,为接管受害用户在 Venus 的头寸做好准备。
经过约 10 小时的等待,攻击者终于等到了受害用户操作其钱包的机会。此时,受害用户使用硬件钱包连接了其在 Chrome 浏览器上安装的扩展钱包,并访问了正确的 Venus 官网。
随后,受害用户准备赎回其在 Venus 上的 USDT 代币。此时,受害用户调用的是正确的 redeemUnderlying 函数。但由于扩展钱包已被篡改,发送到硬件钱包进行签名的操作被替换为 updateDelegate 操作。受害者的硬件钱包并不支持详细的签名数据解析,并且开启了盲签功能,这导致受害用户在毫无防备的情况下对 updateDelegate 操作进行了签名,并通过扩展钱包提交了交易。最终,其 Venus 头寸被委托给攻击者进行管理。
(https://bscscan.com/tx/0x75eee705a234bf047050140197aeb9616418435688cfed4d072be75fcb9be0e2)
受害用户完成委托后,攻击者立即发起攻击,通过 Lista 闪电贷借入约 285 个 BTCB,并动用其自有的 21.18 个 BTCB 与 205,000 个 XRP。随后,攻击者为受害用户在 Venus 上归还了约 306.89 个 BTCB 与 152,673.96 个 XRP 的贷款。
在为受害用户完成还款后,攻击者立即将受害用户在 Venus 的抵押品(USDT/USDC/WBETH/FDUSD/ETH) 赎回至其控制的地址中。
此时,攻击者已完成对受害用户在 Venus 上头寸的转移,接下来只需归还从 Lista 闪电贷借入的约 285 个 BTCB,即可实现获利。由于攻击者持有的抵押品(USDT/USDC/WBETH/FDUSD/ETH) 直接在 DEX 中兑换为 BTCB 并不划算,可能造成较大滑点,因此攻击者选择将这些抵押品重新存入 Venus 并借出 BTCB 来归还闪电贷。
在完成闪电贷归还后,攻击者成功接管了受害用户的 Venus 头寸,这本是一场手法精妙的钓鱼攻击案例。然而,在攻击者持有 Venus 头寸且尚未进一步操作时,Venus 团队反应迅速,立即暂停了协议,并在稍后暂停了所有市场的 EXIT_MARKET 操作。
(https://bscscan.com/tx/0xe4a66f370ef2bc098d5f6bf2a532179eea400e00e4be8ea5654fa9e8aeee65bf#eventlog)
这一措施阻断了攻击者进一步操作其头寸以获取利润。随后,Venus 团队发起了紧急提案投票,以在确保协议安全恢复的同时,尽力追回用户被盗资金。
最终,Venus 团队通过强制清算攻击者的头寸,为受害用户追回了被盗资金。
此外,据链上反洗钱追踪工具 MistTrack 分析,与攻击者相关的地址曾从 ChangeNOW 提币:
其他相关地址曾与多个兑换平台(如 1inch)、跨链平台(如 Across Protocol)以及受制裁交易所(如 eXch)存在交互:
此次事件是一场精心策划的网络钓鱼攻击。攻击者通过恶意 Zoom 客户端控制用户设备,并利用 Chrome 开发者模式的特性篡改钱包扩展,巧妙地将用户的资产赎回操作替换为头寸委托操作,手法极其精密。幸运的是,Venus 团队展现了出色的应急响应能力,通过多方协作与快速响应,最终帮助用户化险为夷,避免了可能造成的巨大损失。