Le rapport d’incident de Splash indique qu’un acteur a utilisé deux transactions le 13 septembre pour retirer 2 434 648 ADA et 1 988 222 OADA de son pool ADA/OADA StableSwap basé sur Cardano. Après déduction du dépôt de 9 870 ADA effectué par l’attaquant, le drainage net d’ADA s’élevait à 2 424 778 avant les frais du réseau. Trois jours plus tard, le code corrigé du validateur avait fermé la voie d’exploitation documentée, mais les détenteurs d’OADA ne disposaient toujours pas d’une véritable solution de sortie.
Pourquoi c’est important
La faille provenait de la manière dont le pool calculait sa réserve négociable. Le validateur soustrayait les frais de protocole accumulés des soldes réels, mais n’exigeait pas que la réserve reste positive, n’imposait pas de limites haute et basse aux variations de frais et ne vérifiait pas le sens des swaps. Splash a déclaré qu’une vérification du domaine de la réserve ou une limite bilatérale des frais aurait empêché l’attaque reconstituée.
Ces contrôles peuvent empêcher un nouveau drainage, mais ils ne peuvent pas restituer les ADA déjà retirés. Immédiatement après l’incident, le pool ne détenait plus que 10 ADA et environ 1,44 million d’OADA, tandis que sa réserve d’ADA négociable était négative et que le solde de ses jetons LP n’avait pas changé. La capture d’écran de Splash datée du 13 septembre indiquait également qu’OADA ne disposait d’aucun mécanisme de rachat au niveau du protocole. Les autres plateformes OADA étaient presque vides, les pools listés ne détenant que des soldes d’ADA à un ou deux chiffres.
Impact sur le marché
Une relance se heurte à un deuxième problème, au-delà de la sécurité du validateur. À 14 h 53 UTC le 13 septembre, un pool OADA/FLDT Minswap V2 détenait 1 763 923 OADA contre 45 751 FLDT. Splash a indiqué que cette réserve pouvait faire l’objet d’un arbitrage face à de nouvelles liquidités ADA/OADA, permettant à des OADA décotés de rivaliser pour les nouveaux ADA déposés dans un pool rouvert.
Une reprise viable nécessite donc de reconstituer les liquidités en ADA ou de mettre en place un mécanisme de rachat, ainsi qu’un plan pour la faible réserve d’OADA du marché secondaire. Optim Finance a déclaré que son protocole était suspendu, que les liquidités restantes avaient été retirées et que les swaps OADA vers ADA n’étaient pas disponibles. Dans sa mise à jour du 15 septembre, l’équipe a indiqué recenser les adresses et les actifs concernés tout en travaillant à une solution, sans toutefois annoncer le rétablissement des liquidités, d’un mécanisme de rachat ou des opérations.
Questions fréquemment posées
-
Quelle quantité d’ADA l’exploit de Splash a-t-il retirée ?
L’attaque a retiré 2 434 648 ADA. Après déduction du dépôt de 9 870 ADA de l’attaquant, le drainage net s’élevait à 2 424 778 ADA avant les frais du réseau.
-
Qu’est-ce que la correction de Splash a résolu ?
La correction a fermé la voie d’exploitation documentée du validateur. Splash a identifié les vérifications du domaine de la réserve et les limites bilatérales des frais comme des contrôles qui auraient empêché l’attaque reconstituée.
-
Pourquoi les détenteurs d’OADA ne peuvent-ils toujours pas sortir ?
Le pool a perdu les ADA qui constituaient une véritable solution de sortie, et la capture d’écran de Splash indiquait qu’OADA ne disposait d’aucun mécanisme de rachat au niveau du protocole. Le pool restant ne détenait plus que 10 ADA et environ 1,44 million d’OADA.
-
Qu’est-ce qui pourrait compliquer la réouverture du pool ADA/OADA ?
La faible réserve d’OADA du marché secondaire pourrait être arbitrée face à de nouvelles liquidités en ADA. Le 13 septembre, un pool OADA/FLDT Minswap V2 détenait 1 763 923 OADA contre 45 751 FLDT.
-
Quelles mesures de reprise Optim Finance a-t-il annoncées ?
Optim Finance a déclaré que le protocole était suspendu, que les liquidités restantes avaient été retirées et que les swaps OADA vers ADA n’étaient pas disponibles. Sa mise à jour du 15 septembre évoquait un travail de recensement et de résolution, sans annoncer le rétablissement des liquidités ni des opérations.