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

看懂钱包弹窗的三种请求:签名、交易、授权

钱包弹窗只有三种:签名、交易、授权。学会用 Gas 提示、动作动词和数字,判断自己正在同意什么。

#安全#签名#授权#钱包弹窗

一句话结论

钱包弹窗只分三类——签名、交易、授权。看懂它属于哪一类,就知道自己是不是正在交出钱包的控制权。

三类请求分别是什么

签名(Sign / 结构化签名):只证明「这个地址的主人同意了某段内容」,本身不上链、不花 Gas。常见于登录、绑定地址、确认条款。它看起来无害,但风险在于签署的内容可以被设计成结构化数据(EIP-712),一旦签下,某些协议就能凭它替你执行操作。签名要看内容。

交易(Send / Swap / 合约交互):会真正上链并改变状态,需要 Gas。弹窗会显示发送多少、发给谁、调用哪个合约。这是最「实在」的一类,重点看收款地址和金额。

授权(Approve / SetApprovalForAll):介于两者之间。它本身是一次上链交易(要 Gas),改变的是未来的权限——允许某合约转走你某代币的多少额度。SetApprovalForAll 更彻底,一次授权整个 NFT 集合。

怎么在弹窗里快速判断

  • 看有没有 Gas 费:没有 Gas 提示的是签名;有 Gas 的是交易或授权
  • 看动作动词:Approve / SetApprovalForAll 是授权;Send / Swap 是交易;Sign / 登录是签名
  • 看数字含义:授权里出现的数字是额度,不是你要转的钱。出现 Unlimited 或天文数字,就是无限授权
  • 看合约地址:把它复制到区块浏览器里查一下,看它是什么、被多少人用过
  • 看不懂就不签,这条永远有效

常见伪装方式

  • 把授权包装成「确认领取」「验证钱包」「激活空投」
  • 登录签名里藏结构化数据,实际内容是一次授权
  • 弹窗显示的域名和你正在访问的站点看起来一样,但站点本身已经被替换

判断原则只有一句:弹窗要求你做的事,必须与你此刻真正想做的事匹配。你在登录,却弹出 Approve,就是异常。

给你的教训

  • 先分类再决定:无 Gas 的签名、有 Gas 的交易、改权限的授权,风险等级并不相同。
  • 授权看额度,不看界面文案,Unlimited 一律当成高风险。
  • 签名也要读内容,尤其是以结构化数据形式出现的签名请求。
  • 不确定就拒绝:操作失败可以重来,错误授权可能清空钱包。

延伸阅读