W3
安全应急中级预计 20-30 分钟8 个步骤27 次学习

代币授权管理与撤销(revoke.cash 实操)

搞懂 DApp 为什么需要 Approve 授权、无限授权(Unlimited)为什么危险,然后打开 revoke.cash 连接钱包,按链查看代币、Spender、授权额度与时间,逐条撤销并支付 Gas,把授权体检变成每月或每季度的固定习惯。

代币授权管理与撤销(revoke.cash 实操)
⚠️
操作前必读

长期挂着的无限授权等同于把钱包的提款权交给合约代码。撤销授权需要支付 Gas,属于必要的安全成本;但请在核对 revoke.cash 域名无误后再连接钱包,任何索要助记词的页面都是钓鱼。

01

理解 Approve 授权机制与 Allowance

登录记录进度

DApp 无法直接动用你钱包里的 ERC-20 代币,必须先由你签名调用代币合约的 approve 方法,把某个 Spender(通常是一个 DEX 或借贷合约)加入白名单,并给它一个 Allowance 额度。之后该合约就能在额度内直接转走你的代币,不需要你每次再确认。这就是为什么在 DEX 里第一次 swap 之前,总会先弹出一笔「授权」交易。

理解 Approve 授权机制与 Allowance
理解 Approve 授权机制与 Allowance|界面示意 · support.metamask.io · 采集于 2026-09-18
🚫
避坑提醒:

授权本质上是把「动用你某个代币的权限」交给一段合约代码,代码有漏洞或被攻破,你的授权就成了攻击者的提款凭证。

02

认清无限授权(Unlimited)的风险

登录记录进度

很多 DApp 为了省事,默认申请 Unlimited 额度(数值是 2^256-1,天文数字)。好处是以后交易不用重复授权,坏处是一旦该合约被攻破或项目方跑路,你钱包里该代币的全部余额都可能被一次性转走。授权弹窗里通常可以点「Edit permission / 编辑权限」改成自定义额度,改成略高于本次交易金额即可。

认清无限授权(Unlimited)的风险
认清无限授权(Unlimited)的风险|界面示意 · ethereum.org · 采集于 2026-09-18
🚫
避坑提醒:

Unlimited 授权在便捷性与风险之间明显失衡,除少数高频使用的头部协议,建议一律改成按需额度。

03

打开 revoke.cash 并连接钱包

登录记录进度

在浏览器手动输入 revoke.cash 并核对域名后打开,点击右上角「Connect Wallet」,选择 MetaMask。整个授权查询过程是只读的,工具不会接触你的私钥,也不会主动发起转账。连接后页面会读取你地址在各条链上的历史授权记录,通常需要几秒钟加载完成。

打开 revoke.cash 并连接钱包
图 3:revoke.cash 首页与右上角连接钱包入口(界面示意 · Revoke.cash · 采集于 2026-09-18)
💡
小技巧:

只读连接后,MetaMask 不会立刻要求签名;如果页面一上来就催你签名转账,立刻关掉,那大概率是仿冒站点。

revoke.cash 授权管理工具
04

按链查看所有授权列表

登录记录进度

连接后在顶部切换网络,逐条查看你曾经授权过的记录。每条包含四个关键信息:代币(Token)被授权方(Spender)授权额度(Allowance)最近一次授权时间。优先关注额度显示为 Unlimited 或极大数值、Spender 是陌生合约、时间还是几年前的记录,这些是风险最高的一批。

按链查看所有授权列表
图 4:授权列表中的代币、Spender 与额度三列(界面示意 · Revoke.cash · 采集于 2026-09-18)
🚫
避坑提醒:

不要因为某个 DApp 宣称「已停止运营」就跳过撤销,只要合约还在链上,授权就依然有效、依然可被调用。

05

撤销单条授权并支付 Gas

登录记录进度

在目标授权右侧点「Revoke」,MetaMask 会弹出交易确认,撤销动作本质上是把 Allowance 改回 0,因此需要支付 Gas。以太坊主网单条撤销在 Gas 便宜时通常 1-5 美元,Arbitrum、Base 等 L2 上往往只要 0.05-0.3 美元。确认后等待十几秒,列表中该条会显示为已撤销状态。

撤销单条授权并支付 Gas
撤销单条授权并支付 Gas|界面示意 · support.metamask.io · 采集于 2026-09-18
💡
小技巧:

L2 上产生的授权可以在 L2 直接撤销,成本极低;主网授权太多时,等行情清淡、Gas 低于 20 gwei 时统一处理更省钱。

06

优先撤销无限授权与陌生 Spender

登录记录进度

授权记录几十上百条时不必全部撤销,按优先级处理:先撤 Unlimited 额度的,再撤已经不用的老协议,最后撤 Spender 地址没有公开来源记录的。对于 Arbitrum、Base、BNB Smart Chain 上的旧授权,同样要切换网络逐条检查,很多人只清理了主网,其他链上的无限授权一直挂着。

优先撤销无限授权与陌生 Spender
优先撤销无限授权与陌生 Spender|界面示意 · defillama.com · 采集于 2026-09-18
🚫
避坑提醒:

NFT 的授权(setApprovalForAll)是把整个集合的操作权交给对方,一旦被滥用,该系列下你所有 NFT 都可能被转走,优先级高于普通代币授权。

07

把授权体检变成固定习惯

登录记录进度

建议每月或每季度打开一次 revoke.cash,把新增授权过一遍;钱包资产结构变化后(比如某个协议不再使用)及时撤销。同时养成两个习惯:Swap 时在授权弹窗把 Unlimited 改成自定义额度;参与新协议时优先使用单独的小额钱包,而不是存放主力资产的钱包,把风险隔离在可控范围内。

把授权体检变成固定习惯
把授权体检变成固定习惯|界面示意 · support.metamask.io · 采集于 2026-09-18
💡
小技巧:

用一个只放少量资金的「交互钱包」去做空投、测试网与陌生 DApp,主资产钱包几乎不对外授权,这一条习惯就能挡掉绝大多数事故。

08

理解被授权合约被黑后的资金链条

登录记录进度

授权事故的典型链条是:你曾给某合约 Unlimited 授权 → 该合约私钥泄露或被植入后门 → 攻击者写脚本批量调用 transferFrom → 在几分钟内把你钱包里该代币清空,并可同时对多个用户执行。你无法控制合约代码的安全水平,唯一能做的是不留下长期、无限、无用的授权。

理解被授权合约被黑后的资金链条
理解被授权合约被黑后的资金链条|界面示意 · support.metamask.io · 采集于 2026-09-18
🚫
避坑提醒:

链上交易一旦确认就无法追回。发现异常后的第一件事不是研究原因,而是立刻把剩余资产转到安全地址并撤销授权。

来源与时效

教程记录平台 Revoke.cash · 客户端 Web / App · 版本 v1。各平台界面会随版本更新变化,请以官方当前界面为准。

全部步骤已完成

操作完成后建议再核对一次到账金额与手续费,并保留交易哈希作为凭证。

相关教程

钱包被盗后的应急处理清单
安全应急中级60 分钟以上

钱包被盗后的应急处理清单

按时间顺序给出一份可照着执行的应急清单:判断是否真的被盗、立刻停止向该地址转入资产、用全新助记词的钱包转移剩余资产(含助记词泄露时 Gas 被秒转的困境与 Flashbots 解法)、撤销授权、排查泄露来源、联系交易所与链上分析机构、准备报案材料并做长期加固。

8 个步骤
合约交互与授权管理:签名、Approve 与撤销实操
安全应急中级40-50 分钟

合约交互与授权管理:签名、Approve 与撤销实操

把「连接 DApp 之后发生了什么」讲清楚:Connect Wallet 到底授予了什么权限(只读地址,还是可以动你的钱);钱包弹窗三类操作的本质区别——消息签名(Sign)、交易(Transaction)、代币授权(Approve),以及为什么盲签最危险;personal_sign 与 EIP-712 结构化签名的安全性差异;Approve 授权机制与 allowance 的运作方式、无限授权的真实风险;如何使用 Permit(EIP-2612)离线签名授权并控制额度;用 revoke.cash 与区块浏览器撤销授权的完整实操;滑点与交易期限设置对资金安全的影响;交互前的域名、合约、审计四步自查;最后建立「授权体检」的例行纪律清单。

10 个步骤
硬件钱包与钱包安全加固:冷存储、多签与分层策略
安全应急进阶40-50 分钟

硬件钱包与钱包安全加固:冷存储、多签与分层策略

把钱包安全从「小心别被骗」升级为「即使被骗也伤不到根本」:为什么硬件钱包是资产安全的分水岭——私钥永不接触网络、签名在设备内完成、电脑中木马也拿不到密钥;硬件钱包选型与<strong>只从官方渠道购买</strong>(拒绝二手与第三方改装)的原因;设备初始化时助记词必须在设备屏幕上生成与抄写;与 MetaMask 联动的配置流程与屏幕双重核对纪律;多签钱包(Safe)的原理、阈值配置与团队共管场景;社交恢复与智能钱包如何消除「助记词丢失即终局」;分账户策略的落地方法;家庭与团队场景下的备份分片、共同持有人与继承方案;最后是一份安全加固总清单与年度安全复盘流程。

10 个步骤