您的以太坊地址上的外来代码:如何检查您的 EIP-7702 委托

自 Pectra 升级以来,属于您的以太坊地址能够在地址、余额或密钥完全不变的情况下执行他人的程序代码。EIP-7702 使这成为可能:只需您的一次签名,从那一刻起,您的地址就会表现得像一个合约。这是许多便捷钱包功能的基础,也是攻击者保持对已清空账户永久控制的途径。本文向您展示如何在两分钟内检查您自己的地址是否带有此类委托,以及如果该合约是您不认识的,该怎么办。

自 Pectra 升级以来,属于您的以太坊地址能够在地址、余额或密钥完全不变的情况下执行他人的程序代码。EIP-7702 使这成为可能:只需您的一次签名,从那一刻起,您的地址就会表现得像一个合约。这是许多便捷钱包功能的基础,也是攻击者保持对已清空账户永久控制的途径。本文向您展示如何在两分钟内检查您自己的地址是否带有此类委托,以及如果该合约是您不认识的,该怎么办。

其基础是我们今天在以太坊链上进行的自己的测量。它显示了这些委托变得多么普遍以及它们主要指向什么。答案比钱包营销暗示的更令人不安,但也比单纯的百分比所暗示的更细致。

EIP-7702 委托对您的以太坊地址做了什么

EIP-7702 是以太坊的扩展,让普通密钥控制的账户在不成为合约本身的情况下运行合约的程序代码。账户保留其私钥、地址、余额和 nonce。它获得的只是一个指向合约的指针,该合约的代码在每次调用时代表账户运行。

这在技术术语中称为委托。指针写入账户的代码字段,该字段对于密钥控制的账户在此之前是空的。从那一刻起,任何调用账户的人都调用存储的合约,该合约可以访问账户的存储和余额。

好处是显而易见的。钱包可以捆绑几个步骤,而不是要求您签署三次。提供商可以代表您支付费用。应用程序可以设置一个紧密绑定的支出权限,一小时后过期。这些正是钱包制造商自 2025 年以来在智能账户标签下销售的功能。

价格在同一句话中:存储的合约以您账户的全部权限行事。它可以移动资金、授予批准并触发进一步调用。因此,委托不是设置而是授权委托书,并且它保持原位,直到您替换或撤销它。

0xef0100 代码前缀:如何在区块浏览器中识别委托

委托账户在其代码字段中携带恰好 23 个字节:固定标记 0xef0100 后跟目标地址的 20 个字节。该标记是唯一的可靠证据。界面向您显示的所有其他内容都是解释。

在实践中,您在两个地方看到它。区块浏览器突然将您的地址列为合约,或显示关于委托账户的备注,即使您从未部署过合约。并且每个浏览器提供的代码查找返回的,而不是空值,是一个以 ef0100 开头的短字符串。

紧随其后的 20 个字节是您必须检查的地址。它们决定了一切。如果您的钱包制造商的合约地址坐在那里,委托可能是预期的。如果有不熟悉的东西坐在那里,您就有一个远不止误点一下的问题。

有一点对于背景很重要:空的代码字段是好消息。如果您在那里找不到任何东西,无论过去是否存在过,您都没有活跃的委托。

如何检查 EIP-7702 委托:按此顺序的四个步骤

检查只需几分钟,既不需要工具也不需要安装。

在区块浏览器中打开地址。输入您的以太坊地址,查看页面将其列为普通账户还是合约。关于委托账户的备注已经是结果。

查看代码字段。打开包含存储代码的选项卡。空意味着没有委托。以 ef0100 开头的短字符串意味着委托处于活动状态。

读出目标地址并查找。标记后的 20 个字节是目标地址。查找它并检查是否有经过验证的源代码以及该源代码携带的名称。

在移动任何内容之前解释结果。如果您不认识该合约,请不要向该地址发送更多资金,甚至不要发送费用。下一节解释了为什么这是此列表中最重要的规则。

相同的检查适用于 EIP-7702 上线的每条链。为链 ID 零签名的授权甚至在所有链上同时有效。使用多个网络的人最好多次检查。

我们 2026 年 9 月 13 日的测量:40 分钟内的 4,035 次委托

此分析由 cryptoticker.io 本身于 2026 年 9 月 13 日进行。方法:我们从公共以太坊节点完整拉取了 200 个连续区块,区块 25,971,139 到 25,971,338,并评估了其中每个类型为 0x04 的交易及其授权列表。窗口从 UTC 时间 21:14:35 运行到 21:54:23,涵盖 39.8 分钟的链时间。

该窗口的数字:

总共 41,110 笔交易,其中 1,229 笔是委托交易。这是总交易量的 2.99%。

4,035 个单独授权,因为单个交易可以携带任意数量的授权。889 笔交易恰好携带一个;最大的携带 110 个。

56 个不同的目标地址。其中 55 个实际合约中,15 个有公开验证的源代码,其余 40 个没有。

140 个授权,或 3.5%,指向零目标地址。这些是撤销,而不是新的授权委托书。

四个最常见的目标占所有授权的 71.7%。

我们无法测量的是目前总共有多少账户带有委托,因为这需要链的完整状态转储而不是时间窗口。这些数据也不能显示通过我们发现的合约移动了多少资金。40 分钟的窗口是一个快照:另一天可能会显示不同的分布。

Poisoner 和 CrimeEnjoyor:最大目标的验证源代码说了什么

在此测量中,名称比份额说的更多。三个最常见目标中的两个有公开验证的源代码,两者都描述自己为犯罪分子使用的工具。

最常见的目标,有 2,007 个授权,或窗口的 49.7%,在其验证源代码中携带名称 Poisoner。源代码中的注释直接命名了目的:该合约用于地址投毒,即欺骗不注意的用户将资金发送到视觉上相似的错误地址。作为发布方,源代码命名了交易公司 Wintermute,该公司表示它重建并披露了该合约。程序代码本身很短:它执行任意调用列表,但仅当交易由创建合约的确切地址触发时。

第三常见的目标,有 170 个授权,携带名称 CrimeEnjoyor。这里的解释也位于源代码中,并且是大写的:任何在授权列表中找到此合约的人都有一个被入侵的账户;不得再向那里发送资金,因为它们将被立即扫走。代码比第一个合约更短。它只做一件事:每个传入金额立即转发到设置时固定的目标地址。

作为比较,同一列表的合法方面:第八位是一个来自知名钱包制造商的验证合约,有 110 个授权,旁边是来自账户抽象世界的几个合约账户,每个有 10 到 49 个授权。这些合约长达数千字节,而两个引人注目的目标仅用 772 和 1,042 字节就足够了。只需要扫走的合约需要很少的代码。

为什么 49.7% 的份额并不意味着 2,007 名受害者

这里需要小心,因为百分比会引发错误的结论。所以我们查看了谁实际发送了这些交易。

结果:指向排名第一合约的 2,007 个授权来自 186 笔交易,而这 186 笔交易来自单个发送者。在整个窗口中有 176 个不同的发送者,因此几乎一半的所有授权都追溯到一个地址,该地址每分钟注册多达 110 个授权委托书的捆绑包。

我们对此的阅读,明确是一种阅读而不是既定事实:这种模式不符合 2,007 名新受害用户,而是一个操作员装备他们自己的一次性地址。除了单个发送者外,合约的设计也支持这种观点,因为它只为其自己的创建者执行调用。在地址投毒中,攻击者自己生成具有欺骗性的相似地址,不需要其他人的密钥。在这种情况下,我们测量的是基础设施而不是战利品。

第二个引人注目的合约看起来不同。它的 170 个授权分布在来自两个发送者的 170 笔单独交易中,因此每笔交易一个授权委托书。立即转发传入金额的收集合约仅对密钥已在他人手中的账户有意义。对于您作为读者,差异是决定性的:第一种情况几乎肯定与您无关,如果您的账户出现在该列表中,第二种情况直接与您有关。

发现扫掠合约?为什么仅撤销还不够

扫掠器是一个合约或程序,自动并在几秒钟内将传入金额转发到外部地址。如果您在您的地址上发现对此类合约的委托,委托不是原因而是后果。有人能够以您的名义签名,这需要您的私钥或您的恢复词。

由此得出一个与第一反应相反的操作顺序。反应说:撤销授权委托书并继续。正确的观点是:账户已丢失,您发送到那里的每个金额,包括撤销的费用,很可能会流向攻击者。您自己支付的撤销在怀疑的情况下资助了对方。

因此首先设置一个新账户,理想情况下是在密钥从未位于计算机上的设备上。哪些设计受到质疑,以及设备有何不同,在我们的软件钱包比较和设备选择中都有说明。只有在此之后,您才处理旧账户上剩余的任何内容,并在帮助下进行。

正是为此案例有一个免费的联系点,扫掠合约自己的源代码命名的:Flashbots 白帽热线。它通过将救援和费用在扫掠器无法单独挑选的单个捆绑包中结算,帮助剩余余额通过扫掠器。这不是保证,但这是唯一不需要预先付款的严肃途径。

正确撤销:零目标地址作为唯一结局

如果账户是干净的,委托只是不需要的,例如因为您不再使用钱包功能,那么撤销它是简单的,但仍然容易误解。

委托不会因为你删除应用程序、更改设备或撤回批准而结束。它仅通过指向零目标地址的新授权结束,即完全由零组成的地址。只有这样,您的账户的代码字段才会再次变为空。我们的测量显示这一步确实在实践中发生:窗口中的 4,035 个授权中有 140 个是这种类型的撤销。

撤销后再次检查代码字段。向您报告成功的界面不是证据。证据是浏览器中的空代码字段。

第二个要点容易被忽视:新委托完全取代旧委托。从一家钱包提供商切换到另一家的人最终会在账户中获得新提供商的授权委托书,而不是两者。这令人放心,但它并没有消除检查的需要,因为最终坐在那里的是由最近注册的授权决定的。

无需 Gas 的授权:为什么在他人网站上的签名就足够了

EIP-7702 最危险的部分是其价格。授权是纯签名。它对您没有成本,不出现在任何费用摘要中,您甚至不需要自己提交它:任何第三方都可以将其包装在他们自己的交易中并支付费用。

对于诚实的提供商来说,这是一个优势,因为新账户可以立即使用而无需持有资金。对于欺诈性网站来说,这是一个礼物。它不需要您的转账、批准或账户余额。在看起来像登录、免费代币索赔或安全检查的窗口中的单个签名就足够了。

由此得出日常使用的规则:将您无法阅读内容的每个签名请求视为转账。这特别适用于要求您更新、迁移或保护账户的请求。您已经从操纵支付接收者的世界中以经典形式知道了这个技巧;它在那里如何展开在我们八月的地址投毒分析中有所涵盖。

合法委托:如何识别真正的钱包账户

从所有这一切得出结论,每个委托都是攻击,这是错误的。除了引人注目的目标外,我们的测量还显示了一些明确可归因的钱包合约,其中包括大型浏览器钱包提供商的合约和来自账户抽象世界的几个账户模板。

在实践中,三个特征相当可靠地区分了这两组:

源代码是公开验证的,并携带与提供商匹配的名称。在我们的窗口中,这适用于 55 个目标地址中的 15 个。缺少源代码不是任何恶意行为的证明,但这是一个不继续的理由。

合约是实质性的。账户模板重达数千字节,因为它们带来了签名检查、权限管理和接口。我们测量中的引人注目目标低于 1,100 字节。

您自己触发了委托。切换到智能账户的钱包会提前说明并显示目标地址。您不记得的委托是一个发现。

经常使用多个钱包的人应该记下他们自己提供商的目标地址一次。下次检查就变成了二十个字节的比较,而不是研究任务。

硬件钱包和盲签:为什么设备不会在此处自动保护您

一个常见的误解是硬件钱包使这个问题无关紧要。这对于密钥是真的,但对于授权委托书不是。EIP-7702 授权也是用私钥签名的,在最坏的情况下,设备只显示目标地址和 nonce,而无法解释由此产生的后果。

那么重要的是,您的设备是否以纯文本形式呈现签名请求的内容,以及您是否关闭了不可读数据的签名。这里重要的是我们在关于硬件钱包盲签的文章中概述的。那里的建议适用不变:设备无法显示的内容,您不签名。

第二个保护是职责分离。一个账户用于日常与应用程序的交易,第二个用于保持不变的持有,第二个账户在任何网站上没有签名。日常账户上的委托很烦人;持有账户上的委托很昂贵。如果您需要规范的技术措辞,您可以在 EIP-7702 的文本中阅读它,特别是链 ID 零的规则。

如何检查 EIP-7702 委托:要点

今天查看您主要地址的代码字段。空意味着您没事。携带标记 ef0100 的字符串意味着:读出目标地址并查找。从实际持有一些东西的地址开始,然后在您从硬件钱包比较中选择的设备上设置这些持有。

如果您不认识该合约,请不要向该地址发送更多内容。甚至不要发送撤销的费用。将密钥视为丢失,设置一个新账户,并通过白帽热线处理其余部分。您短期内想要移动到安全地方的任何东西现在最好放在受监管交易平台上的账户中,而不是放在您不控制其授权委托书的地址中;该选择在我们的加密货币交易所概述中。

主动撤销预期但未使用的委托。只有指向零目标地址的授权才能结束一个,只有浏览器中的空代码字段才能证明它有效。并行运行多个钱包的人应该记下他们自己提供商的目标地址;哪些程序干净地显示此功能在软件钱包比较中有所涵盖。

(截至 2026 年 9 月 13 日。本文不是投资建议。价格和费用结构会变化;购买前请与提供商检查条款。)