[{"data":1,"prerenderedAt":41},["ShallowReactive",2],{"blog-content-zh-check-and-revoke-eip-7702-delegation":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"howToSteps":9,"faqItems":31},"check-and-revoke-eip-7702-delegation","如何检查钱包是否存在 EIP-7702 委托并撤销（附：为什么存入的资金会瞬间消失）","自 Pectra（2025 年 5 月）起，普通的 EVM 地址可以被委托给智能合约代码，其中包括清扫合约。本文介绍如何读取“Delegated Address”字段、撤销不需要的委托，以及如何判断存款瞬间消失意味着你的密钥已经泄露。","在 Etherscan 的 Delegated Address 字段中检查 EIP-7702 委托，通过零地址撤销，并分清密钥泄露与正常升级。","\u003Cblockquote>\u003Cp>截至 2026 年 10 月，检查 EIP-7702 委托的方法是：在 Etherscan 等区块浏览器中打开你的地址，读取“Delegated Address”字段。“Null”表示没有生效中的委托；来自你明确知情并升级过的钱包、带有标签的合约属于预期情况；而未知合约应当撤销。如果你的密钥是安全的，就用支持的钱包发送一笔 type 0x04 交易，把该地址委托给零地址来撤销，然后确认该字段重新显示“Null”。如果存款在到账几秒后就消失，请假定你的私钥或助记词已经泄露，或者你签署了恶意委托：把这个地址视为已报废，并将剩余资产转移到一个新的助记词下。如果密钥已经泄露，仅仅撤销是不够的，因为攻击者可以再次发起委托。\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>什么是 EIP-7702 委托，你的地址为什么可能有一个？\u003C\u002Fh2>\u003Cp>EIP-7702 委托是一种设置，它让一个普通的助记词地址（EOA）运行某个智能合约的代码。根据 ethereum.org，EIP-7702 随 Ethereum 的 Pectra 升级上线，该升级于 2025 年 5 月 7 日 10:05 UTC（epoch 364032）在主网激活。你签署一份授权，它通过一种新的交易类型 0x04（set-code 交易）传递；按照 EIP-7702 规范，账户的代码随即变为 0xef0100 加上 20 字节的合约地址（共 23 字节）。\u003C\u002Fp>\u003Cp>委托是持久的：Linea 的文档指出，它会一直生效，直到你更改它。它按链区分，除非授权是用链 ID 0 签署的——Security Alliance（SEAL）警告说，这种授权可以在其他网络上被重放。因此，你使用的每一条 EVM 网络都要检查。\u003C\u002Fp>\u003Cp>合法的委托通常来自你在自己钱包里接受的“切换到智能账户”升级；恶意委托则来自你签署的钓鱼授权，或来自持有你密钥的攻击者。每份授权都需要账户密钥的签名，所以一个你从未签署过的未知委托，意味着密钥很可能已经泄露。关于其机制，请参阅\u003Ca href=\"\u002Fblog\u002Feip-7702-native-account-abstraction\">我们的 EIP-7702 讲解\u003C\u002Fa>。\u003C\u002Fp>\u003Ch2>如何检查你的地址是否存在委托？\u003C\u002Fh2>\u003Cp>方法是在区块浏览器中你的地址页面上读取“Delegated Address”字段。请按以下步骤操作：\u003C\u002Fp>\u003Col>\u003Cli>从你的钱包中复制你的地址。\u003C\u002Fli>\u003Cli>自己输入该网络官方浏览器的 URL（Ethereum 用 Etherscan），切勿点击私信或广告中的浏览器链接。参见\u003Ca href=\"\u002Fblog\u002Fhow-to-read-a-block-explorer\">如何阅读区块浏览器\u003C\u002Fa>。\u003C\u002Fli>\u003Cli>在概览页找到“Delegated Address”。Etherscan 的知识库（2025 年 6 月 13 日）指出，委托被还原后该字段显示“Null”，即没有生效中的委托。\u003C\u002Fli>\u003Cli>在每一条 EVM 网络的官方浏览器上重复检查。其他浏览器可能用不同的名称标注该字段，或者没有该字段，此时请查看账户的代码，或下方的 Delegations 标签页。\u003C\u002Fli>\u003C\u002Fol>\u003Cp>Revoke.cash 提供了第二种只读视图：其账户页面上的 Delegations 标签页。请避开广告里的“委托检查器”网站：读取委托从来不需要你的助记词或签名。\u003C\u002Fp>\u003Ch2>结果意味着什么？\u003C\u002Fh2>\u003Cp>浏览器上的结果分为五种情况。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>你在浏览器上看到的内容\u003C\u002Fth>\u003Cth>通常意味着什么\u003C\u002Fth>\u003Cth>该怎么做\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>“Null”\u003C\u002Ftd>\u003Ctd>此网络上没有生效中的委托（即 Etherscan 知识库所描述的还原后的状态）\u003C\u002Ftd>\u003Ctd>无需撤销；检查你的其他网络\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>来自你自己启用过的钱包、带有标签的合约（Etherscan 把 MetaMask 的标注为“MetaMask: EIP-7702 Delegator”）\u003C\u002Ftd>\u003Ctd>预期中的智能账户升级\u003C\u002Ftd>\u003Ctd>保留它，或在该钱包中还原\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>一个你不记得启用过的陌生合约\u003C\u002Ftd>\u003Ctd>可疑\u003C\u002Ftd>\u003Ctd>如果你的密钥是安全的，立即撤销\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>带有钓鱼或诈骗标签的合约\u003C\u002Ftd>\u003Ctd>假定已被入侵\u003C\u002Ftd>\u003Ctd>把资产转移到新的助记词下\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>任何委托，且资金在几秒内转出\u003C\u002Ftd>\u003Ctd>密钥泄露（或签署了钓鱼委托）加上清扫合约\u003C\u002Ftd>\u003Ctd>参见清扫合约一节；单靠撤销无法保护已泄露的密钥\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>如果你的密钥是安全的，如何撤销 EIP-7702 委托？\u003C\u002Fh2>\u003Cp>方法是签署一份新的授权，把你的地址指向零地址（0x000...000）；根据 EIP-7702 规范，这会清除账户的代码，使其恢复为普通 EOA。它需要你的密钥签名，并且要在该网络上支付 gas。\u003C\u002Fp>\u003Col>\u003Cli>打开一款支持 type 0x04 交易、并允许你更改或清除委托的钱包。MetaMask 为它自己的 Smart Account 记录了一套还原流程：账户菜单、账户详情、智能账户、关闭对应网络的开关，然后确认并支付网络手续费（扩展和移动端均适用）。\u003C\u002Fli>\u003Cli>在每一条存在委托的网络上重复操作。\u003C\u002Fli>\u003Cli>重新检查浏览器：“Delegated Address”应当显示“Null”。\u003C\u002Fli>\u003C\u002Fol>\u003Cp>需要注意一点：MetaMask 的帮助中心说明，它只支持针对其自家合约的智能账户功能；Curvegrid（2026 年 2 月 13 日）则报告称，撤销任意委托的支持情况因钱包而异。MetaMask 的文档并没有说明其还原流程会清除指向第三方合约的委托，所以不要想当然地认为它可以。如果你的钱包无法向零地址发送授权，就把这个地址视为已停用，并将你的资产转移到由全新助记词生成的新地址。\u003C\u002Fp>\u003Ch2>为什么存款会在到账几秒后消失？\u003C\u002Fh2>\u003Cp>存款之所以立刻消失，是因为某个东西——往往是你的地址被委托到的清扫合约——会把到账的一切转发出去，这通常意味着你的私钥或助记词已经泄露，或者你签署了恶意委托。Revoke.cash 表示，只有在助记词已经泄露的情况下，才可能出现清扫委托；但钓鱼研究表明，用户也可能被诱骗签署恶意授权。无论哪种情况，都应停止向该地址转入资金。Cointelegraph 于 2025 年 9 月 2 日报道，据 SlowMist 创始人 Yu Xian 称，密钥已泄露的 WLFI 代币持有者发现，预先植入的恶意委托把他们存入的 gas 拿走了。\u003C\u002Fp>\u003Cul>\u003Cli>停止向该地址发送 gas；清扫合约或监视该密钥的机器人可以把它拿走。\u003C\u002Fli>\u003Cli>在干净的设备上，用新的助记词创建一个新钱包。\u003C\u002Fli>\u003Cli>首先在每条链的浏览器上检查是否存在委托。先转移原生资产，因为你为其他转账补充的 gas 可能被拿走，并可考虑请经验丰富的应急响应人员做一次由 gas 赞助或打包的转账。\u003C\u002Fli>\u003Cli>请遵循我们的\u003Ca href=\"\u002Fblog\u002Fcrypto-wallet-hacked-what-to-do-first-hour\">钱包被盗后的第一小时清单\u003C\u002Fa>。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果密钥已经泄露，撤销并不能解决问题，因为攻击者持有同一把密钥，可以在你撤销之后立即重新委托或转走资金。如果你只是签署了一份钓鱼委托而密钥是安全的，撤销就能将其移除，但你很难分清这两种情况，所以应把这个地址视为已报废。请把私信中的“救援”提议当作诈骗。\u003C\u002Fp>\u003Ch2>撤销代币授权或使用 revoke.cash 能移除委托吗？\u003C\u002Fh2>\u003Cp>不能。代币授权是存储在每个代币合约上的权限，而委托是附加在你自己账户上的代码，所以这两层是各自独立的。关于代币授权那一侧，请参阅\u003Ca href=\"\u002Fblog\u002Fhow-to-revoke-token-approvals\">如何撤销代币授权\u003C\u002Fa>。\u003C\u002Fp>\u003Cp>Revoke.cash 能显示委托，但无法撤销它们。恶意的委托合约可以被编写成转走账户中的任何资产，包括原生 ETH，而无需任何代币授权，因此它可能比一笔无限额度的授权更糟，而像\u003Ca href=\"\u002Fblog\u002Fwhat-is-a-wallet-drainer\">钱包盗取工具\u003C\u002Fa>这样的钓鱼工具包同样可能索要此类授权。\u003C\u002Fp>\u003Ch2>如何从一开始就避免恶意委托？\u003C\u002Fh2>\u003Cp>只有当智能账户升级出现在你自己的钱包应用内部时才接受。MetaMask 在 2025 年 5 月表示，它只会在钱包内部提示用户切换，而要求你“升级”的邮件或链接就是钓鱼骗局（DeFiHackLabs 于 2025 年 5 月 26 日报道）。\u003C\u002Fp>\u003Cul>\u003Cli>把任何提到授权、委托、set code 或链 ID 0 的签名请求都视为可疑。\u003C\u002Fli>\u003Cli>只委托给知名且经过审计的合约，这是 SEAL 的建议。\u003C\u002Fli>\u003Cli>把长期持有的资产放在一个你从不用于 dApp 签名的地址上；revoke.cash 建议只在日常使用的“热”地址上启用 7702。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>这个数字描述的是 Pectra 之后早期的情况，而不是如今的占比。Wintermute 在 2025 年 5 月下旬表示，超过 97% 的委托与诈骗有关（引自 Etherscan 知识库，2025 年 6 月 13 日）。\u003C\u002Fp>\u003Ch2>WATS Wallet 与 EIP-7702 有什么关系？\u003C\u002Fh2>\u003Cp>WATS Wallet 是一款非托管钱包（Chrome 扩展和 iOS\u002FAndroid 应用），你自己持有密钥和助记词，因此本文的规则同样适用于 WATS 用户。WATS 从不持有任何密钥；而且如果助记词泄露，任何钱包都无法挽回：解决办法是换一个新的助记词。\u003C\u002Fp>\u003Cp>在 EVM 网络上，WATS Wallet 通过 ERC-4337 paymaster 对每一笔操作以 ATS 计收，并从 BNB Chain 上的一份 ATS 余额中扣除，这是一种与 EIP-7702 不同的账户抽象机制。两者的区别请参阅\u003Ca href=\"\u002Fblog\u002Fwhat-is-erc-4337\">什么是 ERC-4337\u003C\u002Fa>和\u003Ca href=\"\u002Fblog\u002Feip-7702-native-account-abstraction\">我们的 EIP-7702 讲解\u003C\u002Fa>，ATS 手续费的运作方式见\u003Ca href=\"\u002Fats-fee\">ATS 手续费如何运作\u003C\u002Fa>：它跟随实时的网络成本，不是折扣。\u003C\u002Fp>",[10,13,16,19,22,25,28],{"title":11,"body":12},"复制你的地址，并在该网络的官方区块浏览器上打开","从你的钱包中复制地址，并自己输入官方浏览器的 URL（Ethereum 用 Etherscan）。切勿点击私信或广告中的浏览器链接。",{"title":14,"body":15},"在官方浏览器上检查你使用的每一条 EVM 网络","Etherscan 会在地址概览页显示“Delegated Address”字段；“Null”表示没有生效中的委托。其他浏览器可能用不同的名称标注，或者不显示该字段，此时请查看账户的代码，或使用 revoke.cash 的 Delegations 标签页。除非授权是用链 ID 0 签署的，否则委托按链区分，因此请在每条网络上重复检查。",{"title":17,"body":18},"解读结果","Null 表示没有生效中的委托。来自你自己启用过的钱包、带有标签的合约，属于预期中的智能账户升级。一个你不记得启用过的陌生合约则是可疑的。",{"title":20,"body":21},"检查是否出现清扫合约的症状","如果到账的资金在几秒内转出，请假定你的密钥或助记词已经泄露，或者你签署了恶意委托。如果密钥已泄露，仅仅撤销是不够的，因为攻击者可以再次发起委托：停止发送 gas，先转移原生资产，并在干净的设备上把剩余资产转移到一个新的助记词下。",{"title":23,"body":24},"如果你的密钥是安全的，通过委托给零地址来撤销","在支持 type 0x04 交易的钱包中，签署一份新的授权，把你的地址指向零地址，并在该网络上支付 gas。MetaMask 为它自己的 Smart Account 记录了一套还原流程；清除第三方委托的支持情况因钱包而异。",{"title":26,"body":27},"如果你的钱包无法撤销，就迁移到新地址","停止使用被委托的地址，并将你的资产转移到由全新助记词生成的新地址。",{"title":29,"body":30},"重新检查浏览器","在你撤销过的每条网络上重新加载地址页面，确认 Delegated Address 字段显示为 Null。",[32,35,38],{"q":33,"a":34},"revoke.cash 能移除 EIP-7702 委托吗？","不能。Revoke.cash 在你账户页面的 Delegations 标签页中列出委托，但它自己的学习页面说明你无法在那里撤销，因为大多数钱包不允许外部 dApp 设置或清除委托。请在支持 type 0x04 交易的钱包内，通过委托给零地址来撤销，然后重新检查浏览器。",{"q":36,"a":37},"我应该接受钱包里的“切换到智能账户”提示吗？","只有当它出现在你自己的官方钱包应用内部，并且你清楚自己能获得什么（比如批量交易）时才可以。切勿签署通过网站、邮件或私信请求的委托或授权；Security Alliance 称这些为钓鱼。合法的钱包内升级之后可以还原（MetaMask 为它自己的 Smart Account 记录了这一点，且需要支付 gas），而存放长期积蓄的地址最好保持为普通 EOA。",{"q":39,"a":40},"如果我撤销了委托，清扫合约就会停止偷走我的存款吗？","如果你的密钥已经泄露，就不会。清扫委托通常存在，是因为攻击者已经拿到了你的私钥或助记词，所以他们可以在你撤销之后立即重新委托或转走资金。如果你是签署了恶意委托而密钥是安全的，撤销就能将其移除，但你很难分清这两种情况，所以请停止发送 gas，在干净的设备上把你能转移的资产转到新的助记词下，并把旧地址视为已报废。请无视私信中收费的“救援”提议。",1791404047062]