SEED·KNOT

定期清理

怎么查和撤销已有的授权

你可能给出过几十个授权,而其中大部分你已经忘了。它们不会过期,也不会有人提醒你,直到某个合约出事的那一天。

示意图:查授权、撤销、额度、周期四个关键词排在助记词卡样式的格子里

01为什么这件事值得单独做一次

因为授权是「一次签署、长期有效」的。你两年前为了一次兑换给出的权限,今天仍然可以被用来转走你的代币,前提只是那个合约出了问题。

这类损失的形态很有迷惑性:你的助记词没泄露,设备没中毒,你甚至最近根本没操作过钱包,但余额少了一部分。原因通常就是某个陈年授权被利用了。

授权是怎么产生的、无限额度意味着什么,写在 签名授权:你点的那个按钮到底签了什么。这一篇只讲怎么处理已经给出去的那些。

02在哪查

两条路:一是用专门的授权管理网站,输入你的地址就能看到列表;二是在对应链的区块浏览器上找「代币授权」相关的查询页面。前者更直观,后者不需要连接钱包。

Revoke.cash 首页截图,左侧是地址搜索框,右侧展示授权列表的示意界面
一个常用的授权管理站的公开首页(截于 2026-08)。注意左上角那个搜索框——它允许你只输入地址来查看,不必先连接钱包。查看阶段建议就用这种方式。

使用时的几条注意:

  • 查看阶段不要连接钱包。直接粘贴地址查询,能看到同样的信息。只有真正要执行撤销时才需要连接。
  • 确认域名。这类工具的仿冒站非常多,因为它们的目标用户正好是「手里有资产、正在处理安全问题」的人。
  • 逐条链检查。授权是按链记录的,你在一条链上清干净了,另一条链上的还在。

03那张列表怎么看

每一行大致是:哪个代币、授权给了哪个合约、额度多少、最后一次使用是什么时候。优先处理的是「额度无限」加上「你不认识这个合约」的组合。

按优先级排一遍你该撤谁:

看到什么应该撤销
情况风险建议
无限额度 + 不认识的合约最高立刻撤
无限额度 + 很久没用过的应用撤,需要时重新授权即可
授权的代币你余额很大撤,或改成限额
限额授权,额度很小可以留着
你正在频繁使用的成熟应用可保留,但纳入定期检查

还有一类容易被忽略:你从来没主动授权过、却出现在列表里的条目。这通常来自一次你以为只是「验证」的签名。看到就撤,并且把这个地址里的资产考虑转移。

NFT 的授权和代币授权不是同一件事

列表里可能会出现两种形态,很多人只处理了前一种:

  • 代币授权:按「数量」给权限,所以有「额度」这一栏,可以改小。
  • NFT 授权:通常是按「整个系列」给权限,没有额度可调,只有开和关。一旦开启,那个系列下你持有的全部物品都可以被转走,包括你之后才拿到的。

后者的风险结构更接近「无限额度」,而且因为界面上没有一个刺眼的大数字,人反而不容易警觉。如果你参与过任何 NFT 相关的市场或活动,检查授权时记得把这一类一起看,很多授权管理站会分成两个标签页展示。

另外还有一类单独的授权是给某个操作员地址的整体权限,形式上和 NFT 系列授权类似。判断标准不变:不认识的、不再用的,一律撤掉

04撤销这个动作本身

撤销就是把额度改成零,它是一笔链上交易,需要你签名并支付网络费用。撤销不会影响你已经持有的资产,只是收回权限。

  1. 在工具里选中要撤销的条目,点撤销。
  2. 钱包弹出确认窗口,确认它显示的额度是 0 或者「撤销」字样
  3. 支付网络费用,等待上链。
  4. 刷新列表确认那一条已经消失或额度归零。

成本这件事要说实话:如果你有几十条要撤,在费用较高的链上,累计花费不算小。可以按上一节的优先级只撤高风险的那些,或者选在网络空闲的时候批量处理。费用为什么会波动,见 Gas 费是什么

撤销失败、或者一直待处理

撤销和其他链上操作一样会遇到卡住的情况,处理方式也一样,但有两个这一场景特有的细节值得提醒:

  • 你需要该链的原生代币来付这笔费用。如果这个地址上只剩下被授权的那些代币、没有原生代币,你连撤销都做不了。这时要先往这个地址转一点原生代币进去,原因见 Gas 费是什么
  • 如果你怀疑资产正在被转走,别死磕撤销。撤销要排队、要等确认,而对方划走资产同样只需要一笔交易。更快的做法是直接把还没被转走的资产转到一个新地址——转账和撤销是并列的两笔交易,你只有一次抢先的机会,用在保住资产上更划算。

撤销交易本身卡住时,可以按常规方式用更高费用发一笔相同序号的交易来替换它。

一个更彻底的选项

如果一个地址的授权已经乱到你不想逐条处理,可以直接建一个新钱包,把资产转过去,旧地址弃用。这样比逐条撤销更干净,代价是几笔转账费用。前提是新钱包的助记词要好好备份,别为了解决一个问题制造另一个。

05多久清一次

没有标准答案。一个可执行的节奏是:每次参与完一轮链上活动之后清一次,平时每隔几个月看一次。频率不重要,重要的是它真的会发生。

比起定一个自己做不到的周期,更实用的是把它挂在一个你本来就会做的动作上:

  • 每次用完一个新的应用之后,顺手把这次的授权撤掉。
  • 每次要往钱包里转入一笔较大的资产之前,先查一遍授权。
  • 看到某个应用出事的消息时,去查一下自己有没有给过它权限。

需要逐项对照的话,用 授权风险自查清单

06撤销挡不住什么

撤销只能收回代币授权这一类权限。它挡不住助记词泄露,也追不回已经被转走的资产,更不能撤销一笔已经完成的转账。

把边界写清楚,免得产生虚假的安全感:

  • 助记词泄露了,撤销授权没有用。对方直接就能转账,根本不需要授权。这种情况唯一的动作是尽快把资产转到一个全新的、备份妥当的钱包。
  • 已经被划走的资产追不回来。撤销只影响未来。
  • 撤销之后再签一次,权限就又回来了。所以真正的防线仍然是「看懂再点确认」。

其他不涉及授权的被盗路径,写在 钱包被盗通常是怎么发生的

07常见问题

怎么查我给过哪些授权

可以用专门的授权管理网站,直接粘贴你的地址查询,不必连接钱包;也可以在对应链的区块浏览器上使用代币授权查询页面。授权按链分别记录,需要逐条链检查。

撤销授权要花钱吗

要。撤销是一笔链上交易,需要支付网络费用。如果条目很多,可以按风险优先级处理,或者选在网络空闲时集中操作以降低成本。

授权多久清理一次比较合适

没有统一标准。可执行的做法是把它挂在已有动作上:用完一个新应用后顺手撤掉本次授权,往钱包转入较大资产之前查一遍,听到某个应用出事时立刻确认自己有没有给过权限。

撤销授权能追回已经被转走的币吗

不能。撤销只影响未来的权限使用,对已经完成的链上转账没有任何作用。链上交易一旦确认就不可逆。

我的助记词可能泄露了,撤销授权有用吗

没有用。拿到助记词的人可以直接发起转账,不需要任何授权。这种情况唯一有效的做法是立即把资产转移到一个全新的、备份妥当的钱包地址。