Une attaque contre la gouvernance de 8,5 millions de dollars a frappé les coffres-forts de Term Finance le 23 août, mais l'histoire ne s'arrête pas au vol. Quelques jours plus tard, Term Labs a annoncé avoir récupéré toutes les positions de prêts à taux fixe restées exposées dans les coffres concernés, la dernière opération de sauvetage s'étant achevée le 25 août à 14h52 UTC. LE'Attaque de gouvernance de Term Labs Cependant, il s’agit de l’un des cas les plus instructifs de ces derniers mois sur la façon dont les failles des mécanismes décisionnels décentralisés peuvent se transformer en gouffre financier, même lorsque les contrats fondamentaux du protocole restent intacts.
Points clés
- L’attaque du 23 août a drainé environ 8,5 millions de dollars des soldes de trésorerie des coffres à terme, sans affecter les accords de prêt V1 et V2.
- Deux opérateurs de portefeuille financés par Tornado Cash ont présenté des propositions de gouvernance qui ont éliminé les retards d'exécution prévus par mesure de sécurité.
- Les attaquants n’ont dépensé que 951 dollars pour prendre le contrôle des votes de gouvernance nécessaires pour cibler des coffres contenant des millions de dollars de dépôts.
- Term Labs a fermé Meta Vaults, révoqué les rôles DAO et récupéré toutes les positions à taux fixe avant leur expiration.
- Le protocole travaille avec les forces de l’ordre et les sociétés de cybersécurité pour identifier les responsables.
Une attaque de gouvernance vole 8,5 millions de dollars dans les soldes de trésorerie des coffres-forts
L'exploit n'a affecté que les réserves liquides détenues dans les coffres de Term, laissant l'infrastructure de prêt de base hors de portée des attaquants. Entreprises de sécurité Certifié Et Bouclier Peck ils avaient estimé les pertes à près de 8,5 millions de dollars, comprenant environ 2 843 ETH et 1,68 million d'USDC. PeckShield a découvert plus tard que l'USDC volé avait été converti en environ 1,68 million de DAI.
L'attaque s'est limitée aux soldes de trésorerie dans les coffres-forts de Term
Term Labs a initialement divulgué l'exploit sans fournir la séquence complète de l'attaque. Ce n'est que dans le rapport technique le plus récent que le protocole a reconstitué étape par étape la manière dont les fonds ont été volés, précisant que l'opération ne concernait que les liquidités gérées via les Meta Vaults, sans affecter les réserves destinées aux prêts directs.
Les contrats de prêts à taux fixe restent sécurisés
Selon Term Labs, les contrats V1 et V2 n'ont jamais été compromis. Les fonctions de fourniture, de remboursement et de règlement ont continué à fonctionner sans interruption sur les marchés des prêts directs tout au long de l'incident. Aspirer a confirmé que les contrats concernés utilisaient l'infrastructure Yearn V3, mais a noté que l'attaque impliquait un wrapper de gouvernance développé spécifiquement pour Term, et non les coffres-forts Yearn V3 standard.
Comment les attaquants ont exploité les propositions de gouvernance avec les fonds de Tornado Cash
Les attaquants n’ont forcé aucun contrat : ils ont simplement utilisé le processus de vote du DAO en leur faveur, dépensant des sommes minimes pour obtenir un pouvoir décisionnel disproportionné aux fonds en jeu.
Deux opérateurs de portefeuille ont éliminé les retards d'exécution
Le premier portefeuille d'opérateur a reçu des fonds via Trésorerie tornade le 17 août. Environ 24 minutes plus tard, il a soumis une proposition liée à l'ETH intitulée « Votez OUI pour VETO aux modifications proposées par le conservateur des paramètres du coffre-fort », qui, entre autres changements, a réduit à zéro le délai de gouvernance de la pile concernée, éliminant une période supplémentaire de sept jours et une heure pendant laquelle les fournisseurs de liquidité pouvaient bloquer la proposition.
Un deuxième portefeuille a reçu des fonds de Tornado Cash le 18 août, avant de déployer un contrat singleton combinant trois fonctions : un contrôleur, un adaptateur de prix et un jeton de repo contrefait. Trois jours plus tard, le 21 août, un assistant contractuel a présenté sept propositions de gouvernance, votant seul sur chacune d'elles. Deux impliquaient des DAO de stratégie ETH et n’ont jamais été exécutés ; les cinq autres constituaient le cœur de l’attaque contre l’USDC, chacun éliminant le retard de gouvernance et supprimant trois jours et une heure supplémentaires.
Une précédente analyse de l'accident avait déjà souligné à quel point il était peu coûteux de reprendre le contrôle décisionnel : il suffit 951 $ ils étaient suffisants pour acquérir les jetons de gouvernance nécessaires au contrôle des votes liés à des coffres contenant des millions de dollars de dépôts.
Jetons de pension contrefaits pour vider les soldes USDC
La première proposition exécutée avec succès est entrée en vigueur à 06h25 UTC le 23 août. Quatre stratégies ETH actives – Shorewoods, August Digital, Parity Prime et Parity Core – ont été appelées dans Meta Vault via la fonction update_debt() et orientées vers une nouvelle stratégie appelée frWETH-EXIT, ou « Stratégie de sortie WETH du destinataire fixe ». Une fois que WETH est entré dans cette stratégie, le montant total a été transféré au premier trader lors du même appel, laissant le Meta Vault avec 2 841,74 actions dans une stratégie dépourvue du WETH qu'il était censé contenir – un chiffre qui correspond presque exactement aux 2 843 ETH suivis par PeckShield.
Vingt-deux minutes plus tard, la deuxième campagne a débuté, cette fois contre cinq DAO de stratégie USDC : Parity Prime, Parity Core, Parity HY, Parity HY v2 et RockawayX Tori, frappés à 06h47 UTC. Chaque proposition a incité le DAO concerné à vendre une unité de jeton de pension contrefaite valant la totalité du solde de trésorerie USDC de la stratégie. La vente a été possible grâce à un contrat appelé fmTERT, capable de se faire passer pour à la fois le contrôleur qui déterminait la légitimité de l'instrument et l'adaptateur de prix qui établissait sa valeur. Les propositions réinitialisent également le taux de réserve de chaque stratégie et relèvent la limite de concentration au maximum autorisé, désactivant tout contrôle qui aurait pu limiter la transaction frauduleuse. Le prix du jeton contrefait a été calculé via une fonction dynamique redemptionValue(), qui, lors de l'exécution, renvoyait exactement le montant liquide disponible dans la stratégie – permettant de vendre une seule unité du faux jeton de pension pour la totalité du solde disponible.
Les mesures de réponse et de relance mises en place par Term Labs
Term Labs a réagi rapidement en bloquant toute possibilité de dommages supplémentaires et en se concentrant sur la récupération des positions exposées restantes avant qu'elles ne puissent mûrir et affluer dans les coffres-forts compromis.
Fermeture des Meta Vaults et révocation des rôles DAO
Le protocole a définitivement désactivé Meta Vaults et révoqué leurs rôles de gouvernance DAO, empêchant de nouveaux dépôts mais gardant les fonctions de retrait actives pour les utilisateurs existants.
Récupération des positions à taux fixe avant échéance
Un autre problème surviendrait à l’expiration des prêts à taux fixe, dont les revenus devaient être versés dans les mêmes coffres-forts capturés lors de l’attaque. Term Labs a réagi en mettant à jour les contrats concernés et en déplaçant les postes avant l'acquisition. Tous les postes à taux fixe concernés étaient rétablile dernier étant transféré le 25 août à 14h52 UTC.
Collaboration avec les forces de l'ordre et les sociétés de cybersécurité
Term Labs travaille avec des agences d'enquête et des sociétés de cybersécurité pour identifier les responsables de l'attaque, fournissant ainsi des informations utiles à l'enquête en cours. La fermeture des chambres fortes restantes à faible activité est toujours en cours de finalisation.
Ce que l'attaque nous apprend sur la sécurité de la gouvernance dans DeFi
L’épisode révèle une faiblesse récurrente des protocoles décentralisés : les délais d’exécution prévus par les propositions de gouvernance ne sont pas un détail bureaucratique, mais la seule véritable barrière entre un vote malveillant et le retrait effectif des fonds. Lorsque cette barrière est supprimée par la même proposition qui est censée la déclencher, le système perd son principal filet de sécurité.
La comparaison avec un épisode presque parallèle rend ce point encore plus évident. Quelques jours avant l'attaque contre Term Finance, Binance avait bloqué une proposition DAO malveillante qui menaçait environ 1,2 million de dollars appartenant à un projet non identifié : il restait moins de 48 heures avant l'exécution lorsque la bourse a contacté le projet, qui a rejeté la proposition sans perte. Dans le cas de Term, cependant, les propositions malveillantes ont précisément éliminé ces marges d'intervention : sept jours et une heure pour la proposition ETH, trois jours et une heure pour chacune des cinq propositions de l'USDC.
Une voie d'attaque similaire avait déjà été utilisée contre Bloc fort les jours précédents, lorsqu'un attaquant avait pris le contrôle du système de gouvernance du projet en drainant environ 72 000 $ en jetons STRONG et STRNGR, obtenant ainsi suffisamment de pouvoir de vote pour adopter une proposition accordant un contrôle administratif sur le contrat du gouverneur. Deux épisodes différents, même dynamique : une gouvernance à bas coûts transformée en levier pour voler des fonds bien supérieurs à l’investissement nécessaire à son contrôle.
FAQ
Combien d’argent a été volé lors de l’attaque sur la gouvernance de Term Labs ?
Environ 8,5 millions de dollars ont été retirés des coffres de Term, limités aux soldes de trésorerie qu'ils contenaient.
Les principaux accords de prêt de Term Labs ont-ils été compromis lors de l'attaque ?
Non, les contrats de prêt à taux fixe V1 et V2 sont restés sûrs et opérationnels tout au long de l'incident.
Comment les attaquants ont-ils exécuté l’attaque de gouvernance de Term Labs ?
Ils ont utilisé deux opérateurs de portefeuille financés par Tornado Cash pour présenter des propositions de gouvernance qui ont supprimé les retards d'exécution, leur permettant de rediriger l'ETH et l'USDC vers leurs propres adresses.
Quelles mesures Term Labs a-t-il prises en réponse à l’attaque ?
Term Labs a fermé Meta Vaults, révoqué les rôles de gouvernance du DAO, désactivé de nouveaux coffres-forts, récupéré des positions de prêt à taux fixe et travaille avec des sociétés d'application de la loi et de cybersécurité.
Contenu créé avec l’aide de l’intelligence artificielle et de la révision éditoriale humaine.
Voir l’article original en italien
