钓鱼攻击是加密货币世界里最常见的犯罪手法。没有之一。据公开报道,仅 2024 年,加密货币钓鱼攻击造成的损失就超过 4 亿美元。攻击者不需要破解你的私钥,他们只需要骗你点击一个链接,然后自愿签下一笔授权交易。
这就是钓鱼攻击的核心:利用你的信任或疏忽,让你自己把钱交出去。
核心要点: 钓鱼攻击有 5 种主要形式——假网站仿冒、恶意授权(SetApprovalForAll)、空投诱饵、假域名(IDN 同形异义字)、社交工程(假冒客服/项目方)。防御核心:永远不连接钱包到你没验证过的网站,签名前仔细检查交易内容。
假网站仿冒
这是最经典的钓鱼方式。攻击者克隆一个知名 DeFi 项目或钱包的界面,配以几乎一模一样的域名。你以为自己在用 Uniswap,实际上你在跟一个假合约交互。
这些假网站通常通过搜索引擎广告、社交媒体链接、Discord/Telegram 群里的消息传播。攻击者会在热门项目的官方 Discord 里发消息,附上”紧急安全更新”或”限时领取空投”的链接,诱导用户点击。
链上识别方法:在区块链浏览器上查看合约地址,检查它是否与项目官方公告的地址一致。假合约通常有短暂的交易历史,合约创建者地址与已知的项目方地址毫无关联。
恶意授权钓鱼
比假网站更隐蔽的是授权钓鱼。你连接钱包后,网站弹出一个签名请求。你以为只是普通的登录验证,实际上你在执行 SetApprovalForAll 或 permit 签名,把自己的 NFT 或代币操作权限全部交给了攻击者。
这种攻击的可怕之处在于:你授权之后,攻击者可以在未来任何时间转走你的资产。你不需要再签任何交易,资产就没了。
最常见的场景是所谓的”免费铸造 NFT”。网站告诉你只需要付 Gas 费就能铸造一个免费 NFT,但实际上签名请求里藏着恶意授权。
防御方法:签名前务必阅读交易详情。如果你看到 SetApprovalForAll、Approval 或 Permit 这些字样,而且你只是在”铸造 NFT”或”领取空投”,立即停止操作。正常铸造只需要支付 Gas,不需要授权资产操作权限。
空投诱饵
攻击者在你的钱包里直接投放伪造的代币。这些代币的名字往往仿冒知名项目(如 “USDC”、“UNI” 等),带有极高的假估值。当你在区块链浏览器或钱包里看到这些代币时,可能会好奇地搜索它的合约地址,然后找到攻击者准备的钓鱼网站。
网站会引导你连接钱包,声称可以”领取空投”或”激活代币”。一旦你连接钱包并签名,资产就会被盗。
链上识别方法:在区块链浏览器上查看这个代币的转账记录。如果它向大量地址同时发送了相同数量的代币(通常称为”撒粉尘”),而且没有任何实质性的交易行为,那它就是钓鱼诱饵。永远不要与不明来源的空投代币交互。
域名仿冒
攻击者注册与知名项目极为相似的域名。比如把 Uniswap 的 uniswap.org 仿冒为 unlswap.org(把字母 i 换成小写 L),或者使用国际化域名(IDN)编码,用看起来一样的 Unicode 字符替换英文字母。
这类仿冒域名在浏览器地址栏里几乎无法分辨。尤其是使用 IDN 的时候,攻击者可以用西里尔字母的 “а”(U+0430)替换英文字母 “a”(U+0061),肉眼完全看不出区别。
防御方法:始终通过官方渠道获取链接(官方 Twitter、文档、GitHub)。不要从搜索引擎广告或社交媒体评论区点击链接。将常用网站加入浏览器书签。
社交工程
社交工程钓鱼不依赖技术漏洞,而是利用人的心理弱点。攻击者会冒充项目方团队成员、客服人员或社区管理员,在 Telegram、Discord 等平台上主动联系你。
常见话术包括:“你的账户需要验证”、“检测到异常活动,请尽快处理”、“恭喜你被选中参与内测”。这些都是为了让你的情绪紧张或兴奋,从而失去判断力,点击钓鱼链接或泄露敏感信息。
任何正规项目都不会私聊你要求验证钱包或签名交易。如果有人在私信里声称是项目方,第一反应应该是去官方 Discord 频道核实。
通用防御原则
防范钓鱼攻击不需要任何技术工具,只需要养成几个习惯:
第一,签名前阅读交易详情。很多钱包现在会显示交易的人类可读摘要。如果摘要里出现你不理解的操作,取消签名。
第二,使用硬件钱包存储大额资产。硬件钱包要求你在设备屏幕上确认交易内容,这给你提供了最后一道检查机会。
第三,定期检查和撤销不必要的授权。可以使用 Etherscan 的 Token Approval Checker 或专门的授权管理工具。发现不认识的授权立即撤销。
第四,把常用网站的官方链接存入书签。不要从搜索引擎或社交媒体点击进入。
钓鱼攻击在可见的未来不会消失。因为它的成本极低,而收益极高。每一个连接钱包的 DeFi 用户都是潜在目标。你能做的,是让自己成为那个最难骗的目标。