链上安全操作必读:谨防钱包弹窗的Permit签名钓鱼风险

24-04-02 17:48
阅读本文需 5 分钟
总结 AI 总结
看总结 收起
原文来源:GoPlus


据 GoPlus 安全团队监测,当下钓鱼攻击成为 Web3 个人用户损失最多的主要风险,通常攻击者模仿官方推特、Telegram、邮件、Discord 回复或私聊用户用 Claim 空投、退款、福利活动引诱用户点击钓鱼网站链接,然后在钱包通过「Permit」签名等将用户授权资产盗走。这是一种采用 EIP-2612 离线签名授权标准,允许用户无需拥有 Eth 来支付 Gas 费即可进行批准,能够简化了用户的审批流程,降低手动审批流程导致的错误或延迟的风险,但也成为了当前钓鱼攻击的常用方式。


什么是 Permit 签名


简单说,过去我们需要 Approve 后才可以将代币转给别的合约,但如果合约支持 Permit,可以通过 Permit 离线签名,跳过 Approve 且无需支付 gas 的方式进行授权,进行授权后第三方就拥有了相应控制权,随时可以转走用户授权的资产。


Alice 使用链下签名向协议进行授权,协议调用 Permit 上链拿到授权,然后可以调用 TransferFrom 转移相应资产。



1. 交易中附加 permit 签名进行交互,无需预先 approve

2. 链下签名,链上操作由被授权地址操作,只能在被授权地址查看授权交易

3. 要求将相关方法写入 ERC20 代币合约内,EIP-2612 之前发布的 token 不支持


钓鱼攻击者伪造好钓鱼网站后会利用 Permit 签名获取用户授权,Permit 签名通常包含了:


Interactive:交互网址

Owner:授权方地址

Spender:被授权方地址

Value:授权数量

Nonce:随机数(防重放)

Deadline:过期时间


用户一旦签署了 Permit 签名,Spender 就可以在 Deadline 内转移相应 Value 的资产。


如何防范 Permit 签名钓鱼攻击


1、不要点击任何陌生、不信任的链接,始终要反复确认正确的官方渠道信息。


2、打开任何网站如果唤醒钱包签名确认弹窗,不要着急点确认,耐心仔细的阅读 Singnature request 上方出现的交互网址和签名内容,一般出现陌生网址和 Permit 包含 Spender 、Value 的 Permit 信息,直接点击【拒绝】可避免资产损失。



3、当登录注册时唤醒的【消息签名】弹窗才是安全可以点击的确认操作,参考样式如下:



本文来自投稿,不代表 BlockBeats 观点。


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交