850万美金一夜蒸发!深扒TrustWallet惊天漏洞背后那只“沙丘之虫”

admin 2026-01-05 17:54:31 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: TrustWallet因GitHubSecrets泄露遭供应链攻击,黑客用窃取的CWSAPIKey绕过审批发布恶意插件v2.68,把助记词伪装成errorMessage字段发送至伪造域名,一夜卷走850万美元;基础设施指向俄背景防弹主机,攻击者留下《沙丘》彩蛋并已迭代至Shai-Hulud3.0,开发者应收紧CI权限、监控异常流量并强化依赖审查。 综合评分: 92 文章分类: 供应链安全,漏洞分析,恶意软件,安全建设,WEB安全


cover_image

850万美金一夜蒸发!深扒 Trust Wallet 惊天漏洞背后那只“沙丘之虫”

原创

Kit Chung

安全圈动向

2026年1月5日 07:57 广东

兄弟们,咱们搞技术的,最怕听到什么消息?

服务器宕机?数据库删库? 不,这都还能救。最怕的是——你的代码仓库被人端了,发版密钥被人拿了,黑客当着你的面,把带毒的版本推送给了上百万用户。

这几天,币圈老牌钱包 Trust Wallet 就遭遇了这样的“灭顶之灾”。因为一个名为 Shai-Hulud(沙丘巨虫) 的供应链攻击,导致 Chrome 插件版用户损失了整整 850 万美元(约合人民币 6000 多万)。

我仔细研读了这次事件的 Post-mortem(复盘报告),发现这不仅仅是一次普通的盗币案,而是一场精心策划、技术手段极其“鸡贼”的供应链降维打击

今天,咱们不谈币价,只聊技术。来看看这群黑客是如何利用 DevOps 流程中的盲点,上演这出“狸猫换太子”的。


🩸 第一滴血:GitHub Secrets 的沦陷

一切的起点,都要从 GitHub Secrets 说起。

大家知道,我们在做 CI/CD(持续集成/持续部署)时,为了方便自动发布,通常会把 AWS Key、API Token 这些敏感信息配置在 GitHub 的 Secrets 环境变量里。

Trust Wallet 的开发团队也不例外。但不幸的是,Shai-Hulud 攻击攻破了他们的开发环境,直接拿到了 Chrome Web Store (CWS) 的 API Key

这里有个极其致命的流程漏洞:

黑客拿到的不仅是源码访问权,更是一把“万能钥匙”。

正常情况下,Trust Wallet 发布新版本需要内部层层审批、人工 Code Review。但是,黑客利用这个泄露的 API Key,直接绕过了所有的内部审批流程,通过 API 接口向谷歌商店提交了名为 2.68 的恶意版本。

这就好比你家装了防盗门(代码审查),但这小偷手里直接有你家装修队的万能钥匙(CI发布凭证),大摇大摆就进去了。

🐍 隐蔽的代码:把助记词藏在“报错”里

如果仅仅是上传个恶意版本,可能很快就会被谷歌或者安全软件发现。但这次攻击最让我“佩服”的,是他们在代码层面的伪装术。

黑客注册了一个极其具备迷惑性的域名:metrics-trustwallet[.]com。乍一看,你是不是以为这是官方的监控埋点域名?

高潮来了,看看他们是怎么偷走助记词(Seed Phrase)的。

安全公司 Koi 的分析指出,恶意代码并不是简单粗暴地把数据打包发送,而是玩了一手“灯下黑”:

  • 触发时机:

    它不仅仅在用户导入助记词时触发,而是每次解锁钱包都会触发。

  • 全量扫描:

    它会遍历你账户下的所有钱包,而不止是当前活动的那个。

  • 数据偷渡(Steganography-like):

    这是最骚的操作。黑客把窃取到的助记词,塞进了一个名为 errorMessage 的字段里。

想象一下,作为一个代码审查员(或者 automated scanner),当你看到一段向 metrics(监控)域名发送请求的代码,且请求体里包含着 unlock success(解锁成功)和 errorMessage(错误信息)时,你会怎么想?

“哦,这只是个普通的用户行为埋点,记录一下解锁有没有报错。”

错!那个所谓的 errorMessage 字段里,正躺着用户的全部身家。 这种将敏感数据伪装成标准遥测(Telemetry)数据的手段,极大降低了被安全审计发现的概率。

🌐 基础设施与“沙丘”彩蛋

通过对那个恶意域名 metrics-trustwallet[.]com 的溯源,发现其解析到的 IP 138.124.70.40 属于 Stark Industries Solutions

别被名字骗了,这可不是钢铁侠的公司,而是一家有着深厚俄罗斯背景的“防弹主机”(Bulletproof Hosting)服务商。这家公司成立于 2022 年 2 月(就在俄乌冲突前两周),一直是各路黑产眼中的“避风港”。

更有意思的是,当安全研究员尝试直接访问这个恶意服务器时,服务器竟然返回了一句纯文本:

“He who controls the spice controls the universe”

(谁控制了香料,谁就控制了宇宙)

这是科幻巨著《沙丘》里的经典台词。黑客不仅偷了钱,还留下了这种充满挑衅意味的彩蛋,简直是赤裸裸的嘲讽。这也印证了该攻击与之前 npm 生态中出现的 Shai-Hulud(沙丘巨虫)攻击系出同门。

⚠️技术人的反思:供应链防御战

Trust Wallet 这次虽然承诺了赔付,但对于我们每一个开发者和运维人员来说,这记警钟敲得太响了。

最新的情报显示,Shai-Hulud 3.0 版本 已经出现。相比这次,3.0 版本在字符串混淆、错误处理和 Windows 兼容性上做了大幅优化,目的很明确:活得更久,偷得更多。

作为技术人,我们能做什么?

  1. 最小权限原则(PoLP):

    CI/CD 的 Token 权限是不是开太大了?能否限制 API Key 只能上传 Draft,不能直接 Publish?

  2. 监控异常出口流量:

    生产环境或插件如果有向陌生域名(哪怕长得很像官方域名)的数据传输,防火墙有没有报警?

  3. 依赖审查:

    这次是偷了 Secrets,下次可能就是污染 npm/pip 依赖包。

  4. 本地开发环境安全:

    别以为内网就安全,开发者的电脑往往是渗透测试的最佳突破口。

网络安全,从来就没有“绝对安全”,只有日复一日的小心翼翼。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全圈动向 Kit Chung《850万美金一夜蒸发!深扒 Trust Wallet 惊天漏洞背后那只“沙丘之虫”》

如何处理僵尸进程 网络安全文章

如何处理僵尸进程

文章总结: 文章指出僵尸进程是已终止但未被父进程回收的进程,常因资源异常触发,不耗内存却会推高系统负载,作者用ps与lsof定位因iscsi掉盘产生的僵尸进程,
评论:0   参与:  0