钱包盗取程序:恶意授权如何盗走你的加密货币
钱包盗取程序会诱骗你签署授权,让攻击者得以清空你的钱包。了解盗取程序的运作方式、警示信号以及如何保护自己。
钱包盗取程序(wallet drainer)是一种恶意网站或脚本,它诱骗你签署交易或消息,赋予攻击者转移你代币和 NFT 的权限,然后利用这项权限清空你的钱包。攻击者根本不需要你的助记词——你自己的签名就替他完成了一切。
在假空投、假铸造以及项目社交账号被盗之后报道的许多损失,背后都是盗取程序在作祟。它们曾被当作现成的工具包出售,有时被称为“drainer-as-a-service”(盗取程序即服务),这意味着即使毫无技术的骗子也能部署它们。弄清楚自己在签什么,是最好的防御。
代币授权如何运作(以及盗取程序为何钟爱它)
在以太坊和其他 EVM 链上,去中心化应用无法自行转移你的代币。你需要先给予授权:允许某个特定合约代表你花费某种特定代币,最多不超过设定的数额。DEX 和借贷协议需要这一机制才能运作。
问题在于,许多应用为了方便会请求无限额授权,而授权在你撤销之前会一直有效。盗取程序只需让你授权它的合约,而不是正规合约。一旦你签了名,攻击者就可以随时发起转账。
对于 NFT,对应的机制是 setApprovalForAll,它允许操作员转移你在某个系列中持有的全部 NFT。交易市场会正当地使用它;盗取程序则用它一次性卷走整个系列。想深入了解,请参阅Instagram 和 TikTok 上的加密货币骗局。
盗取程序使用的签名
| 请求类型 | 看起来是什么样 | 为什么危险 |
|---|---|---|
| 代币授权 | “允许此网站花费你的 USDC” | 赋予花费方对该代币的权利 |
| NFT 全部授权 | “授予访问你在此系列中所有 NFT 的权限” | 让操作员可以转移该系列中的每一个 NFT |
| Permit 或 Permit2 签名 | 一条待签名的消息,通常无需 gas 费 | 攻击者可以稍后提交的链下授权 |
| 直接转账 | 实际上会把资产转出的“领取”按钮 | 伪装成领取的即时盗窃 |
| 盲签 | 无法阅读的十六进制数据 | 你无法判断自己在授权什么 |
无需 gas 的签名尤其具有欺骗性。因为不花手续费,人们往往以为它们只是无害的“登录”。有些确实如此,但另一些则是授权花费的 permit。我们关于冰钓鱼(ice phishing)和 permit 签名的文章对此有详细说明。
盗取程序攻击通常如何展开
- 1诱饵。 链接通过虚假的空投公告、官方帖子下的回复、被黑的 Discord 服务器、搜索引擎赞助广告,或自称提供“客服支持”的私信送到你面前。
- 2以假乱真的网站。 页面照搬真实项目的设计,并要求你连接钱包。
- 3扫描资产。 盗取脚本检查你的余额,优先为你最值钱的资产请求授权。
- 4签名。 请求被包装成“领取”“验证”“铸造”或“同步”,并用倒计时等手段制造紧迫感。
- 5清扫。 资产往往在几秒内被转出,并迅速兑换或通过跨链桥转移,以增加追踪难度。
为什么经验丰富的用户也会中招
盗取程序并不依赖一眼就能看穿的假网站。许多攻击始于真实项目被盗的账号,因此公告看起来是真的——因为它确实是从真账号发出的。另一些则恰好在真实空投或铸造火热时出现,此时人们本就预期要签署交易,并急于抢先参与。相关阅读:SIM 卡劫持攻击。如果想进一步了解,请阅读虚假代币迁移与兑换骗局。
此外,无论你授权的是可信的 DEX 还是盗取合约,钱包提示看起来都差不多。区别在于细节:花费方地址、代币和数额。经验丰富的用户之所以中招,是因为习惯占了上风,他们像之前上百次那样点下了“确认”。我们在窃取加密货币的恶意浏览器扩展中对此有更详细的介绍。相关阅读:加密货币用户的邮箱账户安全。
签名前的警示信号
- 你是通过私信、回复、广告或并非自己搜索到的链接来到这个网站的。
- 网站要求授权一种你并不打算交易的代币。
- 授权数额为无限,或花费方地址很陌生。
- 你被要求签署一条看不懂的消息,或钱包提示存在盲签风险。
- 对方施加压力:“领取将在 10 分钟后过期”“你的钱包将被冻结”。
- 域名略有出入、刚注册不久,或使用不常见的后缀。请参阅加密货币钓鱼网站。
如何保护自己
- 1使用一次性钱包(burner wallet)参与新铸造、空投和陌生应用,里面只放所需的资产。长期持有的资产放在另一个很少连接任何网站的钱包里。我们的一次性钱包指南介绍了如何设置。
- 2阅读每一个提示。 签名前核对操作、代币、数额和花费方。看不懂就拒绝。
- 3优先使用限额授权,前提是你的钱包允许自定义数额。
- 4开启交易预览或钱包中的模拟功能(如果有);它们会显示哪些资产将离开你的钱包。
- 5定期撤销。 检查并移除旧授权。我们关于如何撤销代币授权的分步指南会教你怎么做。
- 6直接访问。 手动输入熟悉的网址或使用已保存的书签,而不是点击链接。
如果你认为钱包已被盗空
请迅速行动,因为攻击者常常会回来拿走剩余资产:
- 撤销所有你不认识的授权。
- 把剩余资金转移到一个使用新助记词的全新钱包,尤其是当你曾在任何地方输入过助记词时。
- 记录交易哈希、攻击者地址和网站网址。
- 举报该网站和相关地址,例如通过我们的诈骗举报表,并向你发现该链接的平台举报。
- 不要理会任何声称收费帮你追回资金的人;追款骗局专门针对刚受害的人。
另请参阅我们的清单:钱包被盗后应立即采取的措施。
总结
钱包盗取程序并不会破解你钱包的密码学,而是让你亲手授权这场盗窃。把每一次签名都视为可能交出控制权的行为,把贵重资产存放在从不接触陌生网站的钱包里,并定期清理授权。签名前放慢三十秒,是你所拥有的最有效的安全工具。
常见问题
钱包盗取程序能偷走我的助记词吗?
通常不能。大多数盗取程序根本接触不到你的助记词。它们诱骗你签署授权或转账,从而获得转移你代币的权限。也有一些钓鱼页面会直接索要助记词,这属于另一种骗局:任何正规网站都绝不需要它。
撤销授权能追回被盗资金吗?
不能。撤销会移除权限,使攻击者无法再拿走已授权的代币,但已经转出的资产就无法挽回了。一发现问题就立即撤销;如果你签署过任何可疑内容,再把剩余资产转移到新钱包。
硬件钱包能防范盗取程序吗?
只能部分防范。硬件钱包会把私钥离线保存,但如果你在设备上批准了恶意请求,它照样会签名。只有当你仔细阅读设备显示的内容、拒绝任何看不懂的请求时,硬件钱包才最能发挥作用。
为什么我访问某个网站几天后钱包才被清空?
你很可能之前签署过一个仍然有效的授权或 permit。攻击者可以等待时机,之后再使用这项权限,比如在你的余额增加时。因此,定期检查并撤销旧授权非常重要。已签署的 permit 在截止时间前也可能一直有效。
