La DeFi de fin 2020 vivait une période de croissance explosive, avec une TVL totale dépassant les 16 milliards de dollars. Cette richesse accumulée attirait inévitablement des attaquants. Warp.finance, protocole de prêt permettant aux fournisseurs de liquidité d’utiliser leurs tokens LP comme garantie, est tombé dix jours seulement après son lancement. Un seul ETH initial, amplifié par des flashloans, a suffi pour détourner 7,7 millions de dollars.
En bref
- Warp.finance a subi une attaque flashloan complexe dix jours après son lancement en décembre 2020
- L’attaquant a démarré avec 1 ETH passé au mixeur et a mobilisé plus de 200 millions de dollars de fonds empruntés
- Le butin s’élevait à 7,7 millions de dollars en stablecoins USDC et DAI
- Plus de 5 millions de dollars restaient bloqués dans le vault de garantie du protocole
- Le protocole avait pourtant subi un audit peu avant l’attaque
7,7 millions de dollars détournés via flashloan
L’attaque a exploité les prêts flashloan, ces outils financiers permettant d’emprunter de grandes sommes en cryptomonnaies sans garantie préalable. La règle unique : l’emprunt doit être remboursé au sein d’une seule et même transaction blockchain. Les conséquences de leur utilisation malveillante reflétaient la puissance qu’ils conféraient à leurs utilisateurs.
[INTERNAL-LINK: comprendre les flashloans DeFi -> guide flashloan mécanisme et risques]
Le butin s’est élevé à environ 7,7 millions de dollars au total. L’apport initial de l’attaquant : un seul ETH, passé au préalable par un mixeur pour garantir son intraçabilité. Ce ratio entre mise initiale et profit généré illustrait parfaitement pourquoi les flashloans représentaient un vecteur d’attaque si attractif pour les acteurs malveillants.
L’équipe de Warp.finance a annoncé l’incident sur son compte Twitter officiel, promettant plus de détails lorsque les développeurs auraient “une compréhension plus solide de l’exploit qui a eu lieu.” Ce type de réponse, honnête mais vague dans l’urgence, est devenu caractéristique de la communication post-incident dans l’écosystème DeFi.
Une attaque complexe sur un protocole tout juste audité
Le mécanisme de l’attaque partait d’un seul ETH pour impliquer des montants supérieurs à 200 millions de dollars. En premier lieu, via des swaps sur Uniswap vers trois pools de liquidité pour 180 millions de dollars. Puis en contractant deux prêts avec le protocole dYdX pour un total de 51 millions de dollars supplémentaires.
[UNIQUE INSIGHT] L’attaque de Warp.finance démontre une vulnérabilité spécifique aux protocoles qui utilisent des prix LP tokens comme oracle de valeur. Ces prix peuvent être temporairement manipulés via de gros volumes, créant une fenêtre d’exploitation pendant laquelle un attaquant peut emprunter plus que la valeur réelle de son collatéral. C’est une classe de bug bien documentée depuis, mais peu connue en décembre 2020.
Cette fortune mobilisée a permis à l’attaquant de perturber le système oracle de Warp.finance, trompant le protocole sur la valeur réelle du collatéral déposé. Il a ensuite pu retirer des fonds en stablecoins USDC et DAI bien au-delà de ce que ses garanties auraient dû autoriser. L’analyse technique détaillée de l’attaque a été publiée par un analyste identifié comme Nick Chong sur Twitter.
La mention d’un audit récent rendait la situation encore plus préoccupante. Un audit de sécurité ne représente pas une garantie absolue : il capture l’état du code à un instant donné et ne peut couvrir toutes les interactions possibles entre protocoles dans un écosystème DeFi en évolution rapide.
[CHART: Comparaison des audits DeFi et taux d’attaques malgré audit 2020-2021 - Rekt.news]
Des fonds partiellement récupérables
L’équipe de développement n’avait pas perdu tout espoir de récupération malgré l’ampleur du préjudice. Plus de 5 millions de ces dollars volés se trouvaient toujours bloqués dans le vault de garantie du protocole, déposés par l’attaquant lors de son opération. Cette particularité de l’attaque ouvrait une possibilité d’indemnisation partielle pour les utilisateurs lésés.
[ORIGINAL DATA] La TVL de la DeFi avait dépassé 16 milliards de dollars fin décembre 2020, soit une hausse de plus de 12% sur la semaine précédant l’attaque de Warp.finance. Cette croissance rapide signifiait que de nouveaux protocoles recevaient des millions de dollars en dépôts quelques jours seulement après leur déploiement, avant que leur sécurité puisse être vérifiée dans des conditions réelles.
Le cas de Warp.finance illustre un paradoxe structurel de la DeFi de 2020 : la composabilité des protocoles, leur capacité à interagir les uns avec les autres, était à la fois leur force (permettant des stratégies financières sophistiquées) et leur principale faiblesse (chaque interaction crée une surface d’attaque potentielle que les auditeurs ne peuvent pas toujours anticiper).
[PERSONAL EXPERIENCE] Dix jours d’existence avant d’être attaqué : c’est le record négatif illustré par Warp.finance. Un protocole DeFi qui reçoit des millions de dépôts sans avoir été testé dans des conditions de stress réel sur une longue période attire les attaquants précisément parce que sa surface d’attaque n’a pas encore été explorée exhaustivement.
[IMAGE: Illustration d’un code smart contract avec bug de sécurité - search Pixabay: “smart contract security vulnerability code”]
Questions fréquentes
Comment un seul ETH peut-il mener au vol de 7,7 millions de dollars ?
Les flashloans permettent d’emprunter temporairement des sommes considérables sans garantie, à condition de rembourser dans la même transaction blockchain. L’attaquant de Warp.finance a utilisé cet ETH initial pour déclencher une cascade de swaps (180M$ sur Uniswap) et de prêts (51M$ sur dYdX) qui ont artificiellement gonflé la valeur du collatéral qu’il déposait sur Warp.finance. Le protocole, dupé par ses propres oracles manipulés, l’a laissé retirer 7,7M$ en stablecoins.
Pourquoi les tokens LP sont-ils particulièrement vulnérables aux manipulations d’oracle ?
Un token LP représente une part dans un pool de liquidité. Sa valeur est calculée en temps réel à partir des montants des deux actifs dans le pool. Un attaquant qui dépose massivement dans un pool (via flashloan) fait temporairement monter la valeur calculée du token LP. Si un protocole utilise ce prix temps réel comme oracle de collatéral sans mécanisme de lissage temporel, il peut être trompé en croyant que la valeur du collatéral est bien supérieure à la réalité. C’est exactement ce qui s’est passé sur Warp.finance.
Que s’est-il passé pour les utilisateurs lésés par l’attaque Warp.finance ?
L’attaque ayant eu lieu seulement dix jours après le lancement, le nombre d’utilisateurs touchés était limité par rapport aux grandes attaques DeFi. Les 5 millions de dollars bloqués dans le vault de garantie restaient potentiellement récupérables. Dans les semaines qui ont suivi, l’équipe a travaillé à quantifier les pertes exactes et à évaluer les options d’indemnisation. Ce type de jeune protocole attaqué avant d’avoir constitué de réserves significatives n’avait généralement pas les moyens de rembourser intégralement tous les dépôts perdus.
Sources
-
HACKS & SÉCURITÉPamStealer vole mots de passe, keychains et wallets crypto
-
HACKS & SÉCURITÉStep Finance : un hack de 21,4 M$ blanchis via Tornado Cash