MetaMask 钓鱼怎么防?常见攻击案例与防御要点
2024 年 MetaMask 用户因钓鱼累计损失超 5 亿美元——这个数字来自 Scam Sniffer 和 Chainalysis 在年底分别发布的统计。被偷的不是某一两个鲸鱼,而是几万个不同体量的地址被分散收割。这意味着钓鱼已经不是低概率事件,而是任何活跃 Web3 用户每周都会遇到几次的常规威胁。今天这一篇把 MetaMask 上最常见的钓鱼攻击拆开讲清楚,并落到能马上执行的防御要点上。

常见钓鱼攻击的三种形态
第一种:假网站盗助记词。攻击者注册和真实 DApp 高度相似的域名,比如 uniswaρ.org(用希腊字母 ρ 替换 p),或者 metamask-walletsupport.com 这种伪客服站。用户访问后会看到一个"钱包验证"或"导入修复"的弹窗,引导你输入助记词。这种最古老的形态依然在收人,因为新用户根本看不出域名里的字符替换。一旦助记词被提交,资产几分钟内被全部转出。
第二种:恶意签名(Permit / Permit2 / SetApprovalForAll)。这是 2023 年开始爆发、2024–2025 年成为主流的攻击形态。你访问一个看似正常的空投领取页面或 NFT mint 页面,点击"领取",MetaMask 弹出签名窗口。签名内容不是转账,而是一段看似无害的 EIP-712 结构化数据——但这段数据本质上是把你账户里某个代币的无限授权签给攻击者。签名后你账上不会立刻少钱,可能要过几小时或几天攻击者才会执行 transferFrom,于是用户完全不知道是哪一次签名出了问题。Permit 类型签名危险的原因是它绕过了链上 approve 交易、不消耗 Gas、不留下立刻可见的痕迹。
第三种:恶意 DApp / 假合约。攻击者搭一个完全功能可用的 DApp 看起来很正常,比如某个"新链空投查询"页面,让你连接钱包后点一个看起来普通的按钮,背后其实是一个调用 multicall 的合约,把你账户里多种资产一次性扫干净。这种形态比第二种更狠,因为它不依赖签名,而是依赖你自己点击交易确认。常见诱饵是:高 APY 新协议、超低价 NFT mint、新代币空投领取、虚假的资产挽回工具。
几个真实案例值得记住
2024 年 5 月,一个 Uniswap 用户被 Permit2 钓走 6900 万美元 DAI。受害者访问了一个伪装成 Uniswap UI 的钓鱼站,签名了一段 Permit2 结构化数据,把 DAI 无限授权签给了攻击者地址。攻击者隔几小时才执行 transferFrom,签的当下完全没察觉。这是单笔被钓金额最大的 MetaMask 用户案例之一。
2024 年 3 月,Inferno Drainer 服务被关闭前累计偷走 8000 万美元。Inferno Drainer 不是单一团伙,而是一个"钓鱼即服务"平台,向小骗子出租成套钓鱼工具,收 20% 抽成。它在被关停前服务了 16,000 多个钓鱼网站、影响 13 万个钱包地址。这件事说明钓鱼已经产业化、SaaS 化,攻击门槛被压得极低。
2024 年下半年多起 Discord 接管事件。攻击者攻陷知名 NFT 项目的 Discord 公告频道,发布伪造的"突发 mint"链接。Discord 公告自带项目方信任背书,老用户也会上当。被钓走的资产从单个项目几百 ETH 到上千 ETH 不等。
这三类事件共同的指向是:钓鱼正在向"看不出是钓鱼"的方向进化——域名相似度越来越高、签名内容越来越像正常授权、入口越来越走信任渠道。仅靠"小心点"已经不够。早期识别还可以参考 识别 rug pull 项目 里讲到的常见诱饵模式。
钱包内置的安全特性能挡到哪一步
MetaMask 这几年在补这块的能力,但补得相对慢。
网址黑名单(Phishing Detection):MetaMask 内置 EAL(Ethereum Phishing Detector)列表,访问已知钓鱼站时会弹红色警告页。覆盖度不错但有延迟——新的钓鱼站冒出来到进入名单通常要 6–72 小时,这个窗口期就是攻击者的黄金期。
签名风险扫描(Blockaid / Snap):从 2023 年起 MetaMask 集成了 Blockaid 这类安全扫描服务,签名前会显示"这段数据可能授权了 X 给地址 Y"。覆盖率持续提高,2025 年起对 Permit2 类签名识别准确度已经比较高。但对全新合约或复杂的批量签名,仍然会有漏报。
Snaps 生态扩展:第三方安全 Snap 比如 Pocket Universe、Wallet Guard 可以在签名前做更激进的模拟交易展示——告诉你"如果你签这个,账上会少 X、多 Y"。这种交易预演能力 Rabby vs MetaMask 对比 里讨论过,Rabby 原生就提供,MetaMask 要靠 Snaps 补。
硬件钱包接入:把私钥隔在硬件钱包里之后,攻击者即便骗到签名也只能偷走签名涵盖的范围,不会一次性扫光。但 Permit 类型签名一旦签了,硬件钱包也救不了你——硬件钱包的安全模型是"签名要按物理按钮确认",挡不住你自己同意签的恶意 Permit。硬件钱包本身也有它的攻击面,硬件钱包供应链攻击案例与防范 里展开讲了出厂前就被改装的风险。
整体来看,工具能挡掉的大概是已知域名 + 常见签名模式这一层。新型钓鱼、定向钓鱼、社工链路下来的钓鱼,工具基本帮不上。

用户层真正有效的防御要点
第一条:永远不要在任何页面输入助记词。MetaMask 官方在任何场景下都不会要你输入助记词验证或修复,凡是叫你输助记词的页面 100% 是钓鱼。这一条听起来老套但 2024 年依然有大量受害者栽在这里。
第二条:对 EIP-712 签名要求自己看懂结构。在 MetaMask 签名弹窗里点"View full message"展开完整数据。重点看 spender 字段是不是你认识的合约地址、value 字段是不是 2^256-1(这是无限授权的特征)、deadline 字段是不是异常远的未来时间。看不懂的 EIP-712 一律拒签——多签错过一个机会比错签一次损失少得多。
第三条:用单独的"操作钱包"参与高风险互动。冷钱包存大额资产,热钱包只放当周操作量。MetaMask 可以多账户切换,新建独立账户专门连接陌生 DApp。即便被钓也只损失热钱包那一点。钱包入门指南 里讲了完整分层策略。
第四条:定期清理 token approval。用 revoke.cash 或 Etherscan Token Approval 工具查自己钱包对哪些合约有未撤销授权——绝大多数过期 DApp 的授权应该全部撤掉。每月做一次清理,半年内被钓走的概率会显著下降。安全入门指南 里给过完整的授权清理 checklist。
第五条:Discord、Twitter、Telegram 公告里的链接默认不点。即便是关注的项目方公告,遇到 mint / 空投 / 紧急公告链接,先去官方网站或可信第三方(CoinGecko、Etherscan 项目页)二次确认,再走官方入口进去。社交平台被接管比想象的频繁。
第六条:用 智能合约审计 视角看协议。有无公开审计、审计公司是否头部、是否有 bug bounty——这些信号叠加能筛掉绝大多数有问题的 DApp。
工具挡一半,习惯挡另一半
把上面这些拼起来就能看到:钱包内置功能能挡掉的,主要是模式已知的攻击;剩下那一半要靠用户自己的工作流——多钱包隔离、签名结构看懂、授权定期清理、社交链接默认不信。两边任何一边偷懒,另一边都补不齐。2026 年 MetaMask 仍是行业里被钓鱼次数最多的钱包,不是因为它最弱,而是因为它用户最多。每一个 MetaMask 用户都值得每个季度抽 30 分钟把自己的防御链路重新过一遍。