AI 钓鱼系列:第二部分 - 钱包盗取工具内幕与 EIP-7702 漏洞利用

本文深入探讨了Web3中钱包盗取工具的演变,特别关注了EIP-7702如何被利用于自动化、规避检测和大规模盗窃。文章分析了钱包盗取工具的原理、EIP-7702带来的新型钓鱼风险,以及攻击者如何利用自动化和语言模型来扩大攻击规模,并提出了相应的防御策略,最后通过一个真实案例“Inferno Drainer Reloaded”来说明了问题。

在我们 AI 钓鱼系列文章的第二部分中,我们将探讨 wallet drainers 如何随着 EIP-7702 的发展,在 Web3 中大规模地自动化、规避和盗窃。

AI 钓鱼系列:第二部分 - 深入了解 Wallet Drainers 和 EIP-7702 漏洞

2025-06-06 - 阅读时长 14 分钟

作者:Simeon Cholakov & Niccolo Pozzolini

Web3 安全

threesigma 的 twitterthreesigma 的 linkedinthreesigma 的 github

Wallet Drainer 解剖

Wallet drainers 是加密诈骗武器库中最具破坏性的工具之一。它们结合了社会工程、前端欺骗和自动化脚本,直接从受害者的钱包中吸走资产。其核心思想很简单:说服用户授权一项交易,该交易表面上看起来很安全,但实际上授予了攻击者完全的控制权。

Drainers 经常使用通过被劫持的帐户、Discord 机器人和赞助广告传播的虚假网站来冒充合法的 dApp。一旦受害者访问该网站,他们就会被鼓励铸造 NFT、领取代币或验证钱包。这些操作会触发恶意的 approve() 调用,从而授权攻击者通过 transferFrom() 转移资产。

这些攻击通常会呈现带有误导性 UI 标签、夸大的 calldata payload 和合约自毁的交易提示,以逃避静态检测和交易模拟。此外,一些 drainers 专门针对人为因素,通过紧迫感、虚假支持渠道,甚至是赞助搜索结果中植入的克隆站点来欺骗用户。

即使是经验丰富的用户也成为了受害者,包括创始人和钱包开发者。仅在 2024 年,就有超过 330,000 个钱包受到影响,造成的损失总计约 4.94 亿美元,wallet drainers 仍然是一个关键的威胁媒介,需要技术和行为对策。

模拟假设和 Drainer 规避

交易模拟的一个关键问题是,钱包基于区块链的当前状态模拟交易,而区块链的状态在执行之前可能会发生变化。智能合约、DEX 余额或代理逻辑可能会在模拟和执行之间发生变化。Drainers 利用这种检查时间/使用时间 (TOCTOU) 漏洞来欺骗用户。这在涉及基于 delegate-call 的代理的交易中尤其危险,在这种交易中,逻辑可以在模拟后动态重新连接。

合约可能会检测到它何时在模拟中运行并表现安全(“红丸”行为),但在签名后恢复为恶意逻辑。

可编程 EOA:新的钓鱼前沿

image

随着 EIP-7702 的激活,EOA(外部拥有的帐户)现在可以将执行权限委托给智能合约,从而有效地模糊了 EOA 和合约帐户之间的界限。虽然这带来了强大的功能,如原子交易和可编程钱包,但它也创造了一种新的钓鱼风险:基于委托的 wallet drainers。

攻击者不再诱骗用户签署传统的 approve() 调用,而是引诱受害者将执行权委托给恶意合约,通常将此操作伪装成“钱包升级”、“安全增强”或“AI 助理授权”。这些委托的合约可以实现转移代币、利用易受攻击的合约中的重入漏洞或批量处理恶意交易的逻辑,而无需额外的用户输入。

攻击面更广:设置了委托的 EOA 的行为类似于合约,调用该地址可能会触发任意逻辑。用户可能在不知情的情况下签署一项委托,该委托将所有未来的调用路由通过敌对逻辑,当前模拟工具可能无法准确预览这种行为,特别是如果委托的合约使用代理模式、条件逻辑或混淆代码来掩盖意图。

更复杂的是,钓鱼工具包现在将 EIP-7702 委托 payload 捆绑到 SET_CODE (0x04) 交易模板中。只需几行 JavaScript,攻击者就可以生成和模拟委托签名的 payload,在钱包 UI 中自动填充它们,并诱骗用户设置持久的执行权限,而无需任何批准。

随着钱包和 dApp 竞相支持可编程 EOA,钓鱼基础设施也在并行发展,从而使 EIP-7702 委托钓鱼成为后 Pectra Ethereum 生态系统中需要监控的最关键的威胁之一。

部署自动化

image

为了扩大其运营规模,加密 drainer 组织对其钓鱼基础设施的很大一部分进行了自动化。虽然核心 draining 逻辑位于嵌入在钓鱼网站中的恶意脚本中,但攻击者专注于自动化周围基础设施的创建和部署。

此基础设施包括注册大量域名,并在 GitHub Pages、Webflow 甚至受损的合法网站等平台上托管令人信服的前端。诈骗者通常会回收样板合约代码并对其进行修改,而不是在链上进行创新。这些钓鱼页面模仿真实的 dApp 和钱包界面,诱骗用户签署对其钱包中已有的合法代币的恶意批准。自动化确保每个实例都使用新的合约地址和域名,从而使检测和列入黑名单的工作变得复杂。

大型语言模型 (LLM) 越来越多地用于改变前端文本、钓鱼指令或聊天机器人响应,而不是生成合约。通过随机化措辞和品牌,诈骗者降低了模式匹配工具的有效性。结果是一个高吞吐量的欺诈管道:数千个外观相似的去中心化应用程序 (dApp) 和站点,每个站点都指向一个中央 draining 脚本,只需最少的人工干预即可部署。

防御模式

由于任何单一技术的固有局限性,防御 wallet drainers 和钓鱼工具包涉及多种策略。

  • 避免原始消息签名: 最关键的建议是完全避免签署原始 eth_sign 消息,因为这些消息无法被清晰地解析或可靠地模拟,并且仍然具有很高的可利用性。
  • 客户端模拟(具有局限性): Rabby 和 MetaMask WalletGuard 等钱包提供交易模拟功能,允许用户在批准之前在本地预览交易结果。例如,Rabby 会模拟余额变化,高亮显示潜在的恶意代币批准或转移。但是,模拟可能会被攻击者通过检查时间/使用时间漏洞绕过。因此,用户不能仅仅依赖这些工具。
  • 结构化签名 (EIP-712): 通过 EIP-712 采用结构化数据签名使钱包能够清晰地显示交易意图,详细说明特定的代币、金额和接收者。与原始签名不同,结构化签名通过提供可读的、经过验证的意图屏幕来减少用户的困惑。广泛使用 EIP-712 对于更安全的交易仍然至关重要。
  • 中继和节点级别防御(选择性链): 一些基于以太坊的 MEV 中继服务、矿池或区块构建者自愿实施黑名单,拒绝与已知恶意合约交互的交易。这种防御措施已在以太坊主网和某些 L2 网络(Arbitrum、Optimism)中显著出现,但在所有区块链上的标准化程度仍然较低且未普遍应用。

总而言之,没有一项预防措施可以提供完全的安全性。用户应采用结构化签名标准,谨慎地进行交易模拟,完全避免原始签名,并对未经请求或紧急的交易提示保持怀疑。

真实事件:“Inferno Drainer Reloaded”(2025 年 3 月至 5 月)

2025 年初,调查人员追踪到一项死灰复燃的 Drainer-as-a-Service 运营,昵称为 Inferno Drainer Reloaded。尽管其运营商在 2023 年底公开“关闭”,但区块链遥测数据显示,其核心基础设施从未消失,而是不断发展,并进行了重大升级后重新出现,在短短六个月内从 30,000 多个钱包中吸走了超过 900 万美元。

攻击漏斗

image

为什么 Inferno Drainer 很重要

  • 技术升级 增加了链上加密 C2 和自毁合约,从而击败了静态 IOC 黑名单。
  • 联盟经济 对每笔盗窃收取 30% 的固定分成;新手只需将一行脚本粘贴到克隆的网页中即可开始盗窃。
  • 跨链覆盖 默认模板处理以太坊、BSC、Polygon 和 Base;自动检测链 ID 并制作特定于链的 RPC 调用。

结论

Drainers 正在从基本的钓鱼页面演变为具有可编程委托和红丸检测的复杂多链、模拟感知系统。随着 EIP-7702 重塑 EOA 的运作方式,钓鱼工具包也在并行适应。未来的防御必须结合结构化签名、模拟完整性、基于约束的交易建模和谨慎的用户行为。只有加强技术层和人为层,我们才能减少这些日益可扩展的攻击的影响。

常见问题解答 (FAQ)

什么是加密钱包 drainer?

Wallet drainer 是一种恶意脚本或钓鱼工具包,旨在直接从用户的加密钱包中窃取资产。它通过诱骗用户签署欺骗性交易,从而授予攻击者访问其资金的权限,通常通过冒充真实 dApp 或钱包服务的虚假网站。

Wallet drainers 如何诱骗用户授予访问权限?

用户通常会被虚假的 Discord 机器人、受损的 Twitter 帐户或赞助广告诱骗到钓鱼网站。这些站点模仿合法的界面,并提示用户签署授予无限批准或将执行权限委托给攻击者控制的合约的交易。

EIP-7702 在现代钓鱼攻击中扮演什么角色?

EIP-7702 引入了可编程 EOA,可以将执行权委托给合约。钓鱼者通过将恶意委托伪装成钱包升级或安全功能来利用这一点,从而允许他们在用户签署委托交易后执行任意逻辑。

交易模拟工具可以检测到 drainer 活动吗?

Rabby 或 MetaMask WalletGuard 等模拟工具可以帮助预览交易效果,但它们可以被绕过。Drainers 可能会利用检查时间/使用时间 (TOCTOU) 漏洞或使用签名后行为不同的混淆逻辑,从而降低模拟的有效性。

Drainers 如何大规模部署?

Drainer 运营商使用脚本工具自动化基础设施,以启动数千个钓鱼域名并克隆前端。LLM 有时用于改变文本和品牌,从而避免检测。这些钓鱼站点都指向一个带有 draining 脚本的共享后端。

是什么让 Inferno Drainer 如此危险?

Inferno Drainer 是功能最丰富的钓鱼即服务工具包之一。它支持跨链定位、自动生成的钓鱼站点、混淆的 JavaScript payload 和内置的清洗路径。联盟会员只需嵌入一行代码即可开始窃取资金。

approve() 诈骗和基于委托的诈骗有什么区别?

approve() 诈骗诱骗用户授予合约无限访问权限以转移特定代币。基于委托的诈骗(通过 EIP-7002 或 EIP-7702)授予更广泛的执行权限,允许攻击者从委托的合约运行任意代码,而无需额外的提示。

如何保护我的钱包免受 drainers 的侵害?

使用支持 EIP-712 结构化签名的钱包,避免签署原始 eth_sign 消息,仔细检查 URL,避免点击赞助的搜索广告,并将大额余额保存在冷存储中。切勿批准未经请求的提示中的交易或委托。

为什么钓鱼网站通常看起来如此令人信服?

攻击者克隆真实的 dApp 界面并使用类似的域名(例如“uniswap-airdrop[.]xyz”)。借助 LLM 和自动化,他们可以生成自定义的、本地化的且不断轮换的钓鱼页面,这些页面与合法的平台非常相似。

被 drained 后是否有办法追回资金?

不幸的是,一旦交易在链上签名并执行,就不可逆转。某些平台可能会帮助跟踪资金或识别 drainer 的地址,但资产追回非常罕见。预防仍然是最好的防御。

  • 原文链接: threesigma.xyz/blog/web3...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Three Sigma
Three Sigma
Three Sigma is a blockchain engineering and auditing firm focused on improving Web3 by working closely with projects in the space.