Uniswap Permit2签名钓鱼新骗局:资产被盗风险与防范策略

隐蔽的危险:剖析Uniswap Permit2签名钓鱼骗局

黑客是Web3生态系统中令人生畏的存在。对项目方而言,开源代码特性使他们战战兢兢,生怕一行错误代码导致安全漏洞。对个人用户来说,每次链上交互或签名都可能危及资产安全,如果不了解操作含义。因此安全问题一直是加密世界最棘手的问题之一。由于区块链的不可逆特性,资产被盗几乎无法追回,这使得安全知识在加密世界中尤为重要。

近期,一种新型钓鱼手法引起了关注。这种方法极其隐蔽且难以防范,仅需签名即可导致资产被盗。更糟糕的是,曾与Uniswap交互过的地址都可能面临风险。本文将深入剖析这种签名钓鱼手法,以帮助读者避免资产损失。

事件经过

事情源于一位朋友(称为小A)的资产被盗。与常见被盗情况不同,小A并未泄露私钥,也未与可疑合约交互。进一步调查发现,小A的USDT是通过Transfer From函数被转移的。这意味着是第三方地址操作将Token转走,而非私钥泄露。

交易细节显示:

  • 一个尾号为fd51的地址将小A的资产转移到另一个地址
  • 这个操作是与Uniswap的Permit2合约交互完成的

关键问题在于:fd51地址如何获得了小A资产的操作权限?为何与Uniswap有关?

深入分析发现,在转移小A资产之前,fd51地址还进行了一个Permit操作,且这两个操作都与Uniswap的Permit2合约交互。

签名就被盗?揭秘Uniswap Permit2签名钓鱼骗局

Uniswap Permit2合约解析

Uniswap Permit2是2022年底推出的新合约。它允许在不同应用间共享和管理代币授权,旨在创造更统一、更具成本效益、更安全的用户体验。

Permit2的目标是降低用户交互成本。传统模式下,用户每次与不同Dapp交互都需单独授权。Permit2作为中间人,用户只需对Permit2授权一次,所有集成Permit2的Dapp都可共享这个授权。

这种方式虽然提高了用户体验,但也带来新的风险。Permit2将用户操作转为链下签名,所有链上操作由中间角色完成。这使得用户即使没有ETH也能完成交易,但同时增加了签名被滥用的风险。

签名就被盗?揭秘Uniswap Permit2签名钓鱼骗局

钓鱼手法剖析

钓鱼攻击的关键在于利用Permit2合约的permit函数。该函数允许用户通过签名授权其他地址使用自己的代币。攻击者获取用户签名后,就能通过Permit2合约转移用户资产。

攻击流程如下:

  1. 用户曾在Uniswap等集成Permit2的平台上进行过授权操作
  2. 攻击者诱导用户签署看似无害的消息
  3. 攻击者利用签名调用Permit2合约的permit函数
  4. Permit2合约验证签名有效性并更新授权
  5. 攻击者获得授权后调用transferFrom函数转移用户资产

值得注意的是,Uniswap的Permit2默认请求无限授权额度,这进一步加大了风险。

签名就被盗?揭秘Uniswap Permit2签名钓鱼骗局

防范建议

  1. 学会识别并理解签名内容,特别是涉及Permit相关的签名

  2. 采用冷热钱包分离策略,交互钱包仅保留少量资金

  3. 对Permit2合约授权时仅授权所需金额,或及时取消多余授权

  4. 了解自己持有代币是否支持permit功能,对相关交易保持警惕

  5. 若不幸遭遇攻击,其他平台上还有资产,需制定完善的资产转移计划

随着Permit2应用范围扩大,基于此的钓鱼攻击可能会越来越多。这种签名钓鱼方式极其隐蔽且难以防范,希望读者能提高警惕,并将相关知识分享给更多人,共同维护资产安全。

签名就被盗?揭秘Uniswap Permit2签名钓鱼骗局

UNI-1.97%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
Sandwich Huntervip
· 07-31 06:02
吃一堑长一智 别盲签了
回复0
元宇宙_包租婆vip
· 07-30 22:59
小韭菜还得长个心眼
回复0
OnChainDetectivevip
· 07-29 14:56
追踪到多个permit2漏洞...模式表明47%的受害者之前有过uni互动。这不是随机的。
查看原文回复0
Sherlockervip
· 07-29 14:52
怕了怕了…还是用小号跑U的靠谱
回复0
GmGnSleepervip
· 07-29 14:49
又一个社工盾被撕破了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)