SEED·KNOT

授权自查

授权风险自查清单

授权是「一次签署、长期有效」的。没有任何界面会主动告诉你「你目前给出了几十个授权」,所以这件事只能靠自己定期去看。

示意图:查什么、在哪查、该撤谁、周期四个自查要点排在助记词卡样式的格子里

自动判断需要 JavaScript。没有它你仍然可以逐条阅读清单,只是不会自动给出结论。

  • 这是最常见的一项。授权不会过期、不会提醒、也不会随时间自动减少。没查过意味着你完全不知道自己的暴露面有多大。

  • 这是结构性问题,比任何单条授权都严重。用途没分开的话,一次判断失误的损失上限就是你的全部资产。分开之后,损失被限制在那个小额钱包里。

  • 很多应用默认申请一个极大的数值,实际效果是「可以动用这个代币的全部余额,包括你以后转进来的」。多数钱包允许你在弹窗里手动改成本次真正需要的数量。

  • 活动类页面是恶意授权最集中的场景,而且往往是一次性的——用完就不再需要那个权限了,留着只有风险没有收益。

  • 不花 Gas 只说明当时没有上链,不说明没有效力。某些离线签名本身就描述了一项授权或转移,拿到它的人可以在之后自行提交上链,费用他们出,资产是你的。

  • 授权是按链分别记录的。一条链上清干净了,另一条链上的还在那里,而你可能已经忘了自己在那条链上做过什么。

  • 今天安全的合约不代表永远安全。项目停更之后没人再修漏洞,而你的授权还挂在那里。这类是优先撤销对象。

  • 仿冒站和真站长得一模一样,域名差一两个字符,差别只在那个合约地址上。核对它比核对页面外观有效得多。

02在哪查、按什么顺序处理

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

处理顺序按风险从高到低:

看到什么该先撤
你看到的情况建议
无限额度 + 你不认识这个合约立刻撤
你从来没主动授权过、却出现在列表里立刻撤,并考虑把资产迁走
无限额度 + 已经很久没用的应用撤,需要时重新授权即可
授权的那个代币你余额很大撤,或改成限额
限额授权、额度很小可以留着
你正在频繁使用的成熟应用可保留,但纳入下次检查

撤销本身是一笔链上交易,要付网络费用。条目很多时可以只处理高风险的那些,或者选网络空闲的时候集中做。完整操作步骤和截图在 怎么查和撤销已有的授权

03哪些授权类型风险最高

按风险排序:无限额度授权 > 授予不熟悉合约的任何授权 > 你没看懂的离线签名 > 限额授权。前两类应当优先清理。

  • 无限额度授权。额度不随使用减少,而且覆盖你以后才转入的余额。合约一旦出事,该代币可能被全部转走。
  • 给陌生合约的授权。你无法判断它的代码做了什么,也无法判断它以后会不会被攻破。
  • 看不懂的离线签名。它可能等价于一次授权,而且不留链上痕迹供你事后核对。
  • 限额授权。损失有上限,是这几类里最可控的。

这几类的技术原理写在 签名授权:你点的那个按钮到底签了什么

04这份清单挡不住什么

它只覆盖代币授权这一类风险。助记词泄露、假钱包应用、剪贴板替换、转错地址,这些和授权无关,清理授权对它们没有任何作用。

尤其要说清楚一点:如果你的助记词可能已经泄露,撤销授权完全没有意义——拿到助记词的人可以直接转账,根本不需要任何授权。那种情况唯一有效的动作是把资产转到一个全新的、备份妥当的钱包。

其他路径的完整清单在 钱包被盗通常是怎么发生的;助记词的保管自查在 助记词保管自查清单

05常见问题

查授权需要连接钱包吗

查看阶段不需要。多数授权管理站允许你直接粘贴地址查询,看到的信息是一样的。只有真正要执行撤销时才需要连接钱包并签名。

撤销授权之后还能继续用那个应用吗

可以。下次使用时它会重新请求授权,你再确认一次即可。撤销不会影响你持有的资产,只是收回了权限。

这份清单会保存我的勾选吗

不会。勾选只存在于当前页面的内存中,不写 Cookie、不使用本地存储、不发送到任何服务器,刷新页面即清空。

授权风险和助记词泄露哪个更严重

助记词泄露更严重。它意味着整个钱包的所有地址、所有链上的资产都不再安全,且无法通过撤销授权止损,只能整个弃用。授权问题通常只影响特定代币,且可以撤销。