La diversion de récompenses MetaMask révèle qui contrôle les paiements de staking Ethereum
Points clés
- •L'attaquant a modifié les paramètres de destinataire de frais de certains validateurs MetaMask Staking, tandis que les identifiants de retrait et le principal misé sont restés protégés.
- •MetaMask a achevé les sorties préventives de tous les validateurs concernés, mais certains clients ont subi des retards de retrait et des récompenses manquées non chiffrées.
- •MetaMask n'a pas indiqué combien de validateurs étaient concernés, comment l'accès a été obtenu ni si les clients seront remboursés.
- •Cette exposition s'applique largement au staking par des tiers, car les opérateurs contrôlent les configurations de destinataire de frais, séparément des adresses de retrait.
- •La politique existante de Lido oriente les récompenses de la couche d'exécution des validateurs vers son Rewards Vault, tandis que les modifications ePBS proposées garantiraient les montants payés sans sécuriser indépendamment l'adresse du destinataire.

MetaMask a confirmé qu'un attaquant a brièvement redirigé les récompenses de la couche d'exécution de certains validateurs Ethereum utilisant son service de staking, détournant environ 0,385 ETH avant que la modification ne soit détectée et annulée le jour même. Les détails sont apparus dans une mise à jour d'incident du 5 novembre, la dernière entrée concernant un incident de sécurité que la société avait identifié pour la première fois le 28 septembre. Bien que le montant détourné soit faible, l'épisode met en lumière un aspect souvent négligé de la conception d'Ethereum : la distinction entre la destination finale de l'ETH misé d'un validateur et l'endroit où ses revenus de récompenses continus sont envoyés.
Ce que MetaMask a divulgué jusqu'à présent
Selon la mise à jour, l'attaquant a obtenu un accès non autorisé à une partie de l'infrastructure derrière MetaMask Staking, où les adresses qui collectent les récompenses de la couche d'exécution des validateurs étaient stockées de manière centralisée. L'intrus a modifié ces adresses pour un certain nombre de validateurs. MetaMask indique avoir détecté et corrigé la modification le jour même, après qu'environ 0,385 ETH de récompenses avaient été détournés. La société n'a pas divulgué combien de validateurs étaient concernés ni comment l'attaquant a obtenu l'accès.
Le côté retrait a tenu. MetaMask Staking ne détient pas les clés de retrait de l'ETH misé des clients, et la société affirme n'avoir trouvé aucune preuve que le principal misé, les clés de retrait ou les portefeuilles MetaMask aient été compromis. Les utilisateurs ordinaires du portefeuille MetaMask n'ont aucune action à entreprendre.
Les 0,385 ETH ne représentent pas le coût total de l'incident. MetaMask a procédé à la sortie préventive de chaque validateur concerné, et toutes ces sorties sont désormais achevées. Certains clients ont subi des retards de retrait temporaires, et la société reconnaît que des récompenses ont pu être manquées pendant que les validateurs étaient en cours de sortie ou en attente d'une nouvelle mise. MetaMask n'a pas chiffré ces pertes ni indiqué si les récompenses détournées seront remboursées, précisant seulement qu'elle travaille directement avec les clients et partenaires concernés.
La diversion des récompenses elle-même n'apparaît que dans l'entrée du 5 novembre. Les avis de MetaMask du 30 septembre et du 1er octobre décrivaient l'incident et les sorties préventives, et indiquaient qu'à ce stade, rien ne laissait entendre que les portefeuilles ou les fonds des clients avaient été affectés. Le nombre de validateurs impliqués, le point d'entrée de l'attaquant et la question du remboursement sont les points en suspens à surveiller dans les prochaines mises à jour de MetaMask.
Pourquoi la mise est restée intacte mais pas les revenus
Chaque validateur Ethereum répond à deux adresses qui sont définies à des endroits différents. Les directives de retrait d'Ethereum traitent les identifiants de retrait et le destinataire de frais comme des paramètres distincts, même si les deux peuvent pointer vers le même portefeuille.
Les identifiants de retrait sont enregistrés sur la beacon chain. Une fois qu'ils pointent vers une adresse de la couche d'exécution, cette adresse ne peut pas être modifiée, et c'est là que va l'ETH du validateur lorsqu'il sort. Aucun serveur d'opérateur ne peut la rediriger.
Le destinataire de frais fonctionne différemment. Il s'agit d'un paramètre logiciel fourni par celui qui exploite le validateur. Dans un service non custodial, c'est l'opérateur, qui détient également les clés avec lesquelles le validateur signe. Le paramètre indique au réseau où envoyer les revenus de la couche d'exécution chaque fois que le validateur propose un bloc : les frais de priorité des transactions et les paiements des constructeurs de blocs. Le frais de base, en revanche, est brûlé et n'atteint jamais le validateur. L'opérateur peut mettre à jour le destinataire de frais à tout moment sans la clé de retrait du miseur. C'est le paramètre que MetaMask dit avoir stocké de manière centralisée — et celui que l'attaquant a modifié.
Cette même séparation explique pourquoi la perte est restée faible. Les récompenses de la couche de consensus restent soit dans le solde du validateur, soit sont automatiquement transférées vers l'adresse de retrait, si bien que le paramètre altéré ne les a jamais touchées. Les revenus de la couche d'exécution n'arrivent que lorsqu'un validateur propose un bloc, ce que tout validateur isolé fait rarement, et MetaMask a corrigé la modification en moins d'un jour. Seules les propositions faites dans cette fenêtre ont payé la mauvaise adresse.
La même exposition s'applique au staking en pool
Rien dans cette exposition n'est propre à MetaMask. Partout où un tiers exploite le validateur, le destinataire de frais se trouve dans la configuration de ce tiers, ce qui fait de cette exposition une caractéristique structurelle du staking par des tiers plutôt qu'une défaillance limitée à un seul fournisseur. Lido, dont les validateurs sont exploités par des opérateurs de nœuds indépendants, gère le risque par une règle : sa politique MEV existante exige que chaque validateur Lido désigne le Execution Layer Rewards Vault du protocole comme destinataire de frais, et les violations disposent déjà de leur propre processus de traitement.
Le coffre est un contrat. Selon la documentation de Lido, il collecte les revenus de la couche d'exécution, y compris le MEV et les frais de priorité, et seul le contrat principal de Lido peut effectuer des retraits, transférant l'ETH dans la comptabilité du protocole pour les détenteurs de stETH. Un paiement envoyé ailleurs n'entre jamais dans cette comptabilité.
Les détenteurs de stETH se trouvent encore une étape plus loin de ces paramètres que les clients de MetaMask Staking. Ils détiennent un jeton transférable plutôt que les identifiants de retrait d'un validateur spécifique, si bien que leur protection repose entièrement sur les contrats de Lido et les règles des opérateurs.
ePBS garantirait le paiement, pas l'adresse
Le 4 novembre, Lido a publié une proposition pour mettre à jour cette politique MEV en vue de la séparation proposeur-constructeur intégrée, ou ePBS, la conception spécifiée dans l'EIP-7732. Les validateurs qui externalisent aujourd'hui la construction de blocs s'appuient sur des relais, des intermédiaires de confiance chargés de garantir que le constructeur gagnant paie réellement. Lido décrit l'ePBS comme réduisant le besoin de cette confiance en faisant garantir par le protocole lui-même les paiements des constructeurs.
La garantie a des limites. Selon la conception décrite par Lido, une seule enchère peut combiner une valeur trustless, due dès que le proposeur inclut l'enchère même si le constructeur ne révèle jamais son bloc, avec un paiement de confiance optionnel réglé en dehors du protocole, qui comporte le même risque de contrepartie que le marché actuel. Lido permettrait à tout constructeur enregistré de remporter ses créneaux avec des enchères entièrement trustless, mais seuls les constructeurs figurant sur sa liste blanche approuvée pourraient ajouter des paiements de confiance.
Plus déterminant pour les miseurs, la garantie couvre le montant payé, pas la destination. Selon la conception, les validateurs diffusent des préférences signées désignant leur destinataire de frais pour les créneaux à venir, et la valeur trustless va au destinataire de frais nommé dans l'enchère. Cette adresse provient toujours de l'opérateur. Un destinataire de frais altéré de la manière décrite par MetaMask recevrait les paiements garantis avec la même certitude que le bon.
Le projet de Lido conserve la règle du destinataire de frais en son cœur. Les deux types de paiement doivent atteindre le EL Rewards Vault, et la politique lierait chaque nœud capable de proposer pour Lido, y compris les machines de secours et de basculement. Lido indique que la proposition sera soumise à un vote en novembre et n'entrerait en vigueur qu'après l'arrivée de la mise à niveau Glamsterdam sur le mainnet Ethereum. Jusqu'à l'arrivée de cette mise à niveau, la politique MEV existante — avec sa règle du coffre — reste la norme à laquelle les validateurs Lido sont soumis.
Ce que les contrôles de Lido détecteraient
Parce que l'ePBS ouvre des voies supplémentaires de livraison de blocs, la proposition élargit la surveillance de Lido. Un validateur serait signalé s'il désigne une adresse autre que le coffre, ou s'il accepte un paiement de confiance d'un constructeur hors de la liste blanche. Les signalements couvriraient également les paiements de confiance qui n'arrivent pas intégralement dans la période de règlement, et les blocs construits localement proposés alors que des enchères externes éligibles supérieures au seuil minimal étaient disponibles.
Le contrôle de la valeur des enchères compare chaque enchère sélectionnée avec l'enchère éligible la plus élevée observée par la surveillance de Lido, signalant tout ce qui est inférieur à un seuil initial de 90 à 95 % de celle-ci. Ce seuil est une invitation à poser des questions, pas un pourcentage de revenus garanti. Le projet permet aux opérateurs de passer outre la meilleure enchère pour des raisons opérationnelles et de fiabilité légitimes, et la comparaison ne couvre que les enchères que le propre système de Lido a observées.
Un signalement ne rend pas l'argent. Les violations du destinataire de frais restent soumises au processus actuel de Lido, tandis que les autres signalements suivraient le chemin de contact et d'escalade de la section E de son Standard Node Operator Protocol. Lido prévoit également de mettre à jour son tableau de bord public de suivi des frais pour indiquer par quelle voie chaque bloc Lido est passé.
Comment vérifier votre propre configuration de staking
Les paiements de la couche d'exécution sont enregistrés on-chain, ce qui est la façon dont les adresses altérées chez MetaMask sont devenues visibles. Un miseur qui connaît les indices de ses validateurs peut ouvrir chaque bloc proposé par ces validateurs sur un explorateur de beacon chain et vérifier quelle adresse a reçu le paiement du proposeur. Pour Lido, le tableau de bord des frais est la vue publique de la surveillance du pool.
Les sorties méritent la même attention. Comme le note la mise à jour de MetaMask, la sortie d'un validateur et le retrait de son ETH sont des processus distincts : un validateur sorti doit encore passer par le traitement des retraits d'Ethereum avant que l'ETH ne soit dépensable, comme décrit dans la documentation de staking d'Ethereum. Depuis la mise à niveau Pectra, l'EIP-7002 permet au détenteur de l'adresse de retrait de la couche d'exécution d'un validateur de déclencher directement sa sortie, sans passer par l'opérateur.
Quatre questions à poser à tout fournisseur de staking couvrent les lacunes exposées par cet incident :
Qui peut modifier mon destinataire de frais ? Recherchez des rôles nommés, une validation avant toute modification et un journal de chaque édition, plutôt qu'un paramètre stocké de manière centralisée.
À quelle vitesse repéreriez-vous une mauvaise adresse ? Recherchez des contrôles automatisés sur chaque bloc proposé, avec des alertes plutôt qu'une révision manuelle périodique.
Quels paiements de constructeurs sont garantis ? Avec l'ePBS, attendez-vous à une répartition entre la valeur imposée par le protocole et les paiements de confiance, et à une explication de la façon dont les montants impayés sont recouvrés.
Puis-je sortir sans vous ? Confirmez que vos identifiants de retrait prennent en charge les sorties autodéclenchées, et demandez qui couvre les récompenses manquées lors d'une sortie préventive.