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 № 121Manipulation d'oracle

Manipulation de l'oracle Tellor BonqDAO

Reporter un prix WALBT absurde à l'oracle Tellor de BonqDAO (10 TRB, sous 1 K$) a minté 120 M$ et fait chuter la TVL du protocole de 99,66 % en une transaction.

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

Le 1er février 2023, le protocole de stablecoin sur Polygon BonqDAO a perdu 100M BEUR (son stablecoin indexé sur l'euro) et 120M de tokens WALBT — nominalement environ 120 millions de dollars — dans une seule attaque de manipulation d'oracle qui a coûté à l'attaquant moins de 1 000 dollars en mise en place au niveau protocole.

Ce qui s'est passé

BonqDAO acceptait WALBT (Wrapped AllianceBlock) comme collatéral pour son stablecoin BEUR. Le prix de WALBT venait de l'oracle TellorFlex — le contrat de flux de prix sans permission de Tellor sur Polygon.

La conception de Tellor permet à quiconque de devenir reporter de prix en stakant 10 tokens TRB (le token de gouvernance de Tellor, valant environ 200 $ à l'époque). Après le stake, le reporter peut soumettre n'importe quel prix pour n'importe quel actif. Les disputes sont résolues via le mécanisme de vote de Tellor, mais le prix le plus récent est consommé immédiatement, avant qu'aucune fenêtre de dispute n'expire.

L'attaque :

  1. Staké 10 TRB sur TellorFlex depuis l'adresse A.
  2. Soumis un rapport de prix déclarant 1 WALBT = 5 000 000 $.
  3. Ouvert un « Trove » BonqDAO avec 0,1 WALBT comme collatéral. Sous le prix manipulé, ce collatéral valait 500 000 $ — largement assez pour emprunter de grands montants de BEUR. L'attaquant a emprunté 100 M BEUR.
  4. Échangé le BEUR contre de l'USDC sur Uniswap.

Puis la seconde étape :

  1. Staké 10 TRB à nouveau depuis l'adresse B et reporté 1 WALBT = 0,0000001 $.
  2. Au nouveau prix quasi nul, chaque Trove existant adossé à WALBT sur BonqDAO est devenu massivement sous-collatéralisé.
  3. L'attaquant a liquidé ces Troves, réclamant le WALBT sous-jacent au discount de liquidation et partant avec 120M WALBT en plus de l'USDC précédent.

Coût total de mise en place : 20 TRB (~4 000 $). Total drainé : ~120 M$ nominal.

Conséquences

  • La TVL de BonqDAO est tombée de 13 M$ à 44 K$ — une chute de 99,66 % — en une seule transaction.
  • L'attaquant a commencé à déplacer les fonds via Tornado Cash sous 48 heures.
  • BonqDAO et AllianceBlock ont publié un post-mortem conjoint et le protocole a effectivement cessé.

Pourquoi c'est important

BonqDAO est l'étude de cas la plus forte pour pourquoi les oracles sans permission doivent être enveloppés dans des fenêtres de dispute et des disjoncteurs de déviation de prix avant d'être consommés en toute sécurité par les protocoles de prêt. La conception de Tellor fonctionnait comme annoncé ; l'erreur de BonqDAO a été de traiter le prix reporté le plus récent comme parole d'évangile. La réponse défensive est bien connue et bien documentée :

  • Agrégation pondérée dans le temps sur plusieurs rapports.
  • Limites strictes de déviation de prix qui bloquent les lectures hors d'une plage de bon sens.
  • Médianes multi-oracles (par ex. Chainlink + Tellor + TWAP on-chain).

Tout protocole de prêt qui livre sans les trois est à un stake-et-report du dénouement BonqDAO.

Sources & preuves on-chain

  1. [01]hacken.iohttps://hacken.io/insights/bonqdao-hack/
  2. [02]medium.comhttps://medium.com/immunefi/hack-analysis-bonqdao-february-2023-ef6aab0086d6
  3. [03]rekt.newshttps://rekt.news/bonq-rekt

Dépôts liés