9 月 19 日,区块链安全公司慢雾(SlowMist)发出资产被盗预警,随后与 OKX 安全团队完成联合分析。结论是:上架苹果 App Store 的应用 FomoPeek 在 1.1 与 1.2 两个版本中被植入恶意模块,具备 iOS 内核漏洞利用、沙箱逃逸、Keychain 解密和跨应用数据采集能力,目标直指加密钱包的私钥与助记词。
这不是一起普通的钓鱼事件。恶意代码不是来自第三方重签名包,也不是越狱或侧载安装,而是随着开发者提交给苹果的官方版本,通过 App Store 正常分发到了用户手机上。
一款看起来完全正常的应用
从外部信息看,FomoPeek 没有任何可疑之处。
它在 App Store 正常上架,有官网和社交账号,定位是一款只读的链上监控与提醒工具,支持追踪 Solana、以太坊、波场等链上的巨鲸钱包动向。它不连接钱包,也不要求助记词。无论是审核方还是用户,都很难仅凭外观把它和内核漏洞利用联系起来。
它的推广方式更值得注意。慢雾梳理的公开推广信息显示,FomoPeek 主要通过加密 KOL 和社群分发。用户需要凭邀请码在 App Store 下载注册,设置一个安全码,添加要监控的钱包地址,然后在真机上停留几分钟,审核通过后可以领到 5 到 7 美元的 USDT 奖励。部分推广材料特别强调,每台 iPhone 只有一次机会,同一设备多开无效,必须使用真机并停留 5 到 7 分钟。
这些看似为了防刷量的规则,和恶意模块的技术特征高度吻合。样本中集成的一种利用策略每次执行需要两分钟以上,而云手机无法完成这套流程。慢雾在报告中谨慎地指出,推广规则本身只能作为旁证,不足以单独判定恶意意图。
时间线上也有反常之处。域名注册到应用上架只隔了大约 10 天,而隐私政策的生效日期比域名注册还早两天。整条网络身份与分发链路,是在 8 月下旬到 9 月初的一小段时间里集中搭建起来的。此外,App Store 页面的隐私标签声明"未收集数据",但 FomoPeek 自己的隐私政策却明确列出了设备标识符、推送令牌、邮箱、密码哈希、双因素安全码等多类数据。即便不考虑内核漏洞,这两份声明本身就是矛盾的。
攻击链是怎么跑通的
慢雾通过官方渠道获取历史版本安装包,逐版本做了比对。
1.0 版本在 8 月 29 日上架,没有发现恶意模块。9 月 9 日发布的 1.1 版本首次引入 apptrace 和 libapptracecore 两个框架,9 月 12 日的 1.2 版本沿用同一套代码,直到 9 月 17 日的 1.3 版本才把两个框架完整移除,安装包体积也从 10.47 MB 降回 1.81 MB。目前确认的风险窗口是 9 月 9 日至 9 月 17 日。
两个模块分工明确。apptrace 负责与远程控制服务器通信,libapptracecore 负责漏洞利用和数据采集。它们被主程序以非弱引用方式加载,意味着只要应用启动,无论业务代码是否调用,它们都会被载入同一个进程。
其中的内核攻击框架包含八套利用策略,能够根据设备型号和系统版本自动匹配,代码声明覆盖 iOS 12.0 至 18.7.2 以及 iOS 26.0 至 26.1。内置的设备型号表包含 2023 年至 2025 年发布的 iPhone 和 iPad,说明攻击目标并不局限于老旧设备。一旦利用成功,攻击代码可以获取内核读写能力、提权、逃出应用沙箱,并解密系统 Keychain。
控制通道的设计同样老练。应用启动后先访问一个公开的 Bitbucket 仓库,从中取回一段加密文本,解密后得到真实的 C2 地址。这个仓库建于 8 月 4 日,README 和 .gitignore 都是默认模板,纯粹用于伪装。攻击者只要修改这一个公开文件,就能替换所有受影响设备的 C2 地址,不必发布新版本。而解密后的 C2 域名注册于 9 月 12 日,正是 1.2 版本上架的当天。
最关键的证据来自动态验证。慢雾在隔离环境中发现,服务器下发的漏洞利用开关当时是关闭的。研究人员通过 Hook 把开关改为开启后,客户端随即收到了一份采集目标清单,包含 19 个钱包与笔记类应用,其中有 Gate Web3、SafePal、OKX Wallet、MetaMask、Trust Wallet、imToken、TokenPocket、TronLink 等,采集路径集中在 keystore、SQLite、MMKV、React Native 本地存储和 Keychain 访问组,还包括完整的 Apple 备忘录容器。随后,测试设备上的备忘录数据被打包上传到了攻击者的服务器。
另一个接口则把设备上已安装的 135 个应用全部上报,服务器据此判断该设备装了哪些钱包,再决定下发哪份采集清单。整条链路是:远程配置下发,内核利用与提权,目标数据采集,打包上传。
资金的去向也有迹可循。慢雾旗下 MistTrack 追踪到的主要黑客地址自 9 月 15 日开始活跃,累计收到 579,984.34 USDT,资金横跨以太坊、BNB Chain、Arbitrum 和波场,通过跨链与兑换平台归集后,分批转入 FixedFloat 等平台,其中一条链路上的波场地址累计收到超过 212 万 USDT,随后分散转入疑似 OTC 平台。
已经安装过的用户该怎么办
慢雾的提醒很直接:卸载应用或升级到 1.3,并不意味着设备已经安全。一旦框架成功执行,它读取的数据早就离开了手机。
因此,装过 1.1 或 1.2 版本的用户,应当把相关助记词、私钥和敏感凭证一律视为已经泄露。正确的做法是在一台从未安装过该应用的干净设备上重新创建钱包、生成全新助记词,并把资产转移过去,旧的助记词和私钥不要再复用。此外还需要检查各链账户的异常转账与授权记录,撤销不再使用的授权,更换在该设备上用过的密码并开启双因素认证,同时排查设备上是否被安装过描述文件或 MDM。
结论
这起事件真正值得警惕的,不是又一款恶意应用被抓住,而是攻击的入口发生了位移。
过去几年,行业教育用户的核心话术是"从官方商店下载"。FomoPeek 证明了这条经验法则的边界:恶意模块与主程序使用同一个苹果签名主体,安装包保留着 FairPlay 加密元数据,也就是说它确实是开发者提交、苹果审核通过、通过官方渠道分发的正式版本。审核机制没能拦住一套完整的内核攻击框架,因为在静态层面,主程序里找不到任何调用这些框架的痕迹,能力代码只在特定条件下由远程服务器唤醒。
慢雾在报告中把这类手法称为应用投毒或可信渠道投毒。它和传统的水坑攻击逻辑相通:不去追逐每一个目标,而是先占据目标群体长期信任、频繁使用的入口,然后等待对方自己走进来。慢雾还提到另一个公开案例 ComeCome,一款面向迪拜等地华人用户的外卖应用,同样被发现藏有可以逃逸沙箱、读取钱包与备忘录数据的组件。
对普通用户来说,能落地的结论只有几条:把私钥和助记词从联网手机上移走,尽量使用硬件钱包;对任何以小额奖励诱导下载、要求真机停留特定时长的活动保持警惕;不要因为一个应用来自官方商店,就默认它安全。
对平台方来说,这件事提出的问题更尖锐。当恶意能力可以随版本潜入、由远程开关控制、在审核期间保持静默,静态审核还能提供多少保护?这个问题目前还没有答案。