一签 19 种 token · 23 分钟 11.4 万美元

先说结局。慕尼黑的 DeFi 老玩家 Stefan 在 2025 年 1 月 22 日下午签了一份 Permit2 签名,23 分钟后他的钱包里 19 种 token 余额被分多笔 transferFrom 搬空,合计约 11.4 万美元。USDC、USDT、DAI、WETH、WBTC、LDO、UNI、AAVE 等全部蒸发,旧地址只剩一点 ETH gas。

他为什么会签

那天上午他收到一封「Uniswap 治理快讯」邮件,主题「Critical: Uniswap V4 Permit2 migration required」,48 小时窗口。攻击者订阅了 Uniswap 真 governance 邮件列表,照抄字体、配色、签名样式 —— 普通老用户挑不出毛病。链接指向 uniswap-permit2[.]xyz,UI 复刻。Stefan 是 Uniswap 多年老用户,对 Permit2 概念熟悉,他没怀疑就连了钱包。签名窗口显示一个长 token 列表,他没逐项看就按了 Sign。

本可以一秒识破的硬指标

Permit2 真实部署地址是 0x000000000022D473030F116dDEE9F6B43aC78BA3 —— 一个 vanity address,开头大量 0。社区里把这串前缀「0x000000000022」当成快速识别法。任何 spender 不以这串开头的 Permit2 签名,默认假定恶意。Stefan 那次签名的 spender 是 0x7c...e394,完全不是这个前缀。如果他扫一眼前 6 位就能避免。

5 个 Permit2 钓鱼信号

  • 邮件 / X / Discord 让你访问「Permit2 升级」页 —— 真 Uniswap 升级不要求你迁移授权
  • spender 不以 0x000000000022 开头 —— 直接 reject
  • 签名内容是 token 数组 —— 这是 Permit2 批量授权的特征
  • 页面 URL 不是 app.uniswap.org —— 任何变体都是假
  • deadline 距离现在 30 天 / 365 天 —— 真 Permit2 通常分钟级

6 周分批撤退的标准节奏

Permit2 签出无法撤销,唯一办法是把列表里所有 token 转到新地址。按《私钥泄露应急 · 五步抢救流程》第三步 P0-P1 处理。Stefan 后来花了 6 周分批把剩余资产搬走 —— 一次性大额转账可能触发其他 Permit2 协议的连锁警报。被钓后的「分批撤退」是 2025 年的标准应对节奏。旧地址永久不再持有这 19 种 token 中的任何一种,因为攻击者签名还在有效期内,再到账就被 sweep。

Stefan 写给老用户

「我用 Uniswap 4 年,自以为熟。结果熟反而成了漏洞 —— 我对 Permit2 不陌生这事让攻击者省了 80% 的说服成本。」

冷藏君

持币手册的作者。2016 年入场,经历过几轮牛熊,自己被骗过、也救回过别人的币。这本手册是把这些年学到的、踩过的、救回的,整理出来。

本文所有「案例描述」均为基于真实事件的合成与脱敏改写,不指向任何具体真实当事人。文中具体金额、时间、人名均为案例库的脱敏数据。本文不构成投资建议或法律建议,仅供学习参考。如发现内容错漏或想补充新型案例,欢迎通过勘误页反馈。