Un codificador experto se ha embolsado $ 8 millones al explotar un error de reentrada en el contrato inteligente oUSD de Origin Protocol.
OUSD es un nuevo token que rastrea el precio en dólares 1: 1 al estar respaldado con otras monedas estables como USDt.
El proyecto dice que este USDt y otros activos de monedas estables se envían a protocolos definidos para ganar intereses, con el token de oUSD libre para moverse o usarse mientras también gana el interés de los activos subyacentes.
Entonces, básicamente, esto es abstraer activos, dicen en Compuesto, dándoles un token de propiedad, con este token ahora libre de la carga de prestar / pedir prestado mientras disfruta del beneficio de los intereses.
Muy bien, excepto que hay un error de reentrada. Los ethereans de 2016 sabrán que estos errores son del tipo en el que, debido a un error de codificación, el contrato inteligente cree que tienes derecho a acuñar el token cuando en realidad no es así. El equipo dice, y citamos extensamente:
“El ataque fue un error de reentrada en nuestro contrato. Desafortunadamente, nuestro contrato estaba a salvo de errores de reentrada a menos que una de nuestras monedas estables compatibles nos estuviera atacando.
El atacante aprovechó un cheque de validación faltante en el múltiplo de menta (al acuñar OUSD con múltiples monedas estables) para pasar una "moneda estable" falsa bajo controlar. Esta "moneda estable" fue denominada "transferFrom" por la bóveda, lo que le permitió al hacker explotar el contrato con un ataque de reentrada en el medio de la menta.
El atacante pudo crear un evento de rebase dentro de la segunda menta después de los fondos se habían trasladado a OUSD desde la primera gran casa de moneda, pero antes de que aumentara la oferta de OUSD. Esto creó un rebase masivo para todos en el contrato, incluido el atacante. El atacante también recibió su primera moneda de OUSD grande, dándoles en total más OUSD que los activos del contrato.
El atacante retiró la mayoría de las monedas estables de OUSD.
Luego pudieron tomar OUSD extra después de retirarse y venderlo en Uniswap y Sushiswap por USDT en transacciones subsiguientes ”.
Explotación de errores de Flashloan de la moneda estable de Origen, noviembre de 2020
Este codificador se molestó en detenerse y recolectar tokens compuestos dado por proporcionar liquidez con algunas acciones emprendidas solo para recolectar $ 9 en activos / eth.
Así que la tarifa de transacción es de $ 250, un pequeño precio a pagar por los $ 8 millones que recibió gracias a unas pocas líneas de código. [19659002] Esos $ 8 millones han pasado en gran parte por el mezclador Tornado Cash y renBTC con el equipo suplicando al pirata informático que devuelva los fondos.
Algo que bien podría hacer en parte, devolviendo quizás $ 2 millones con el resto tal vez apostado ter solía financiar una especie de escuela de programación donde podía enseñar a los niños todo este genio en su yate.
Todo eso realmente gratis en la medida en que no necesitó por adelantado los 70,000 eth, $ 32 millones, ya que dYdX se los dio porque el código de flashloan obtuvo una ganancia considerable.
Significa inteligente los codificadores de contrato deben ser aún más cuidadosos ahora y deben borrar de la consideración el costo del ataque porque con los préstamos flash, el costo es prácticamente cero, excepto por la habilidad y el tiempo de codificación.
Imagen destacada cortesía del codificador Julien Bouteloup [19659020]