Permit2EIP-712Phishing
Permit2 和 EIP-712 签名为什么容易被钓鱼利用
很多钓鱼不是让你发交易,而是让你签一段看不懂的 typed data。
2026-06-09
为什么签名比交易更容易骗人
交易会消耗 gas,钱包通常会显示目标合约和资产变化;签名不消耗 gas,用户更容易放松警惕。但链下签名一旦被提交到合约,同样可以产生真实资产影响。
EIP-712 的目标是让结构化签名更可读,但实际钱包弹窗仍然包含大量字段。普通用户很难判断 spender、deadline、token、amount 分别意味着什么。
ERC-20 permit 的风险
EIP-2612 permit 允许用户通过签名授权 spender 花费 ERC-20,而不需要先发 approve 交易。便利性很高,但钓鱼站也可以诱导你签一个无限额度 permit。
一旦攻击者拿到签名,就可以把它提交到 token 合约,使 allowance 生效,然后再转走你的代币。
Permit2 多了一层间接授权
Permit2 是 Uniswap 推出的统一授权合约。用户先把 token 授权给 Permit2,再通过 Permit2 内部的 allowance 把额度分发给具体 spender。
风险点在于:你看到“授权给 Permit2”只是表层,真正能动币的是 Permit2 内部记录的 spender、amount、expiration。安全工具如果不读这一层,就会漏掉关键风险。
Signature Risk 关注哪些字段
签名前最重要的字段是 spender/operator、token、amount、deadline、verifyingContract。spender 决定谁能花钱,amount 决定能花多少,deadline 决定签名能活多久。
Signature Risk 会把这些字段抽出来,并对 permit、Permit2、订单类签名做风险解释。它不会请求签名,只做本地只读分析。