管理代币授权
要点总结
引言
DeFi 让用户掌控自己的资产,包括自己的私钥,带来前所未有的主权和支配力。不过,能力越大责任越大,用户必须全权负责资产的安全和管理。
DeFi 用户需要留意四类常见的骗局:
-
助记词泄露:攻击者试图诱骗用户交出助记词,从而未经授权地拿到资金。有了你的助记词,攻击者可以掏空你所有的资金,而且你之后往这个钱包再存钱,他们还会继续拿走。遗憾的是,这种情况无法挽回,唯一的办法是用新的
助记词创建一个全新的钱包。 -
直接转出 ETH:骗子会把 ETH 转账伪装成「安全更新」之类的函数调用来掩人耳目。老版本骗局背后的原始签名方式已经从 MetaMask 中移除;现代的钓鱼工具改为滥用看起来很普通的签名请求,指望你不看钱包上显示的内容就签名。中招意味着你无法找回这笔资金,但这个钱包仍然可以安全地用于其他交易。
-
NFT 市场挂单:要警惕假挂单和恶意合约,它们会利用你授予 OpenSea 等市场的授权。骗子可能诱骗你签署一条
链下消息,把你已授权的NFT挂出售卖,而整个过程没有发生任何代币交易。 -
代币授权:攻击者可能操纵权限,拿到比最初批准的更多的资金。「Approval(批准)」是授予他人使用你代币或 NFT 权限的链上交易。「Permit(许可)」提供同样的权限,但只需要一个不花 Gas 的链下签名。Uniswap 和大多数现代交易应用都使用这套系统(叫做 Permit2)。Permit 签名在被使用之前不会显示为链上批准,而且可以带有过期时间;Revoke.cash 的「Signatures」视图让你可以查看并取消它们。
随着智能合约越来越普及,
代币授权成为必需品,它让受信任的合约不必接触私钥就能执行交易。代币授权允许 dApp 自动代你转移钱包中的代币。这份便利提升了效率,同时也让用户暴露在骗局和越权访问这类攻击面前。
在这篇文章里,我们会讨论「代币授权」,并介绍一个社区打造的权限管理工具。
代币授权:理解、管理与安全
代币授权是预先授予智能合约的权限,让它可以从钱包中花费代币。它们的关键作用,是让交易不必每次都为直接从钱包转出资产而单独授权。但一旦被滥用,代币授权也会成为攻击毫无防备的用户的入口。为了应对这种风险,DeFi 用户必须保持谨慎,了解安全形势,并弄清楚代币授权究竟是怎么运作的。
向第三方合约授予权限包含两个步骤:
-
连接钱包:把钱包连接到 dApp 时,你只是把钱包
地址分享给它的前端,让它显示你的余额和活动。仅仅连接本身不会授予任何链上权限。 -
代币批准:要与 dApp 交易,你还需要批准它的智能合约代你转移特定的代币。这一步才真正授予了花费权。
通过主动管理代币授权,用户可以确保没有任何合约能从钱包中提取超过最初指定的数额。幸运的是,社区打造了一些工具,能给 DeFi 用户带来信心和安心。
教程:使用 Revoke.cash
Revoke.cash 通过一个简单的网站,让用户轻松管理自己的代币授权,帮助查看和监控授予各个 dApp 的授权。我们来看看怎么用这个强大的社区工具保护资产,把钱包的控制权拿回来。
1. 连接你的钱包:
要开始撤销代币授权,请前往 Revoke.cash,点击右上角的「Connect Wallet」(连接钱包)。你也可以在搜索框里手动输入自己的钱包公开地址。加载完成后,你会看到该网络上所有代币批准的列表。

2. 检查你的授权:
连接钱包后,你就可以检查现有的批准。你可以按被授权的花费方地址排序、筛选或搜索特定的批准。如果你怀疑最近出现了恶意批准,按「从新到旧」排序特别有用。用页面提供的排序和筛选功能,纵览你已经授予的代币授权。授权是按链分别授予的,所以请用网络选择器,在你使用的每条网络上重复检查一遍。

3. 撤销不需要的授权:
找到想撤销的批准后,只要点击它旁边的「Revoke」(撤销)按钮即可。如果你以后还需要这项批准但想降低风险,也可以点击批准额度旁边的铅笔图标,把额度改成别的数值。

在以下情况下,撤销或调整代币授权可能对你最有利:
-
一份新部署的智能合约被利用,在你常用的
去中心化交易所上造成漏洞。2023 年 4 月,知名
DEXSushiSwap 就遭遇了类似的攻击,约 350 万美元被从用户处盗走。没有撤销代币授权的受影响用户仍然处在风险中。 -
一项恶意的治理提案更新了多份合约,意图掏空用户资金。
BNB 链上的
DeFi协议 Atlantis Loans 执行了一项针对多份合约的治理提案,超过 250 万美元的资产因此受损。管理过批准额度的用户,减轻了钱包被这项恶意提案彻底掏空的风险。
别忘了委托
自以太坊 Pectra 升级(2025 年 5 月)以来,需要复查的权限不只有授权。一项较新的钱包功能(EIP-7702)让你的钱包可以委托给额外的代码,从而支持交易打包之类的便利,但也带来了一种新的盗币手法:一个恶意签名就能装上「清扫」代码,把你存入的任何资产立刻转给攻击者,而你的助记词从未泄露。2025 年,Wintermute 的研究人员发现,早期的钱包委托中有超过 97% 指向同一份清扫代码。
Revoke.cash 会在「Delegations」(委托)标签下显示你当前的委托,但由于委托由你的钱包而不是 dApp 控制,你需要在钱包内部撤销不想要的委托。在 MetaMask 中,打开账户详情,把账户切换回标准账户。如果你从未主动升级为智能账户,那么发现的任何委托都应当视为恶意的。
是时候加固我们的钱包防线了!希望你喜欢《探索者手册》的这一篇:「管理代币授权」。
如果你想拥有一份副本,方便旅途中随时查阅,或者想支持 Bankless Academy 未来的内容,别忘了收藏这一篇。祝旅途平安,探索者!
常见问题
我该什么时候使用 Revoke.cash?
定期使用 Revoke.cash,尤其是在你一段时间不使用某个 dApp 的时候,NFT 市场更要留意。限制批准能降低因黑客攻击、漏洞利用或钓鱼骗局造成的资金损失风险。把批准按最近时间排序,你就能发现可疑的批准并及时撤销,防止损失扩大。
断开钱包连接能保护我免受批准类攻击吗?
断开钱包与 dApp 的连接,并不能保护你免受任何攻击,无论是不是批准相关的。你此前授予的代币批准在断开连接后依然有效,因为它们存储在链上。
我要怎样避免代币授权被利用之类的风险?
主动管理代币授权包括:
-
只向可信的 dApp 授予授权。
-
定期复查代币授权。
-
移除不必要或可疑的授权。
-
检查有没有你不认识的钱包委托。
-
关注 dApp 的安全更新。
可以考虑使用 Revoke.cash 浏览器扩展这类第三方工具,它是一道主动防线。当你即将签署可能有害的内容时,扩展会发出警告,帮你挡住钓鱼骗局和其他恶意行为。
我能用 Revoke.cash 找回资金吗?
很遗憾,Revoke.cash 无法找回被盗资金。它是一个预防工具,用来降低你成为批准类攻击受害者的概率。不过,撤销那些用来盗取资金的批准,可以阻止后续的盗窃。
为什么我每次给钱包充值,钱都会被转走?
你的钱包里可能有「清扫机器人」,也就是一段脚本,它盯着被入侵的钱包,在你反应过来之前迅速把新存入的资产转走。原因之一是助记词泄露。这种情况下撤销批准没有用,应该放弃这个钱包,新建一个。但同样常见的原因是恶意的钱包委托:清扫代码是通过一个你被骗签下的签名装上的,助记词并没有泄露。请查看 Revoke.cash 的「Delegations」(委托)标签。如果你发现了不认识的委托,请在钱包内部撤销它(例如通过 MetaMask 的账户详情)。如果没有委托而钱还在被转走,就应当认为助记词已经泄露,换用一个全新的钱包。
作者
Marcus 负责出版 ENS DAO 通讯。他研究协议费用产生的盈余收入如何补贴应用层开发和其他开源基础设施。
编辑
Tetranome 是 Bankless Academy 的项目负责人,专注于用户体验、界面、设计和内容。
Trewkat 是 BanklessDAO 的作者和编辑。她热衷于了解加密货币和 NFT,尤其关注如何把这些知识更好地传达给他人。
赞助方
本文没有赞助商,是你免费 Bankless Academy 教育的一部分。收藏这篇文章,支持未来的内容创作!