Aller au contenu
Fondé MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archive des incidents de sécurité dans les cryptomonnaies — piratages, exploits, défaillances de ponts et rug pulls, documentés avec des preuves on-chain.

Dossier № 182Bug de smart contract

Drainage par appel externe Unizen

2,1 M$ drainés de l'agrégateur DEX Unizen via une vulnérabilité d'appel externe non sécurisé dans une mise à niveau récente touchant les utilisateurs approuvés.

Date
Victime
Unizen
Chaîne(s)
Statut
Partiellement récupéré

Le 9 mars 2024, l'agrégateur DEX cross-chain Unizen a été exploité pour environ 2,1 millions de dollars — drainés des utilisateurs ayant accordé des approbations de jetons à un contrat fraîchement mis à niveau. Le bug : la mise à niveau a introduit une vulnérabilité d'appel externe non sécurisé dans le chemin de swap. (Le leaderboard de Rekt liste cet incident à 21 M$ ; la perte vérifiée à travers les analyses indépendantes est de 2,1 M$.)

Ce qui s'est passé

Le contrat d'agrégation DEX d'Unizen a été mis à niveau peu avant l'exploit. La mise à niveau a introduit un nouveau chemin qui effectuait des appels externes arbitraires durant l'exécution du swap — sans validation rigoureuse de la cible d'appel ou des calldata.

Pour les utilisateurs ayant accordé des approbations de jetons au contrat d'Unizen — typique pour toute UX d'agrégateur DEX — le bug a créé un pattern familier : tout appelant pouvait construire un « swap » dont l'appel externe sous-jacent effectuait un transferFrom contre le solde approuvé de la victime vers l'adresse de l'attaquant.

PeckShield a signalé publiquement le problème quelques heures après les premières transactions malveillantes ; les enquêteurs on-chain ont fait remonter le pattern, et Unizen a arrêté le contrat affecté.

Conséquences

  • Le fondateur d'Unizen Sean Noga a personnellement prêté des fonds à l'entreprise pour financer des remboursements utilisateurs immédiats.
  • Les utilisateurs ayant perdu moins de 750 000 $ ont été remboursés ; les pertes plus importantes ont été traitées via une voie de négociation séparée.
  • Le contrat a été patché et redéployé avec une validation appropriée des appels externes.
  • L'attaquant a blanchi via Tornado Cash ; aucune récupération publique.

Pourquoi c'est important

Unizen est l'un des trois incidents structurellement similaires de bug d'approbation de mars 2024 — aux côtés de WOOFi et Dolomite — qui ont mis en évidence le pattern récurrent des agrégateurs DEX : les utilisateurs accordent des approbations à un contrat ; le contrat a un chemin qui effectue un appel externe non validé ; tout appelant peut drainer les soldes approuvés.

La leçon structurelle est la même répétée chez Furucombo, Transit Swap et LI.FI : les mises à niveau de contrat qui touchent le chemin d'exécution du swap doivent être réauditées de bout en bout, pas traitées comme des patches de routine. La surface d'attaque d'un agrégateur détenant des approbations est l'union de chaque chemin de code atteignable après qu'approve() a été accordé, à travers toute l'historique de mises à niveau du contrat.

La réponse de l'équipe Unizen — remboursements immédiats prêtés par le fondateur — était inhabituellement rapide et complète pour l'échelle de la perte. Elle a établi une barre crédible pour comment une équipe de petit protocole peut gérer crédiblement un exploit de taille moyenne sans détruire la confiance utilisateur.

Sources & preuves on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-unizen-hack-march-2024
  2. [02]beincrypto.comhttps://beincrypto.com/unizen-defi-hack-million/
  3. [03]web3isgoinggreat.comhttps://www.web3isgoinggreat.com/?id=unizen-hack

Dépôts liés