W3
安全实战与案例库入门896 次阅读

每月授权体检:10 分钟排掉大部分被盗风险

每月花 10 分钟检查一次钱包授权,理解 approve 为什么是最大的被盗入口,以及怎么查看、怎么撤销。

#安全#授权#approve#钱包自查

一句话结论

大多数钱包被盗不是因为私钥被破解,而是因为你曾经签过的授权还开着。每月做一次授权体检,能排掉很大一部分风险。

为什么授权是最大的隐患

在链上使用 DApp 时,你签的往往不是「付款」,而是授权(approve)。它做的事是:允许某个合约从你的钱包里转走某个代币,而且额度可以被设成无限(界面通常显示为 Unlimited)。

授权生效后会发生什么:

  • 该合约(或掌握该合约权限的人)可以在你完全不再操作的情况下转走你的代币
  • 授权不会因为你关掉网页、断开钱包连接而失效,它是记在链上的状态
  • 你以为「那个站点我早就不用了」并不等于安全,授权不会自动过期

也就是说,授权不是一次性动作,而是一个长期敞口。

怎么查、怎么撤

  1. 打开授权查询工具(如 Revoke.cash,或区块浏览器的代币授权页面),连接钱包并选择要检查的链
  2. 逐行看列表:每一行是「某代币 → 某合约」,重点看额度最后更新时间
  3. 对不认识、久未使用、额度为 Unlimited 的条目,逐个撤销(Revoke);撤销是一次链上交易,需要付 Gas
  4. 撤销后刷新页面,确认额度已归零

如果你平时在多条链上活动,每条链都要单独检查,很多人只清了主网。

多久做一次

  • 至少每月一次,像对账单一样固定到日历里
  • 大额操作前后各一次:转入大额资产前清理旧授权,退出某个 DApp 后顺手撤销
  • 听到某协议被攻击、跑路、出公告时,当天就去检查相关授权

频率不需要更高,关键是持续。一次 10 分钟的清理,胜过事后追款。

给你的教训

  • 签之前问一句:它真的需要无限额度吗?能用具体数量就别用 Unlimited。
  • 不用的授权立刻撤,撤销一次的成本远低于被盗一次。
  • 多链分别体检,L2 和其他链上的授权同样能被利用。
  • 体检替代不了隔离:新协议第一次用,先小额、先用单独的钱包。
  • 把授权体检写进日历,比出事后再想办法现实得多。

延伸阅读