Le piratage de Binance d’hier est lié à EIP-7702, une fonctionnalité très dangereuse que je n’ai jamais aimée. J’en profite pour vous mettre en garde.
En général, beaucoup d’entre vous pensent qu’il suffit de garder sa clé privée secrète pour être tranquille, surtout avec un portefeuille matériel, puisqu’à chaque transfert, il faut brancher l’appareil et appuyer physiquement sur le bouton de confirmation. Vous vous dites donc que même un hacker très doué ne peut pas appuyer sur le bouton à votre place.
Mais en réalité, avec EIP-7702, même un portefeuille matériel n’est pas à l’abri. En gros, voilà comment ça se passe : vous allez sur une dapp et elle vous demande de signer pour mettre à niveau votre portefeuille ou activer une fonctionnalité. Vous branchez votre portefeuille ; souvent, l’écran n’affiche qu’un tas de code hexadécimal incompréhensible, alors vous confirmez vite fait sans réfléchir. Or, cette signature d’autorisation peut permettre à l’adresse de votre portefeuille d’exécuter le code d’un contrat.
Si ce contrat est malveillant, le hacker peut se servir de votre portefeuille pour effectuer des transferts sans que vous ayez à signer la moindre autre transaction.
Autrement dit, vous gardez toujours votre portefeuille matériel dans un coffre, votre phrase de récupération est si bien protégée que vous-même ne la connaissez même pas, mais votre argent, lui, s’envole. C’est comme fermer sa porte avec 100 cadenas, puis signer quand même une procuration donnant à quelqu’un d’autre le plein pouvoir de vendre votre maison.
Le problème, c’est que cette autorisation peut rester active longtemps. Avant, si vous signiez quelque chose par erreur, vous perdiez un token ; vous alliez sur un site de révocation, vous annuliez l’autorisation, et c’était réglé. Mais ici, il s’agit d’un droit au niveau du compte : il peut transférer tout ce qui se trouve dans le portefeuille, et les sites habituels de révocation ne peuvent pas annuler ça. Pour révoquer l’autorisation, il faut signer une nouvelle autorisation EIP-7702 pointant vers l’adresse 0, puis la publier sur la blockchain. Bref, la plupart d’entre vous ne savent pas comment faire.
Voilà pourquoi je n’aime pas cette conception.
$NEAR $BTC $ETH
En général, beaucoup d’entre vous pensent qu’il suffit de garder sa clé privée secrète pour être tranquille, surtout avec un portefeuille matériel, puisqu’à chaque transfert, il faut brancher l’appareil et appuyer physiquement sur le bouton de confirmation. Vous vous dites donc que même un hacker très doué ne peut pas appuyer sur le bouton à votre place.
Mais en réalité, avec EIP-7702, même un portefeuille matériel n’est pas à l’abri. En gros, voilà comment ça se passe : vous allez sur une dapp et elle vous demande de signer pour mettre à niveau votre portefeuille ou activer une fonctionnalité. Vous branchez votre portefeuille ; souvent, l’écran n’affiche qu’un tas de code hexadécimal incompréhensible, alors vous confirmez vite fait sans réfléchir. Or, cette signature d’autorisation peut permettre à l’adresse de votre portefeuille d’exécuter le code d’un contrat.
Si ce contrat est malveillant, le hacker peut se servir de votre portefeuille pour effectuer des transferts sans que vous ayez à signer la moindre autre transaction.
Autrement dit, vous gardez toujours votre portefeuille matériel dans un coffre, votre phrase de récupération est si bien protégée que vous-même ne la connaissez même pas, mais votre argent, lui, s’envole. C’est comme fermer sa porte avec 100 cadenas, puis signer quand même une procuration donnant à quelqu’un d’autre le plein pouvoir de vendre votre maison.
Le problème, c’est que cette autorisation peut rester active longtemps. Avant, si vous signiez quelque chose par erreur, vous perdiez un token ; vous alliez sur un site de révocation, vous annuliez l’autorisation, et c’était réglé. Mais ici, il s’agit d’un droit au niveau du compte : il peut transférer tout ce qui se trouve dans le portefeuille, et les sites habituels de révocation ne peuvent pas annuler ça. Pour révoquer l’autorisation, il faut signer une nouvelle autorisation EIP-7702 pointant vers l’adresse 0, puis la publier sur la blockchain. Bref, la plupart d’entre vous ne savent pas comment faire.
Voilà pourquoi je n’aime pas cette conception.
$NEAR $BTC $ETH
