Binance avait suspendu les retraits, alors pourquoi des ETH continuaient-ils d’être transférés sur la blockchain ? La réponse se trouve dans l’EIP-7702
Dans le rapport préliminaire de Binance sur l’incident du 29/10 publié hier soir, un détail a échappé à beaucoup de monde : même après la suspension des retraits, les actifs continuaient de bouger. La cause : un mécanisme Ethereum appelé EIP-7702.
D’abord, qu’est-ce que l’EIP-7702 ?
Il permet à une adresse ordinaire (EOA) de « déléguer » une partie de ses droits d’exécution à un contrat intelligent, sans céder sa clé privée. L’idée est d’ajouter des fonctionnalités aux portefeuilles, par exemple les opérations groupées ou la prise en charge des frais de transaction.
D’après le rapport de Binance, voici ce qui s’est passé :
1. L’attaquant a d’abord obtenu l’accès au service interne de signature des portefeuilles.
2. À l’aide de ce service, il a soumis 50 transactions signées et manipulé le nonce du compte afin de mettre en place une autorisation de délégation malveillante. Le contrat contrôlé par l’attaquant a ainsi obtenu une partie des droits d’exécution d’un portefeuille chaud de Binance.
3. Binance a aussitôt suspendu les retraits, coordonné le gel des fonds avec ses partenaires et entrepris de révoquer l’autorisation. Mais le rapport précise que la seule suspension des retraits ne pouvait pas bloquer tous les transferts non autorisés : ces autorisations EIP-7702 étaient déjà inscrites sur la blockchain et fonctionnaient indépendamment du système de retrait habituel de Binance.
4. Autre difficulté : le portefeuille chaud utilisait le calcul multipartite (MPC), sans clé privée unique permettant de révoquer immédiatement l’autorisation. Il a fallu mettre au point une procédure spécifique, ce qui a pris plus de temps.
5. La dernière transaction, portant sur 2 961,9 ETH, a été confirmée sur la blockchain le 29/10 à 23 h 56 (UTC) ; elle avait été diffusée auparavant et était restée en attente. Le 30/10 à 00 h 10 (UTC), Binance a modifié l’autorisation depuis le portefeuille chaud Binance14 pour la faire pointer vers l’adresse zéro, supprimant ainsi le code délégué.
Un point à clarifier : selon le rapport, les BTC, XRP, SOL et OP ont été transférés directement depuis les portefeuilles chauds via le service de signature ; l’EIP-7702 ne concernait que la partie liée au portefeuille chaud Ethereum. Il ne faut pas en conclure que « toutes les cryptos ont été volées via le 7702 ».
La vérité qui fait mal : le bouton que vous désactivez en coulisses ne peut pas annuler une autorisation déjà signée et inscrite sur la blockchain.
Pour les utilisateurs ordinaires, un conseil : vérifiez régulièrement, sur un explorateur de blocs ou dans votre portefeuille, si votre adresse comporte des autorisations ou des délégations que vous ne reconnaissez pas, et révoquez-les le cas échéant.
Avez-vous vérifié les autorisations de votre portefeuille ?
#以太坊 #EIP7702 #钱包安全 #科普 $ETH
Dans le rapport préliminaire de Binance sur l’incident du 29/10 publié hier soir, un détail a échappé à beaucoup de monde : même après la suspension des retraits, les actifs continuaient de bouger. La cause : un mécanisme Ethereum appelé EIP-7702.
D’abord, qu’est-ce que l’EIP-7702 ?
Il permet à une adresse ordinaire (EOA) de « déléguer » une partie de ses droits d’exécution à un contrat intelligent, sans céder sa clé privée. L’idée est d’ajouter des fonctionnalités aux portefeuilles, par exemple les opérations groupées ou la prise en charge des frais de transaction.
D’après le rapport de Binance, voici ce qui s’est passé :
1. L’attaquant a d’abord obtenu l’accès au service interne de signature des portefeuilles.
2. À l’aide de ce service, il a soumis 50 transactions signées et manipulé le nonce du compte afin de mettre en place une autorisation de délégation malveillante. Le contrat contrôlé par l’attaquant a ainsi obtenu une partie des droits d’exécution d’un portefeuille chaud de Binance.
3. Binance a aussitôt suspendu les retraits, coordonné le gel des fonds avec ses partenaires et entrepris de révoquer l’autorisation. Mais le rapport précise que la seule suspension des retraits ne pouvait pas bloquer tous les transferts non autorisés : ces autorisations EIP-7702 étaient déjà inscrites sur la blockchain et fonctionnaient indépendamment du système de retrait habituel de Binance.
4. Autre difficulté : le portefeuille chaud utilisait le calcul multipartite (MPC), sans clé privée unique permettant de révoquer immédiatement l’autorisation. Il a fallu mettre au point une procédure spécifique, ce qui a pris plus de temps.
5. La dernière transaction, portant sur 2 961,9 ETH, a été confirmée sur la blockchain le 29/10 à 23 h 56 (UTC) ; elle avait été diffusée auparavant et était restée en attente. Le 30/10 à 00 h 10 (UTC), Binance a modifié l’autorisation depuis le portefeuille chaud Binance14 pour la faire pointer vers l’adresse zéro, supprimant ainsi le code délégué.
Un point à clarifier : selon le rapport, les BTC, XRP, SOL et OP ont été transférés directement depuis les portefeuilles chauds via le service de signature ; l’EIP-7702 ne concernait que la partie liée au portefeuille chaud Ethereum. Il ne faut pas en conclure que « toutes les cryptos ont été volées via le 7702 ».
La vérité qui fait mal : le bouton que vous désactivez en coulisses ne peut pas annuler une autorisation déjà signée et inscrite sur la blockchain.
Pour les utilisateurs ordinaires, un conseil : vérifiez régulièrement, sur un explorateur de blocs ou dans votre portefeuille, si votre adresse comporte des autorisations ou des délégations que vous ne reconnaissez pas, et révoquez-les le cas échéant.
Avez-vous vérifié les autorisations de votre portefeuille ?
#以太坊 #EIP7702 #钱包安全 #科普 $ETH
