
Photo: Trismegist san/Shutterstock
La mise à jour Pectra de la blockchain Ethereum comporte un risque auquel on ne pense pas forcément en tant qu’utilisateur ordinaire.
Si vous n’êtes pas prudent, l’intégralité de votre portefeuille pourrait être vidée.
La mise à jour Pectra d’Ethereum
Pectra, mise en ligne le 7 mai, représente une évolution majeure pour Ethereum et a été, dans l’ensemble, accueillie avec enthousiasme, notamment en raison de la forte hausse du cours qui a suivi son déploiement. Mais tout ce qui brille n’est pas or.
L’objectif principal de cette mise à jour est d’améliorer la scalabilité et d’élargir les possibilités d’utilisation des smart contracts. Et c’est précisément sur ce dernier point que les choses se compliquent. Il est désormais possible de configurer un portefeuille de manière à déléguer son contrôle à un smart contract, simplement en signant un message.
Si cette signature est interceptée, par phishing ou piratage, il devient alors possible de vider le portefeuille, sans même effectuer de transaction « on-chain » (sur la blockchain Ethereum elle-même). Il n’est plus nécessaire de disposer de la clé privée indiquant que vous êtes autorisé à dépenser les fonds.
Il s’agit de la proposition d’amélioration d’Ethereum EIP-7702, qui concerne les comptes dits Externally Owned Accounts (EOA), autrement dit les portefeuilles classiques.
Avertissements de la communauté
Un auditeur de smart contracts en Solidity, Arda Usman, a déclaré qu’il est désormais possible de vider un portefeuille à l’aide d’un simple message signé off-chain. Il met donc en garde contre le fait de déléguer le contrôle de son portefeuille via un tel message.
Si vous avez le moindre doute, abstenez-vous. Les portefeuilles conçus selon les anciens modèles de sécurité peuvent être particulièrement vulnérables. Toute personne possédant un portefeuille Ethereum devrait se demander si elle ne s’est pas exposée à une faille en signant certains messages.
L’expert Ethereum Vladimir S. a prévenu, sur X, les utilisateurs à faire preuve de la plus grande prudence avant de signer quoi que ce soit.
Yahor Rudytsia, chercheur on-chain chez Hacken, a conclu qu’une nouvelle forme de transaction introduite avec Pectra permet d’installer du code arbitraire sur un compte utilisateur, transformant ainsi un portefeuille en un smart contract programmable.
Ce smart contract peut alors exécuter des transactions au nom de l’utilisateur. C’est ce qui rend la chose si dangereuse : on ne s’en rend compte que lorsque le mal est déjà fait.
Comment cela fonctionnait-il avant Pectra ?
Avant la mise à jour, chaque transaction devait être signée manuellement par l’utilisateur avec sa clé privée, ce qui garantissait que seul le véritable propriétaire du portefeuille pouvait autoriser des opérations. Cette preuve reposait sur la possession exclusive de la clé privée. Après Pectra, cette validation peut également être réalisée avec un message signé, sans nécessité de signature on-chain.
Les signatures on-chain étaient jusqu’alors obligatoires pour valider une transaction. Ce n’est désormais plus le cas.
Qu’est-ce qui change ?
Noir a publié sur X un aperçu plus complet des nouvelles fonctionnalités apportées par Pectra.
Même les utilisateurs de portefeuilles physiques (hardware wallets) doivent faire attention. Dès qu’un message malveillant est signé, tous les fonds peuvent être volés, prévient Rudytsia. Il recommande vivement aux utilisateurs de ne jamais signer un message qu’ils ne comprennent pas parfaitement.
Si un message contient la nonce (un identifiant unique utilisé une seule fois) de votre compte, mieux vaut ne pas le signer, à moins de savoir exactement ce que vous faites, ajoute Usman. Les messages classiques ne contiennent normalement pas de nonce.
Le mieux est d’utiliser un portefeuille équipé d’un outil permettant de signaler un comportement potentiellement dangereux, une sorte de système d’alerte. Même sur des blockchains connectées à Ethereum, une signature peut s’avérer risquée.
Les portefeuilles multi-signatures restent relativement sûrs, car ils exigent plusieurs signatures pour valider chaque transaction. En revanche, tous les autres utilisateurs de portefeuilles doivent s’informer sérieusement sur les risques liés à la signature de messages associés à la gestion de fonds sur leur portefeuille Ethereum.