链下签名钓鱼攻击 Permit 签名安全风险解析

·

用户在与去中心化应用交互时,必须警惕授权签名背后的安全隐患,仔细核对签名内容并定期审查资产授权状态。

事件背景

2023年5月,一名推特用户因误入钓鱼网站“syncswap[.]network”遭遇钱包盗取事件,损失超过100美元。尽管金额不大,但背后隐藏的链下签名风险极具破坏性——许多用户因忽视“不起眼”的签名操作而损失大量资产。

通过分析受害者交易记录可见,攻击者通过调用transferFrom函数转移走了受害者的USDC资产。进一步追查调用者地址,发现一笔受害者交易记录中并未出现的Permit操作。这成为了解开此次盗币事件的关键。


什么是 Permit 签名?

Permit 功能源于以太坊改进提案EIP-2612,被引入至ERC20标准中。它允许用户通过线下签名完成授权,无需预先在链上执行approve操作。

传统授权 vs. Permit 授权

Permit 函数通常包含以下参数:

在此次事件中,攻击者设置了一个近乎无限期的授权期限(至公元56300年),并获取了116.239404 USDC的操作权限。受害者在线下对恶意消息签名后,攻击者凭签名数据完成链上授权并转走资产。

👉 查看实时授权检测工具


为何 Permit 签名更危险?

与approve授权钓鱼相比,Permit签名钓鱼具有更高隐蔽性和风险:

  1. 无Gas需求:用户签名过程在线下完成,无需支付Gas,容易降低警惕性;
  2. 难以察觉:多数钱包对Permit签名的风险提示不足,用户难以识别恶意消息;
  3. 广泛适用:不少DEX及DeFi协议已集成Permit2等新标准,增大潜在攻击面。

据相关反诈骗平台统计,仅2023年5月上旬,已有超300名用户因Permit2签名钓鱼被盗,总损失接近69万美元。


安全建议与防范措施

为防范Permit签名钓鱼及其他授权风险,建议用户采取如下措施:

此外,建议用户深入学习区块链安全知识,提升自身在数字资产操作中的风险识别能力。


常见问题

Q1: Permit 签名和普通交易签名有什么区别?

A: Permit签名是一种线下消息签名,不直接发生链上交易,但签名被他人使用后可在链上完成授权操作。普通交易签名则对应直接的链上操作。

Q2: 如何检查我是否已授权Permit2?

A: 可使用专门的授权查询工具,输入地址后即可查看所有已授权的合约及代币信息。

Q3: 如果发现异常授权该怎么办?

A: 应立即使用RevokeCash等工具撤销授权。同时转移剩余资产至新钱包,确保私钥和助记词未泄露。

Q4: 哪些代币常被用于Permit钓鱼攻击?

A: 主流稳定币(如USDT、USDC)和高价值代币(ETH、WBTC)最常被攻击者瞄准。

Q5: 钱包是否会对Permit签名提供风险警告?

A: 部分钱包已开始增强对签名的解析和警告功能,但仍需用户自身保持警惕,切勿盲目签名。


保持警觉、定期审查授权、使用可靠工具,是抵御区块链世界隐形威胁的有效方式。愿每一位参与者都能安全探索去中心化的未来。