Incidente de Float Protocol
Float Protocol ha sufrido una pérdida aproximada de $28,000 (equivalente a 10.71 ETH) tras un ataque en el que un atacante utilizó un préstamo relámpago para manipular el precio de mercado de Uniswap V3. Esta manipulación permitió explotar la forma en que los contratos de Hypervisor calculaban los valores de participación de los proveedores de liquidez (LP). La firma de seguridad SlowMist informó el 31 de agosto que el atacante distorsionó el precio de mercado slot0 de Uniswap V3, lo que provocó que los contratos de Hypervisor calcularan incorrectamente los valores de participación de los LP. SlowMist identificó que la explotación se debió a funciones que carecían de verificación TWAP (precio promedio ponderado por tiempo) y protección contra deslizamientos.
Alerta de SlowMist
– Pérdida: ~$28,000 (10.71 ETH)
– Causa raíz: Manipulación del precio de mercado de Uniswap V3 (slot0) mediante préstamos relámpago, lo que resultó en una fijación incorrecta de precios de participación de LP en contratos de Hypervisor. Las funciones críticas carecían de validación TWAP/oráculo y protección contra deslizamientos.
Detalles del Ataque
El atacante utilizó grandes intercambios en el fondo de liquidez V3 subyacente para manipular los valores devueltos por currentTick y getTotalAmounts. SlowMist identificó la dirección del atacante como 0xaea29218262dc6b0904ca077f6527c49dfd426d9 y el contrato del ataque como 0xb46655eb5b77de277063a75586d1883e951b6c54. Dos contratos vulnerables fueron listados como 0x85cbed523459b7f6f81c11e710df969703a8a70c y 0xc86b1e7fa86834cac1468937cdd53ba3ccbc1153, mientras que el fondo de liquidez subyacente fue identificado como 0xe8c2036068fc3b0161ee1def0e8d01df4eac0ac.
El ataque se centró en cómo los contratos afectados obtenían información de precios del fondo subyacente de Uniswap V3. SlowMist explicó que grandes operaciones permitieron al atacante distorsionar slot0, que contiene el precio actual del fondo y la información de tick. Una vez que el precio del fondo se había movido, la manipulación alteró los valores devueltos por currentTick y getTotalAmounts. Los contratos de Hypervisor afectados utilizaron estos datos alterados para calcular los valores de participación de LP, lo que permitió al atacante interactuar con los contratos mientras esas participaciones estaban mal valoradas. Los préstamos relámpago proporcionaron el capital temporal necesario para realizar las grandes operaciones.
Préstamos Relámpago y Vulnerabilidades
Como se explicó anteriormente en crypto.news, un préstamo relámpago permite que los activos sean tomados prestados sin garantía previa, siempre que el préstamo y las tarifas sean reembolsados dentro de la misma transacción de blockchain. Si no se produce el reembolso, toda la transacción se revierte. Este mecanismo permite a los comerciantes acceder a grandes cantidades de liquidez temporal para arbitraje, intercambios de colateral y liquidaciones, pero también puede ser utilizado para explotar precios vulnerables o la lógica de contratos inteligentes.
En su análisis de Float Protocol, SlowMist atribuyó la pérdida a los contratos que dependían de un precio de mercado manipulable sin controles que pudieran verificarlo contra un precio promedio ponderado por tiempo o algún otro oráculo. Las funciones críticas también carecían de protección contra deslizamientos, según la firma de seguridad. SlowMist indicó que el atacante no se detuvo después de cambiar el precio del fondo de Uniswap V3. Una vez que slot0 había sido distorsionado, el atacante depositó y retiró repetidamente de los contratos afectados utilizando los cálculos inflados de participación de LP. Esta secuencia permitió extraer valor mientras los contratos dependían del estado manipulado del fondo.
Incidentes Relacionados
SlowMist estimó la pérdida final en aproximadamente 10.71 ETH, que valía alrededor de $28,000 en el momento de la alerta. Métodos similares han sido utilizados en otros ataques DeFi, donde grandes operaciones temporales distorsionan precios o proporciones de fondos antes de que otro contrato utilice los valores manipulados.
En julio, Allbridge Core fue detenido después de que un atacante utilizara un préstamo relámpago de $1.12 millones en USDC de Kamino durante una explotación que PeckShield estimó causó pérdidas de aproximadamente $1.65 millones. Onchain Lens reportó que el atacante de Allbridge realizó intercambios rápidos de USDC y USDT para cambiar la proporción dentro de un fondo de stablecoin. Luego, el atacante retiró liquidez a la tasa distorsionada antes de reembolsar el préstamo relámpago en la misma transacción.
Otro incidente en julio mostró cómo la información de precios manipulada puede ser utilizada incluso cuando la debilidad se encuentra fuera de los contratos inteligentes de un protocolo. Ostium concluyó que su explotación de $23.75 millones en USDC se originó en una infraestructura comprometida fuera de la cadena. El protocolo de comercio descentralizado dijo que un atacante presentó informes fraudulentos de precios BTC/USD que permitieron drenar fondos de su bóveda de liquidez OLP.
Conclusiones
Para Float Protocol, SlowMist identificó específicamente la ausencia de validación TWAP u oráculo como parte de la ruta de ataque. Un TWAP utiliza observaciones recopiladas a lo largo de un período en lugar de depender únicamente del precio disponible en un momento. Los precios de mercado dentro de los fondos de liquidez pueden moverse cuando un intercambio suficientemente grande cambia la proporción de activos, que fue el mecanismo que SlowMist dijo que el atacante de Float Protocol explotó.
La guía de préstamos relámpago de crypto.news describió la manipulación de precios como una de las formas comunes en que la liquidez temporal puede ser utilizada contra una aplicación DeFi vulnerable. El informe señaló que el préstamo relámpago proporciona el capital para un ataque, mientras que la debilidad explotable puede residir en oráculos de precios, sistemas de gobernanza o lógica de contratos. En el caso de Float Protocol, SlowMist indicó que se utilizaron grandes operaciones para distorsionar el valor de slot0 del fondo de Uniswap V3, lo que a su vez cambió currentTick y getTotalAmounts. El atacante depositó y retiró repetidamente mientras los contratos de Hypervisor afectados calculaban valores inflados de participación de LP, resultando en una pérdida estimada de 10.71 ETH.