本文介绍了授权钓鱼常见的利用场景、技术原理,以及用户如何识别授权钓鱼
什么是授权钓鱼
授权钓鱼是Web3 用户最常见、最危险,受害者数量最多的骗局。
在Web3 中,用户与合约互动时,通常需要先进行签名授权,例如:
● 批准某个DApp 使用您钱包中的代币(ERC20 Approve)
● 授权合约转移您的NFT(setApprovalForAll)
● 或进行一些「看似无害」的链上签名(如登入/验证等)
「授权钓鱼」就是利用这些授权动作,诱导您给予恶意合约「可以转走您的资产」的权限。
核心特点
1. 诱导用户授权敏感权限
● 诈骗者透过伪装成正常的DApp、空投、NFT 项目等,诱导您点击授权按钮。实质上,是让您对恶意合约执行approve(代币授权)或setApprovalForAll(NFT 授权)等操作。
2. 您没有转帐,资产却被转走
● 用户没有主动发起转帐,只是点击了「确认」。但诈骗者拿到授权后,可随时呼叫链上函数转出您钱包的资产。不需要您再次确认或签名。
3. 授权额度高,且往往是「无限」
● 常见代码中会设定授权额度为2^256 - 1(即最大整数)。这意味着诈骗者合约可永久、无限次操作您的资产。
4. 合约只有授权功能
● 诈骗者的合约是「被动」的,不直接盗币;一切都建立在您「自愿授权」的前提下,绕过传统的反诈骗警觉性。
5. 签名资讯具有误导性
● 当用户看到钱包弹出授权视窗时,签名内容复杂或被简化,让用户无法从视觉上直观分析出签名内容,多数人会认为「只是授权」,很容易「习惯性点击确认」,但其实风险巨大。
常见场景
1. 假空投/ 假NFT 铸造页面
● 页面的标题吸引人,例如「限时空投」、「免费Mint」,点击按钮后弹出授权视窗,请求您「Approve」USDT 或「SetApprovalForAll」授权您的NFT,实际上是给诈骗者合约授权,之后他们可以在后台随时转走资产。
2. 假DEX / 假交易平台
● 透过Wallet 钱包连接假DEX,例如「兑换代币」功能,兑换USDC → 某新币。在实际操作中,假DEX 唤醒钱包只让您「Approve USDC」而非真正发起交易,诈骗者拿到授权后,会立即透过恶意合约转走您的USDC。
3. 游戏/ 质押(Staking)/ 流动性挖矿(Farming)项目诱导授权
● 用户被引导在DeFi 或GameFi 页面上进行「质押」、「开始游戏」,页面让您approve 某个代币/ NFT,其实这个项目本身就是空壳,部署了恶意合约,骗取授权后自动盗走资产。
4. 骇客入侵正常项目的前端
● 骇客入侵某个知名项目的网站或DNS 劫持,注入恶意脚本,悄悄替换成授权钓鱼合约,用户以为自己在和「旧项目」互动,实际上是把授权给了骇客。
5. 假客服/ 假帮助文档
● 用户在社群中遇到「技术支援」或「官方客服」,对方发送一个连结,诱导您进行某种操作来「解决问题」,该连结页面引导您授权某资产合约,实际上是陷阱。
核心原理
授权钓鱼(Malicious Approvals)的核心原则可以用一句话总结:
利用用户对Web3 授权机制的不了解,透过「诱导授权」,骗取合约控制资产的权限,最终在用户不知情的情况下盗走资产。
技术原理
常见的授权钓鱼技术操作流程如下:
1. 诈骗者部署恶意合约(但不主动转帐);
2. 引导用户对其资产approve 或setApprovalForAll;
3. 用户授权成功,资产仍在钱包中,暂无损失;
4. 诈骗者随后会透过transferFrom() 等函数,直接呼叫链上逻辑把资产转走;
5. 由于合约已被授权,这种呼叫是「合法」的,不会被区块链或钱包拦截。
用户安全防护最佳实践
Wallet 用户可以从以下几个方面去辨别是否被诱导:
● DApp 页面无实际功能,只让您「授权」
● 授权的是您重要资产(USDT、ETH、NFT)
● 授权额度为无限额度(approve(uint256 max))
● 钱包签名弹出视窗中提醒SetApprovalForAll: true
● 页面样式很粗糙,或仿冒知名项目介面
● 不要从Telegram,Twitter 评论区等社群媒体轻易点击连结并授权
结语:不懂就别签,签前先看清;不是交易也弹出视窗,高机率是陷阱
对于一般用户来说,对合约授权应该做到尽可能地仔细,用户安全意识也应该具备「授权==转帐」的思维,对授权合约操作仔细检查并慎重。
本文链接地址:https://www.wwsww.cn/btbjiaoxue/32464.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。