第 3 / 10 章
为什么“一次授权”可能已经足够
普通 ERC-20 授权通常按账户、链、代币合约、spender 和额度生效。它不等于整个钱包被接管,但攻击者可在额度内多次调用,无需持有人再次签名;如果额度极大,当前余额和之后转入的同类代币都可能暴露。NFT 的 setApprovalForAll 通常覆盖某一 NFT 合约下的全部资产。原生币、其他代币和其他链则需要相应权限或另一笔恶意调用。
风险提示:四个不能画等号的判断
连接钱包不等于授权转币;断开网站不等于撤销链上权限;一次授权不必然控制全部钱包资产;授权检查器显示为空,也不能证明所有尚未提交的链下签名都已失效。风险范围必须结合链、资产、额度、spender、期限、nonce 和既有授权判断。