🚨 ALERTA DE EXPLOITACIÓN: @spir8l_com drenado por ~10.7 $ETH
¿Causa raíz? Manipulación clásica de oráculos.
SpiralHookV2.borrow() confió en el precio spot de Uniswap V4 (poolManager.getSlot0()) sin TWAP ni comprobaciones de cordura. El atacante impulsó el valor del colateral, pidió prestado contra él y lo vendió—todo en un solo bloque.
El protocolo tenía una protección noSameBlockSwap, pero estaba basada en tx.origin. El atacante simplemente creó 6 EOA diferentes y la eludió como si ni siquiera estuviera allí.
EOA del atacante:
0x859E69A29244A10800A34eE66919426C02aFa2f0
Contrato de ataque:
0x0c23c8bc3b7c565f3f9f4ac691a4dc4275086f86
Contrato vulnerable:
0x1725577dC9B1ee2D95dB49c2193226471594aacc
Si tu protocolo usa el precio spot para algo crítico, estás a un bot MEV de convertirte en liquidez para salir.
TWAP o nada. Sin excepciones.
¿Causa raíz? Manipulación clásica de oráculos.
SpiralHookV2.borrow() confió en el precio spot de Uniswap V4 (poolManager.getSlot0()) sin TWAP ni comprobaciones de cordura. El atacante impulsó el valor del colateral, pidió prestado contra él y lo vendió—todo en un solo bloque.
El protocolo tenía una protección noSameBlockSwap, pero estaba basada en tx.origin. El atacante simplemente creó 6 EOA diferentes y la eludió como si ni siquiera estuviera allí.
EOA del atacante:
0x859E69A29244A10800A34eE66919426C02aFa2f0
Contrato de ataque:
0x0c23c8bc3b7c565f3f9f4ac691a4dc4275086f86
Contrato vulnerable:
0x1725577dC9B1ee2D95dB49c2193226471594aacc
Si tu protocolo usa el precio spot para algo crítico, estás a un bot MEV de convertirte en liquidez para salir.
TWAP o nada. Sin excepciones.