MetaMask 奖励转移事件揭示谁掌控以太坊质押收益的流向
要点速览
- •攻击者更改了部分 MetaMask Staking 验证者的费用接收方设置,而提款凭证和质押本金未受影响。
- •MetaMask 已完成所有受影响验证者的预防性退出,但部分客户面临提款延迟和未量化的收益损失。
- •MetaMask 尚未说明受影响的验证者数量、攻击者如何获得访问权限,以及客户是否会获得补偿。
- •这一风险敞口广泛存在于第三方质押中,因为运营方控制费用接收方配置,且与提款地址相互独立。
- •Lido 现行政策将验证者的执行层收益引导至其 Rewards Vault,而其拟议的 ePBS 变更将保证付款金额,但无法独立保障收款地址的安全。

MetaMask 已确认,一名攻击者曾短暂转移其质押服务中部分以太坊验证者的执行层收益,在被检测到并于当日恢复之前,约 0.385 ETH 被转走。详细信息出现在 11 月 5 日的事件更新 中,这是该公司于 9 月 28 日首次发现的安全事件的最新通报。尽管被转移的金额不大,但这一事件凸显了以太坊设计中一个经常被忽视的特点:验证者质押的 ETH 最终流向何处,与其持续的收益收入被发送到何处,是两回事。
MetaMask 目前披露了什么
根据更新内容,攻击者未经授权访问了 MetaMask Staking 背后基础设施的一部分,验证者执行层收益的收集地址正集中存储于此。入侵者更改了若干验证者的这些地址。MetaMask 表示,在约 0.385 ETH 收益被转移后,它已于当天发现并修复了该修改。该公司尚未披露受影响的验证者数量,也未说明攻击者是如何获得访问权限的。
提款环节未被波及。MetaMask Staking 并不持有客户质押 ETH 的提款密钥,公司表示没有发现质押本金、提款密钥或 MetaMask 钱包遭入侵的证据。普通 MetaMask 钱包用户无需采取任何行动。
0.385 ETH 并非该事件的全部代价。MetaMask 作为预防措施已退出所有受影响的验证者,所有退出现已完成。部分客户经历了临时提款延迟,公司承认在验证者退出或等待重新质押期间可能错失了收益。MetaMask 尚未量化这些损失,也未说明被转移的收益是否会得到补偿,仅表示正在直接与受影响的客户和合作伙伴沟通。
收益转移本身仅出现在 11 月 5 日的通报中。MetaMask 于 9 月 30 日和 10 月 1 日发布的公告描述了该事件和预防性退出,并表示当时没有迹象表明钱包或客户资金受到影响。涉及多少验证者、攻击者的入侵途径以及补偿问题,是 MetaMask 后续更新中值得关注的未决事项。
为什么质押本金安然无恙,而收益收入却没有
每个以太坊验证者都对应两个在不同位置设置的地址。以太坊的提款指引 将提款凭证与费用接收方视为不同的设置,即使两者可以指向同一个钱包。
提款凭证注册在信标链上。一旦指向某个执行层地址,该地址便无法更改,验证者退出时其 ETH 将发送到该地址。任何运营方服务器都无法重定向它。
费用接收方的运作方式不同。它是由运行验证者的一方提供的软件设置。在非托管服务中,即由运营方提供,运营方同时持有验证者签名所用的密钥。该设置告诉网络每次验证者提议区块时执行层收入应发送到哪里:交易优先费和来自区块构建者的付款。(基础费会被销毁,永远不会到达验证者。)运营方可以在没有质押者提款密钥的情况下随时更新费用接收方。这正是 MetaMask 所称集中存储的设置——也是攻击者更改的那个。
同样的划分解释了为什么损失保持在较小规模。共识层收益要么保留在验证者余额中,要么自动划转至提款地址,因此被篡改的设置从未触及它们。执行层收入仅在验证者提议区块时产生,而单个验证者提议区块的频率很低,且 MetaMask 在一天内修复了该修改。只有在该时间窗口内提议的区块支付到了错误地址。
同样的风险敞口贯穿池化质押
这种风险敞口并非 MetaMask 独有。只要第三方运行验证者,费用接收方就位于该第三方的配置中,这使该敞口成为第三方质押的结构性特征,而非局限于单一服务商的缺陷。Lido 的验证者由独立节点运营方运行,其通过规则来应对这一风险:其现行 MEV 政策要求每个 Lido 验证者将协议的 Execution Layer Rewards Vault 指定为费用接收方,违规行为已有相应的处理流程。
该金库是一份合约。根据 Lido 的文档,它收集执行层收入,包括 MEV 和优先费,且只有 Lido 主合约可以从中提款,将 ETH 纳入协议面向 stETH 持有者的账目。发送到其他任何地方的付款都不会进入该账目。
stETH 持有者比 MetaMask Staking 客户距离这些设置更远一步。他们持有的是可转让代币,而非任何具体验证者的提款凭证,因此其保护完全依赖于 Lido 的合约和运营方规则。
ePBS 将保证付款本身,而非收款地址
11 月 4 日,Lido 发布了一份提案,旨在为协议内提议者-构建者分离(ePBS)更新其 MEV 政策,ePBS 是 EIP-7732 所规定的设计。如今将区块构建外包的验证者依赖中继(relays),即被信任确保获胜构建者实际付款的中介机构。Lido 将 ePBS 描述为通过让协议本身保证构建者付款来减少这种信任需求。
这种保证有其局限。根据 Lido 所述的设计,单个出价可以同时包含一个无需信任的金额——只要提议者纳入该出价即须支付,即使构建者从未披露其区块——以及一个可选的可信付款,后者在协议之外结算,带有与当前市场相同的对手方风险。Lido 将允许任何注册构建者以完全无需信任的出价赢得其时隙,但只有其经审核的 Allowed List 上的构建者才能添加可信付款。
对质押者而言更重要的是,该保证涵盖支付金额,而非款项去向。根据该设计,验证者广播已签名的偏好设置,为其即将到来的时隙指明费用接收方,无需信任的金额将支付给出价中指定的费用接收方。该地址仍然来自运营方。像 MetaMask 所描述的那种被篡改的费用接收方,将以与正确地址相同的确定性收到保证付款。
Lido 的草案将费用接收方规则置于核心位置。两种付款类型都必须到达 EL Rewards Vault,且该政策将约束每个能够为 Lido 提议区块的节点,包括备份和故障切换机器。Lido 表示该提案将于 11 月进行投票,且仅在 Glamsterdam 升级到达以太坊主网后才会生效。在该升级到来之前,现行 MEV 政策——包括其金库规则——仍是 Lido 验证者所遵循的标准。
Lido 的检查将捕捉到什么
由于 ePBS 开辟了更多提交区块的途径,该提案扩大了 Lido 的监控范围。验证者若指定金库以外的任何地址,或接受来自 Allowed List 之外构建者的可信付款,都会被标记。标记还将涵盖未在结算期内足额到账的可信付款,以及在存在超过最低阈值的合格外部出价时仍提交本地构建区块的情况。
出价价值检查将每个被选中的出价与 Lido 监控所见的最高合格出价进行比较,并标记低于其初始 90–95% 的任何出价。该阈值是引发质疑的提示,而非承诺的收益份额。草案允许运营方出于正当的运营和可靠性原因放弃最高出价,且比较仅覆盖 Lido 自身系统观察到的出价。
标记并不意味着资金会被追回。费用接收方违规仍按 Lido 现行流程处理,而其他标记则遵循其标准节点运营方协议 E 节中的外联与升级路径。Lido 还计划更新其公开的 Fees Monitoring Dashboard,以显示每个 Lido 区块经由哪条途径产生。
如何检查自己的质押设置
执行层付款记录在链上,这正是 MetaMask 被篡改的地址得以被发现的方式。知道自己验证者索引的质押者可以在信标链浏览器中打开这些验证者提议的每个区块,并检查哪个地址收到了提议者的付款。对于 Lido,费用仪表板是该池监控的公开视图。
退出同样值得审视。正如 MetaMask 的更新所指出的,退出验证者与提取其 ETH 是两个独立的过程:已退出的验证者仍须完成以太坊的提款处理,ETH 才可使用,正如 以太坊质押文档 中所述。自 Pectra 升级以来,EIP-7002 已允许验证者执行层提款地址的持有者直接触发其退出,而无需经过运营方。
针对本次事件暴露的缺口,可向任何质押服务商提出四个问题:
谁可以更改我的费用接收方? 应寻找明确的角色分工、变更前的审批流程以及每次修改的日志,而不是单一集中存储的设置。
你们多快能发现错误的地址? 应寻找对每个提议区块的自动检查,并以告警取代周期性的人工审查。
哪些构建者付款是有保证的? 在 ePBS 下,应获得协议强制金额与可信付款的细分说明,以及未付款项如何追偿的解释。
没有你们我能退出吗? 确认你的提款凭证支持自行触发退出,并询问在预防性退出期间错失的收益由谁承担。