安全研究

Trust Wallet 扩展后门:v2.68 版本恶意代码植入事件分析

#供应链攻击#APT分析#样本分析#恶意软件
近黑深绿蓝背景上,一条被武器化的合法分析管道将敏感助记词数据伪装成异常事件字段向外静默外传,前景是版本更新包中弹开、铜橙光从缝隙泄漏的暗门,中景有 APT 阴影人形跨立在多阶段箭头阶梯上、阶段化时间线与冒烟的信任链一环,背景皮革钱包带发光裂缝、玻璃面板上悬浮异常立方体,角落是铜橙色低多边形风格化的 Trust Wallet 盾牌 Logo——象征 v2.68 后门通过 PostHog 通道外传助记词的 APT 级定向供应链攻击

事件背景

北京时间 2025 年 12 月 26 日凌晨,@zachxbt 在频道发布消息称一些 Trust Wallet 用户报告钱包资金被盗。随后 Trust Wallet 官方 X 确认,Trust Wallet 浏览器扩展程序 2.68 版本存在安全风险,提醒所有用户立即禁用该版本并升级至 2.69。

ZachXBT 披露与 Trust Wallet 官方确认

慢雾安全团队收到情报后,第一时间对相关样本展开分析。

代码对比

我们先看一下之前发布的 2.67 与 2.68 两个版本的核心代码对比:

2.67 vs 2.68 代码 Diff 1

2.67 vs 2.68 代码 Diff 2

通过将两个版本的代码进行 diff,发现黑客添加的恶意代码如下:

2.67 vs 2.68 代码 Diff 3

恶意代码

恶意代码会遍历插件中所有的钱包,并对用户的每个钱包发起一次获取助记词的请求,获取到用户加密后的助记词,最后使用用户在解锁钱包时输入的 passwordpasskeyPassword 进行解密。如果解密成功,将会把用户的助记词发送到攻击者的域名上。

恶意代码 - 发送到攻击者域名

域名信息

我们顺便对攻击者的域名信息进行分析:

域名信息查询

经查询,该恶意域名 metrics-trustwallet[.]com 注册时间为 2025-12-08 02:28:18,域名服务商 NICENIC INTERNATIONAL。

在 2025-12-21 开始有首次针对 api.metrics-trustwallet[.]com 的请求记录:

首次请求记录 - 2025-12-21

这个时间点和代码在 12 月 22 日植入后门的时间基本吻合。

攻击复现

我们继续通过代码跟踪分析复现整个攻击过程。

通过动态分析可以看到,在解锁钱包后,可以在 R1 中看到攻击者将助记词信息填充到 error 里面:

R1 中助记词被填充到 error

而这个 Error 数据的来源是通过 GET_SEED_PHRASE 这个函数调用获得的。目前 Trust Wallet 支持 passwordpasskeyPassword 两种方式进行解锁,攻击者在解锁的时候拿到了 passwordpasskeyPassword,然后调用 GET_SEED_PHRASE 获取了钱包的助记词(私钥也是类似),随后将助记词放到了 errorMessage 中。

password 与 passkeyPassword 两种解锁方式

如下是使用 emit 调用 GetSeedPhrase 获取助记词数据并填充到 error 的代码:

emit 调用 GetSeedPhrase

通过 BurpSuite 进行的流量分析显示,在获取到助记词后,将其封装在请求体的 errorMessage 字段中,并发送到恶意服务器 https://api[.]metrics-trustwallet[.]com,这与前面的分析是一致的:

BurpSuite 流量分析

经过以上流程,完成盗取助记词/私钥攻击。另外攻击者应该也熟悉扩展源码,其利用开源的全链路产品分析平台 PostHog JS 采集用户钱包信息。

我的判断

此次后门事件源于对 Trust Wallet 扩展内部代码库(分析服务逻辑)的恶意源代码修改,而非引入已被篡改的通用第三方包(如恶意 npm 包)。攻击者直接篡改了应用程序自身的代码,利用合法的 PostHog 库将分析数据导向恶意服务器。

所以我们有理由相信这是一起专业的 APT 攻击,攻击者可能在 12 月 8 日之前已经控制 Trust Wallet 相关开发人员的设备权限或发布部署权限。

处置建议

  1. 如果您安装过 Trust Wallet 扩展钱包,应在第一时间断网作为排查和操作前提。
  2. 立即导出私钥/助记词并卸载 Trust Wallet 扩展钱包。
  3. 在备份好私钥/助记词后,尽快在其他钱包上做好资金的转移。