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 № 012Réentrance

Réentrance du pool d'épargne Akropolis

Un faux ERC-20 avec un transferFrom réentrant a permis de réentrer le dépôt d'Akropolis et de frapper 2 M$ de parts de pool sans livrer de collatéral réel.

Date
Victime
Akropolis
Chaîne(s)
Statut
Fonds dérobés

Le 12 novembre 2020, le protocole d'épargne DeFi Akropolis a perdu environ 2 millions de dollars en DAI depuis ses pools d'épargne yCurve et sUSD. L'attaquant a déployé un faux token ERC-20 dont le transferFrom réentrait la logique de dépôt d'Akropolis, lui permettant de se voir créditer des parts de pool sans livrer de collatéral réel.

Ce qui s'est passé

Les pools d'épargne d'Akropolis suivaient un schéma standard : un utilisateur appelle deposit, le pool tire les tokens de l'utilisateur via transferFrom, puis crédite l'utilisateur de parts de pool proportionnelles au dépôt.

Le pool ne validait pas que le token déposé était un actif légitime attendu, et le chemin de dépôt manquait de protection contre la réentrance. L'attaquant a exploité les deux omissions ensemble :

  1. Déploiement d'un faux token ERC-20 dont le transferFrom contenait un callback vers la fonction deposit d'Akropolis.
  2. Appel de deposit en spécifiant le faux token.
  3. Quand le pool a invoqué le transferFrom du faux token, le callback a réentré deposit — et, via du DAI réel emprunté en flash et utilisé dans l'appel réentrant, a manipulé la comptabilité du pool pour que l'attaquant soit crédité de parts de pool dépassant largement sa contribution réelle.
  4. Retrait de la position de parts gonflée contre du DAI réel depuis le pool.
  5. Drainage de ~2 M$ sur les pools affectés.

Conséquences

  • Akropolis a suspendu les pools affectés et publié un post-mortem.
  • L'équipe s'est engagée sur un plan d'indemnisation ; la récupération depuis l'attaquant fut minime.
  • Le token AKRO et la réputation du protocole ont été significativement endommagés.

Pourquoi c'est important

Akropolis est l'un des premiers exploits composés « faux token + réentrance » en DeFi — précédant les instances mieux connues du schéma identique chez Grim Finance (2021), BurgerSwap (2021) et Orion Protocol (2023).

Le bug composé est toujours les deux mêmes omissions :

  1. Pas de validation que le token déposé/échangé est un actif légitime attendu (la classe « adresse de confiance depuis un appelant non fiable » de Pickle / Cashio).
  2. Pas de garde de réentrance sur le chemin de dépôt (la classe DAO).

L'un ou l'autre seul est souvent survivable ; ensemble ils forment une primitive de drainage complète. Akropolis en novembre 2020 est l'une des premières instances claires du catalogue — et le fait que le même bug composé exact ait récidivé pendant des années par la suite, à travers chaînes et équipes, est l'une des démonstrations les plus claires du catalogue que connaître une classe de vulnérabilités en tant qu'industrie n'empêche pas les équipes individuelles de la livrer. Les primitives défensives (listes d'autorisation de tokens + nonReentrant) étaient librement disponibles en 2020 et le restent ; le bug continue d'être livré quand même.

Sources & preuves on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-akropolis-hack-november-2020
  2. [02]decrypt.cohttps://decrypt.co/48081/defi-platform-akropolis-admits-to-being-hacked-for-2-million
  3. [03]rekt.newshttps://rekt.news/akropolis-rekt

Dépôts liés