钱包窃取器(Wallet Drainer)是一种自动化攻击工具。它的工作方式很直接:诱导用户连接钱包,然后利用恶意智能合约一次性清空钱包里的所有代币和 NFT

据 Chainalysis 公开报告,仅 2024 年一年,Wallet Drainer 系列工具就从全球用户钱包中盗取了超过 4.9 亿美元的加密资产。它不再是针对个别用户的定向攻击,而是工业化、规模化的犯罪基础设施。

核心要点: Wallet Drainer 的核心是利用 EIP-712 签名和 Permit2 等机制,让用户在不知情的情况下签署资产转移授权。一个签名就能清空整个钱包。防御关键:不在未知网站连接钱包,签名前仔细检查交易内容,使用硬件钱包存储大额资产。

Wallet Drainer 怎么工作

Wallet Drainer 不是一个单独的恶意合约,而是一整套攻击即服务(CaaS)体系。攻击者(通常称为 Drainer 运营者)向 Drainer 开发者支付佣金(通常为盗取金额的 20%),换取使用 Drainer 工具的权限。

攻击流程分为三步:

第一步,诱饵。攻击者制作一个钓鱼网站,通常仿冒知名 DeFi 项目、空投领取页面或 NFT 铸造平台。诱饵通过 Discord/Telegram 群发消息、搜索引擎广告或社交媒体链接传播。

第二步,连接。用户被引导连接钱包(MetaMask、WalletConnect 等)。此时看起来一切正常,网站需要钱包连接才能”使用功能”。

第三步,清空。一旦钱包连接,Drainer 合约会自动扫描钱包里的所有资产(ETH、ERC-20 代币、NFT),然后向用户发送一个或多个签名请求。这些请求经过精心设计,看起来像是无害的操作(如 “Sign In” 或 “Verify”),但实际上是 increaseAllowancepermitSetApprovalForAll 等授权交易。

用户一旦签名,Drainer 合约就获得了转移资产的权限。资产会在几秒钟内被转走,通常通过混币器或跨链桥洗白。

为什么 Wallet Drainer 这么难防

Wallet Drainer 的技术核心是签名滥用。在以太坊生态中,有些操作不需要广播交易就能获得授权,只需要一个链下签名。这意味着用户签了名之后,攻击者可以在未来任意时间执行资产转移。

这带来两个问题:

第一,用户无法通过检查待处理的交易来发现问题。因为签名是链下的,区块链上暂时看不到任何异常。

第二,即使钱包提供商增强了安全提示,Drainer 开发者也在不断更新签名格式来绕过这些提示。这是一场持续的攻防战。

Permit2 的出现让情况更加复杂。Permit2 是 Uniswap 推出的通用授权合约,它允许用户通过一个签名批量授权多个代币。Drainer 利用 Permit2 可以在用户只签一次名的情况下,同时转移钱包里的所有 ERC-20 代币。

如何识别 Wallet Drainer

在链上层面,有几个信号可以帮助识别 Drainer 合约:

合约交互模式异常。Drainer 合约通常会大量调用 transferFrom 函数,从不同地址转出代币。正常的 DeFi 合约不会频繁从用户地址直接转出资产。

资金流向集中。被盗资产最终会汇聚到少数几个地址,然后转入混币器或跨链桥。通过区块链浏览器追踪资金流向,如果发现一个合约的输出地址大量关联已知混币器,基本可以确认是 Drainer。

高频资产转移。Drainer 合约在活跃期间会呈现非常高的交易频率,因为它在同时攻击多个受害者的钱包。

你可以用 Etherscan 的合约审计功能检查一个地址是否已被标记为恶意。也可以使用专门的地址风险评分工具(如 ours 的地址风险评分指南中介绍的方法)来判断一个地址的风险等级。

防范策略

防范 Wallet Drainer 的核心思路是减少签名面:

不在未知网站连接钱包。 这是 80% 的 Drainer 攻击入口。只在你信任的网站连接钱包,而且始终通过书签或官方渠道访问。

签名前读交易内容。 如果看到 transferFromapprovepermitSetApprovalForAll 这些函数名,而你本意只是”浏览网站”或”领取空投”,立即拒绝。

使用硬件钱包。 硬件钱包会在设备屏幕上显示交易的完整内容。Drainer 签名在硬件钱包的屏幕上会显示真实的合约调用数据,你有机会发现异常。

小额钱包日常使用。 将大部分资产存储在一个从不连接任何网站的冷钱包里,日常操作用一个只放少量资金的热钱包。

定期检查授权。 使用 revoke.cash 或 Etherscan Token Approval Checker 定期检查和撤销不必要的代币授权。

Wallet Drainer 的威胁不会消失,因为它在经济上对攻击者高度有利。Drainer 即服务模式的成熟意味着即使是技术水平很低的犯罪者也能发起攻击。唯一可靠的防御是让自己养成不随意签名、不随意连接钱包的习惯。