# 揭秘Uniswap Permit2签名钓鱼骗局黑客是Web3生态中令人生畏的存在。对项目方而言,开源代码让他们担心每一行代码都可能存在漏洞。对个人用户来说,如果不了解操作含义,每次链上交互或签名都可能导致资产被盗。因此安全问题一直是加密世界的痛点之一。由于区块链的特性,资产一旦被盗几乎无法追回,所以掌握安全知识尤为重要。最近发现了一种新的钓鱼手法,只需签名就会被盗,手法隐蔽且难以防范。使用过某DEX交互的地址都可能面临风险。本文将对这种签名钓鱼手法进行科普,以避免更多资产损失。### 事件经过最近,一位朋友(小A)的钱包资产被盗。与常见被盗方式不同,小A并未泄露私钥,也没有与钓鱼网站合约交互。区块链浏览器显示,小A被盗的USDT是通过Transfer From函数转移的。这意味着是另一个地址操作转移了Token,而非钱包私钥泄露。交易细节显示:- 尾号fd51的地址将小A资产转移到尾号a0c8的地址- 这个操作是与某DEX的Permit2合约交互的关键问题是:尾号fd51地址如何获得资产权限?为什么与某DEX有关?进一步查看尾号fd51地址的交互记录,在转移小A资产前,该地址进行了Permit操作,且两个操作都与某DEX的Permit2合约交互。Permit2合约是某DEX于2022年底推出的新合约。它允许代币授权在不同应用间共享和管理,旨在创造更统一、成本更低、更安全的用户体验。未来随着更多项目集成,Permit2可实现跨应用的标准化Token批准。传统交互方式中,用户每与一个Dapp交互都需单独授权。Permit2作为中间人,用户只需授权给Permit2合约,所有集成Permit2的Dapp都可共享授权额度。这降低了用户交互成本,提升体验。但Permit2也是把双刃剑。它将用户操作变为链下签名,链上操作由中间角色完成。这使得即使用户钱包没有ETH也可使用其他Token支付Gas或由中间角色报销。然而,链下签名是用户最容易忽视的环节。要触发这个钓鱼手法,关键前提是钱包需授权给Permit2合约。目前只要在集成Permit2的Dapp上进行Swap,都需要授权给Permit2合约。更可怕的是,不管Swap金额多少,Permit2合约都会默认让用户授权该Token全部余额。这意味着,只要在2023年后与某DEX交互并授权给Permit2合约,就可能暴露在这个钓鱼风险下。黑客利用Permit函数,通过用户签名将授权给Permit2的Token额度转移给其他地址。 ### 事件详细分析Permit函数允许提前签署"合同",授权他人未来使用一定数量代币。它需要提供签名来验证授权真实性。函数工作流程:1. 检查当前时间是否超过签名有效期2. 验证签名真实性3. 通过后更新授权记录重点在于verify函数和_updateApproval函数。verify函数从签名信息中获取v、r、s数据,恢复签名地址并与传入地址比对。_updateApproval函数在验证通过后更新授权值。实际交易细节显示:- owner是小A钱包地址- 授权Token是USDT - Spender是尾号fd51黑客地址- sigDeadline是签名有效期- signature是小A的签名信息小A此前使用某DEX时点击了默认的无限授权额度。简述事件过程:小A之前授权给Permit2无限USDT额度,后不慎掉入黑客设计的签名陷阱。黑客利用签名在Permit2合约中进行Permit和Transfer From操作转移资产。目前该DEX的Permit2合约已成为钓鱼重灾区。### 如何防范?1. 理解并识别签名内容:学会识别Permit签名格式,包含Owner、Spender、value、nonce和deadline等关键信息。2. 资产与交互钱包分离:将大额资产存放冷钱包,交互钱包仅保留少量资金。3. 限制Permit2授权额度或取消授权:仅授权所需交易金额,或使用安全插件取消授权。4. 了解代币是否支持permit功能:关注所持代币是否支持该功能,对相关交易格外谨慎。5. 制定完善的资产拯救计划:若被盗后仍有资产在其他平台,需谨慎提取并转移,可考虑使用MEV转移或寻求专业安全团队协助。未来基于Permit2的钓鱼可能会增多。这种签名钓鱼方式隐蔽难防,随Permit2应用范围扩大,暴露风险的地址也将增加。希望读者传播本文,避免更多人遭受损失。
Uniswap Permit2合约签名钓鱼预警 防范资产损失须知
揭秘Uniswap Permit2签名钓鱼骗局
黑客是Web3生态中令人生畏的存在。对项目方而言,开源代码让他们担心每一行代码都可能存在漏洞。对个人用户来说,如果不了解操作含义,每次链上交互或签名都可能导致资产被盗。因此安全问题一直是加密世界的痛点之一。由于区块链的特性,资产一旦被盗几乎无法追回,所以掌握安全知识尤为重要。
最近发现了一种新的钓鱼手法,只需签名就会被盗,手法隐蔽且难以防范。使用过某DEX交互的地址都可能面临风险。本文将对这种签名钓鱼手法进行科普,以避免更多资产损失。
事件经过
最近,一位朋友(小A)的钱包资产被盗。与常见被盗方式不同,小A并未泄露私钥,也没有与钓鱼网站合约交互。
区块链浏览器显示,小A被盗的USDT是通过Transfer From函数转移的。这意味着是另一个地址操作转移了Token,而非钱包私钥泄露。
交易细节显示:
关键问题是:尾号fd51地址如何获得资产权限?为什么与某DEX有关?
进一步查看尾号fd51地址的交互记录,在转移小A资产前,该地址进行了Permit操作,且两个操作都与某DEX的Permit2合约交互。
Permit2合约是某DEX于2022年底推出的新合约。它允许代币授权在不同应用间共享和管理,旨在创造更统一、成本更低、更安全的用户体验。未来随着更多项目集成,Permit2可实现跨应用的标准化Token批准。
传统交互方式中,用户每与一个Dapp交互都需单独授权。Permit2作为中间人,用户只需授权给Permit2合约,所有集成Permit2的Dapp都可共享授权额度。这降低了用户交互成本,提升体验。
但Permit2也是把双刃剑。它将用户操作变为链下签名,链上操作由中间角色完成。这使得即使用户钱包没有ETH也可使用其他Token支付Gas或由中间角色报销。然而,链下签名是用户最容易忽视的环节。
要触发这个钓鱼手法,关键前提是钱包需授权给Permit2合约。目前只要在集成Permit2的Dapp上进行Swap,都需要授权给Permit2合约。更可怕的是,不管Swap金额多少,Permit2合约都会默认让用户授权该Token全部余额。
这意味着,只要在2023年后与某DEX交互并授权给Permit2合约,就可能暴露在这个钓鱼风险下。黑客利用Permit函数,通过用户签名将授权给Permit2的Token额度转移给其他地址。
事件详细分析
Permit函数允许提前签署"合同",授权他人未来使用一定数量代币。它需要提供签名来验证授权真实性。
函数工作流程:
重点在于verify函数和_updateApproval函数。
verify函数从签名信息中获取v、r、s数据,恢复签名地址并与传入地址比对。_updateApproval函数在验证通过后更新授权值。
实际交易细节显示:
小A此前使用某DEX时点击了默认的无限授权额度。
简述事件过程:小A之前授权给Permit2无限USDT额度,后不慎掉入黑客设计的签名陷阱。黑客利用签名在Permit2合约中进行Permit和Transfer From操作转移资产。目前该DEX的Permit2合约已成为钓鱼重灾区。
如何防范?
资产与交互钱包分离:将大额资产存放冷钱包,交互钱包仅保留少量资金。
限制Permit2授权额度或取消授权:仅授权所需交易金额,或使用安全插件取消授权。
了解代币是否支持permit功能:关注所持代币是否支持该功能,对相关交易格外谨慎。
制定完善的资产拯救计划:若被盗后仍有资产在其他平台,需谨慎提取并转移,可考虑使用MEV转移或寻求专业安全团队协助。
未来基于Permit2的钓鱼可能会增多。这种签名钓鱼方式隐蔽难防,随Permit2应用范围扩大,暴露风险的地址也将增加。希望读者传播本文,避免更多人遭受损失。