
De remède à poison : pourquoi Permit est-il devenu une source de risques ?
TechFlow SélectionTechFlow Sélection

De remède à poison : pourquoi Permit est-il devenu une source de risques ?
Nous ne pouvons nier la valeur apportée par Permit, mais le nombre croissant d'incidents de vol récents indique que les dommages qu'il cause semblent désormais plus importants.
Rédaction : Keystone
1. Comprendre Permit en une minute
Commençons par une petite histoire de prêt :
J'ai besoin d'emprunter 1 million à mon bon ami Jack Ma. Sans hésiter, Jack Ma prend son téléphone et appelle la banque. Après avoir confirmé son identité, il informe la banque : « J'autorise untel à retirer jusqu'à 1 million ». La banque confirme avoir reçu l'autorisation et l'enregistre.
Ensuite, il me suffit d'aller à la banque et d'annoncer que je souhaite retirer le million autorisé par Jack Ma. La banque vérifie alors s'il existe bien un enregistrement d'autorisation, confirme que je suis bien la personne concernée, puis me remet le montant.
Cette petite histoire illustre concrètement ce qu'est l'autorisation (Approve) sur Ethereum. Dans ce processus, seule la personne détenant les fonds (Jack Ma) peut envoyer cette autorisation en écrivant sur la blockchain, tandis que le contrat du token (la banque) gère ces autorisations. Ensuite, moi (le bénéficiaire) je peux transférer un montant inférieur ou égal à l'autorisation accordée. Si la banque ne trouve aucun enregistrement d'autorisation, ma demande de retrait sera immédiatement rejetée.
Maintenant, imaginons une autre méthode d'autorisation — Permit. Comment le processus changerait-il si j'empruntais à Jack Ma via Permit ?
Encore une fois, je lui demande 1 million. Cette fois, Jack Ma, trop occupé pour passer un appel, sort simplement un chèque de sa poche, indique le montant et signe avant de me le remettre. Je vais ensuite à la banque avec ce chèque pour l'encaisser. Bien que la banque n'ait aucun enregistrement préalable d'autorisation, grâce à la signature authentique de Jack Ma sur le chèque, elle valide l'opération et me verse le montant indiqué.
Vous avez probablement déjà remarqué la différence entre les deux méthodes. Approve, fonction essentielle des tokens ERC-20, est utilisée depuis longtemps sur Ethereum. Alors pourquoi introduire Permit via ERC-2612 pour obtenir un effet similaire ?
2. Pourquoi avons-nous besoin de Permit ?
La proposition ERC-2612 a été publiée en mars 2019 et n'a été finalisée qu'en octobre 2022. Son apparition coïncide étroitement avec les multiples pics des frais de gaz (gas fees) sur le réseau principal d'Ethereum durant cette période.

Figure : Les prix du gaz sur le réseau principal d'Ethereum sont restés élevés entre 2020 et 2022
Porté par un marché haussier effréné et l'effet de richesse généré par de nouveaux projets blockchain, l'enthousiasme des utilisateurs pour les transactions en chaîne était extrême. Beaucoup étaient prêts à payer des frais plus élevés afin d'accélérer leurs transactions, car parfois, être inclus dans un bloc plus tôt pouvait signifier des gains multipliés.
Cependant, cela a entraîné des coûts de transaction très élevés. Avec la méthode Approve, deux transactions (TX) sont nécessaires pour effectuer un échange de jetons (swap), ce qui représente un véritable cauchemar en termes de frais pour les utilisateurs aux petits portefeuilles.
ERC-2612 introduit Permit, qui transforme l'autorisation en une signature hors chaîne (off-chain). Elle n'a pas besoin d'être validée immédiatement sur la blockchain, mais peut être fournie uniquement au moment du transfert du jeton. Tout comme dans notre histoire, je n'ai besoin de présenter le chèque de Jack Ma à la banque que lorsque je retire l'argent.
Jack Ma économise ainsi un appel, et l'utilisateur épargne une transaction. Lorsque les prix du gaz sont élevés, les économies peuvent être substantielles — une situation apparemment bénéfique pour tous. Mais sans le savoir, on ouvre aussi discrètement la boîte de Pandore…

3. Une croissance sauvage, explosive
Avant l'apparition de Permit, une des techniques utilisées par les pirates pour voler des cryptomonnaies consistait à inciter les utilisateurs à signer une transaction Approve. Cette opération coûtant des frais de gaz, elle attirait l'attention et rendait l'attaque plus difficile à mener. Même si un utilisateur cliquait par erreur, comme la transaction mettait un certain temps à être confirmée, il pouvait se raviser et envoyer une nouvelle transaction avec le même nonce pour annuler l'action. Ainsi, les pirates avaient peu de chances de réussir.
Avec l'arrivée de Permit, ce fut comme trouver un oreiller parfait pour un homme somnolent. Comparé à Approve, Permit ne consomme aucun gaz, il suffit juste de signer. Moins méfiant, l'utilisateur baisse sa garde. De plus, en raison de la nature hors chaîne de la signature, l'initiative appartient désormais au pirate : non seulement la victime ne peut plus revenir en arrière, mais le pirate peut choisir le moment opportun pour agir, maximisant ainsi ses profits.
Les conséquences ont été désastreuses : le nombre de victimes de phishing et le montant des fonds volés ont explosé. Selon les statistiques de @ScamSniffer :
En 2023, les pertes dues au phishing ont atteint 295 millions de dollars américains.
Dans le premier semestre 2024, ce montant a déjà dépassé 314 millions de dollars.
À la fin du troisième trimestre 2024, un gros coup a eu lieu : l'adresse portefeuille d'un célèbre investisseur (surnommé « Shen Yu ») a été victime d'une attaque par phishing Permit, perdant 12 000 $spWETH, soit environ 200 millions de yuans chinois.

Figure : Rapport de ScamSniffer sur les attaques de phishing au premier semestre 2024
Un tel scénario était sans doute inattendu pour les auteurs initiaux de la proposition. L'objectif initial de Permit était de réduire les frais de gaz pour les utilisateurs, d'améliorer l'expérience et l'efficacité. On pensait que c'était un outil à double tranchant — bénéfices contre risques. Personne n'imaginait que ce serait plutôt un grand couteau de cuisine, tranchant d'un seul côté, venant entailler profondément le bouclier de sécurité des actifs des utilisateurs.
Il existe plusieurs autres méthodes basées sur des signatures comme Permit, par exemple Permit2 lancé par Uniswap, permettant à tous les tokens ERC-20 de prendre en charge les signatures hors chaîne. En tant que DEX numéro un, la décision d'Uniswap a renforcé la dépendance des utilisateurs aux signatures hors chaîne, augmentant ainsi leur exposition au risque de phishing.
4. Comment se protéger ?
Alors, en tant qu'utilisateur ordinaire face à cette épée de Damoclès — ou plutôt ce grand couteau de cuisine suspendu au-dessus de nos têtes — quelles mesures pouvons-nous prendre pour éviter les pertes ?
1. Renforcer sa vigilance
Être prudent face aux airdrops alléchants
Les airdrops proposés par les projets crypto peuvent sembler très attractifs, mais la plupart sont en réalité des tentatives de phishing sous couverture. Face à ce type d'information, ne cédez pas à l'excitation et n'« acceptez » pas immédiatement. Vérifiez auprès de plusieurs sources la légitimité de l'airdrop et l'URL officielle du projet afin d'éviter les sites frauduleux.
Éviter la signature aveugle (blind signing)
Si malheureusement vous arrivez sur un site de phishing sans le savoir, lorsque votre portefeuille affiche une fenêtre de transaction, examinez attentivement le contenu. Si vous voyez des termes comme Permit, Permit2, Approve ou IncreaseAllowance, soyez immédiatement vigilant : cela signifie que la transaction vise à obtenir une autorisation sur vos tokens. Or, un vrai processus d'airdrop n'exige normalement jamais cela. Keystone implémente au niveau matériel l'analyse et l'affichage des transactions. Vous pouvez utiliser cette fonctionnalité pour éviter la signature aveugle et prévenir les conséquences irréversibles d'une action impulsive.

Figure : Portefeuille matériel Keystone et Rabby Wallet analysant et affichant une transaction de signature Permit2
2. Utiliser les bons outils
ScamSniffer
Pour un utilisateur lambda, identifier précisément un site de phishing est extrêmement difficile, et certains passent inévitablement à travers les mailles du filet. L'extension de navigateur ScamSniffer alerte l'utilisateur lorsqu'il accède à un site suspect, lui permettant d'interrompre immédiatement toute interaction.
Revoke
Revoke.cash permet de visualiser les autorisations accordées par votre portefeuille. Nous recommandons d'annuler celles qui sont suspectes ou qui autorisent des montants illimités. Adoptez l'habitude de nettoyer régulièrement vos autorisations et limitez autant que possible les autorisations excédant vos besoins.
3. Séparation des actifs et multisignature
On dit souvent de ne pas mettre tous ses œufs dans le même panier — cela vaut aussi pour les actifs numériques. Par exemple, vous pouvez conserver vos fonds importants dans un portefeuille froid comme Keystone, et n'utiliser qu'un portefeuille chaud avec de petites sommes pour les interactions quotidiennes. Même si vous êtes victime d'une attaque, vos principaux actifs ne seront pas compromis.
Pour une sécurité accrue, utilisez un système multisignature (multisig). Avec un tel système, les actifs ne peuvent être transférés que lorsque le nombre de signatures valides atteint un seuil prédéfini. Même si un portefeuille individuel est piraté, le pirate ne pourra pas contrôler les fonds sans les autres signatures requises.
5. Conclusion
Nous ne pouvons nier la valeur apportée par Permit. Cependant, le nombre croissant de vols récents montre que les dommages causés semblent désormais surpasser les bénéfices. À l'image de la méthode ethsign autrefois populaire, dont la lisibilité faible et les risques élevés en faisaient la cible favorite des pirates, Permit se retrouve-t-il aujourd'hui au même carrefour critique ?
Comme ethsign a finalement été désactivé par la majorité des logiciels de portefeuille en raison de ses dangers, et que ses fonctionnalités ont été remplacées par des alternatives plus sûres, faut-il maintenant envisager une amélioration, une mise à niveau, ou tout simplement abandonner Permit ? C’est une question que les développeurs d’Ethereum devront sérieusement examiner et discuter.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News











