Float Protocol a perdu environ 28 000 $, soit 10,71 ETH, après qu'un attaquant a utilisé un flash loan pour manipuler le prix au comptant d'Uniswap V3 et exploiter la manière dont ses contrats Hypervisor calculaient les valeurs des parts des fournisseurs de liquidité.
Résumé
- Float Protocol a perdu environ 28 000 $, soit 10,71 ETH, après qu'une attaque par flash loan a manipulé le prix au comptant d'Uniswap V3.
- SlowMist a déclaré que la manipulation a conduit les contrats Hypervisor concernés à calculer des valeurs de parts LP gonflées.
- L'attaquant a utilisé des swaps importants pour fausser currentTick() et getTotalAmounts(), puis a déposé et retiré à plusieurs reprises en se basant sur les valeurs incorrectes.
- SlowMist a déclaré que les fonctions critiques manquaient de vérification TWAP ou oracle et de protection contre le glissement de prix.
SlowMist a déclaré le 31 août que l'attaquant a faussé le prix au comptant slot0 d'Uniswap V3, ce qui a conduit les contrats Hypervisor concernés à calculer des valeurs de parts LP incorrectes. La société de sécurité blockchain a retracé l'exploit jusqu'à des fonctions qui manquaient de vérification TWAP ou oracle et de protection contre le glissement de prix.
En utilisant des swaps importants dans le pool de liquidité V3 sous-jacent, l'attaquant a manipulé les valeurs renvoyées par currentTick() et getTotalAmounts(). SlowMist a déclaré que l'attaquant a ensuite déposé et retiré des fonds à plusieurs reprises pendant que les contrats Hypervisor travaillaient avec des valeurs de parts gonflées.
La société de sécurité a identifié l'adresse de l'attaquant comme étant 0xaea29218262dc6b0904ca077f6527c49dfd426d9 et le contrat d'attaque comme étant 0xb46655eb5b77de277063a75586d1883e951b6c54.
Deux contrats vulnérables ont été répertoriés comme 0x85cbed523459b7f6f81c11e710df969703a8a70c et 0xc86b1e7fa86834cac1468937cdd53ba3ccbc1153, tandis que le pool de liquidité sous-jacent a été identifié comme 0xe8c2036068fc3b0161ee1def0e8d01df4eac0ac.
L'exploit de Float Protocol reposait sur la manipulation du prix au comptant d'Uniswap V3
L'attaque était centrée sur la manière dont les contrats concernés obtenaient les informations de prix du pool Uniswap V3 sous-jacent. SlowMist a déclaré que des transactions importantes ont permis à l'attaquant de fausser slot0, qui contient le prix actuel et les informations de tick du pool.
Une fois le prix du pool déplacé, la manipulation a modifié les valeurs renvoyées par currentTick() et getTotalAmounts(). Les contrats Hypervisor concernés ont utilisé les données modifiées pour calculer les valeurs des parts LP, ce qui a permis à l'attaquant d'interagir avec les contrats pendant que ces parts étaient incorrectement évaluées.
Les flash loans ont fourni le capital temporaire nécessaire pour effectuer les transactions importantes. Comme crypto.news l'a précédemment expliqué, un flash loan permet d'emprunter des actifs sans garantie initiale à condition que le prêt et les frais soient remboursés dans la même transaction blockchain.
Si le remboursement n'a pas lieu, toute la transaction est annulée. Ce mécanisme permet aux traders d'accéder à d'importantes quantités de liquidité temporaire pour l'arbitrage, les swaps de garanties et les liquidations, mais la même liquidité peut être utilisée pour exploiter une tarification vulnérable ou une logique de contrat intelligent.
Dans son analyse de Float Protocol, SlowMist a attribué la perte au fait que les contrats s'appuyaient sur un prix au comptant manipulable sans vérifications permettant de le confronter à un prix moyen pondéré dans le temps ou à un autre oracle. Les fonctions critiques manquaient également de protection contre le glissement de prix, selon la société de sécurité.
L'attaquant a utilisé à plusieurs reprises des valeurs de parts LP gonflées
SlowMist a déclaré que l'attaquant ne s'est pas arrêté après avoir modifié le prix du pool Uniswap V3. Une fois slot0 faussé, l'attaquant a déposé et retiré à plusieurs reprises des fonds des contrats concernés en utilisant les calculs de parts LP gonflés.
La séquence a permis d'extraire de la valeur pendant que les contrats s'appuyaient sur l'état manipulé du pool. SlowMist a estimé la perte finale à environ 10,71 ETH, soit environ 28 000 $ au moment de la publication de l'alerte.
Des méthodes similaires ont été utilisées dans d'autres attaques DeFi où de grandes transactions temporaires faussent les prix ou les ratios des pools avant qu'un autre contrat n'utilise les valeurs manipulées.
En juillet, Allbridge Core a été interrompu après qu'un attaquant a utilisé un flash loan de 1,12 million de dollars USDC de Kamino lors d'une exploitation que PeckShield a estimé avoir causé environ 1,65 million de dollars de pertes.
Onchain Lens a déclaré que l'attaquant d'Allbridge a effectué des échanges rapides d'USDC et d'USDT pour modifier le ratio à l'intérieur d'un pool de stablecoins. L'attaquant a ensuite retiré des liquidités au taux faussé avant de rembourser le flash loan dans la même transaction.
Allbridge a déclaré que certains pools de liquidité ont été temporairement déséquilibrés après l'incident et a demandé aux utilisateurs qui avaient profité de prix inhabituels d'envisager de restituer les fonds. Le protocole a suspendu Core pendant que les enquêteurs suivaient les actifs qui avaient été déplacés de Solana vers Ethereum.
Les données de prix restent une cible dans les attaques DeFi
Un autre incident de juillet a montré comment des informations de prix manipulées peuvent être utilisées même lorsque la faiblesse se situe en dehors des contrats intelligents d'un protocole.
Ostium a conclu que son exploit de 23,75 millions de dollars USDC provenait d'une infrastructure hors chaîne compromise. Le protocole de trading décentralisé a déclaré qu'un attaquant avait soumis des rapports de prix BTC/USD frauduleux qui ont permis de drainer des fonds de son coffre de liquidité OLP.
Ostium a déclaré que ses contrats intelligents n'étaient pas la source de cette violation. Une surveillance automatisée a détecté l'attaque, les échanges ont repris le 23 juillet et le protocole a rapporté que les garanties des utilisateurs n'avaient pas été affectées.
L'incident de Float Protocol a impliqué un mécanisme différent décrit par SlowMist. L'analyse de la société de sécurité a placé la faiblesse à l'intérieur des contrats Hypervisor concernés, où des données de pool Uniswap V3 manipulées pouvaient influencer les calculs utilisés pour évaluer les parts LP.
Le capital de flash loan a été utilisé dans d'autres attaques cette année. Une attaque de juillet contre Swan Treasury a utilisé un flash loan PancakeSwap après qu'une clé de signataire hors chaîne compromise a permis à un attaquant d'acheter des jetons STY à une forte remise.
L'exploit de Swan Treasury a causé une perte estimée à 625 000 dollars. L'analyse de sécurité a révélé que des signatures de réclamation et de transfert falsifiées avaient été créées avec la clé de signataire compromise du protocole, permettant d'acheter environ 687 000 STY à une remise d'environ 100 fois avant de les vendre dans le pool STY/USDT.
Le flash loan a fourni le capital pour la transaction, tandis que les enquêteurs ont attribué la vulnérabilité sous-jacente à la fuite de la clé de signataire plutôt qu'à la logique de vérification des signatures du protocole.
SlowMist pointe l'absence de vérifications de prix dans les contrats de Float Protocol
Pour Float Protocol, SlowMist a spécifiquement identifié l'absence de validation TWAP ou d'oracle comme faisant partie du chemin d'attaque.
Un TWAP utilise des observations collectées sur une période au lieu de se fier uniquement au prix disponible à un moment donné. Les prix au comptant dans les pools de liquidité peuvent bouger lorsqu'une transaction suffisamment importante modifie le ratio des actifs, ce qui est le mécanisme que SlowMist a déclaré que l'attaquant de Float Protocol a exploité.
Le guide des flash loans de Crypto.news a décrit la manipulation des prix comme l'un des moyens courants par lesquels la liquidité temporaire peut être utilisée contre une application DeFi vulnérable. Le rapport a noté que le flash loan fournit le capital pour une attaque tandis que la faiblesse exploitable peut résider dans les oracles de prix, les systèmes de gouvernance ou la logique des contrats.
Dans le cas de Float Protocol, SlowMist a déclaré que de grandes transactions ont été utilisées pour fausser la valeur slot0 du pool Uniswap V3, ce qui a à son tour modifié currentTick() et getTotalAmounts(). L'attaquant a déposé et retiré à plusieurs reprises pendant que les contrats Hypervisor concernés calculaient des valeurs de parts LP gonflées, entraînant une perte estimée à 10,71 ETH.






