Un error en OpenSea, el popular mercado de NFT, ha permitido que los hackers compren NFT raros por un valor muy por debajo del mercado, lo que en algunos casos genera pérdidas de cientos de miles de dólares para los propietarios originales, y cientos de miles de dólares en ganancias para los propietarios aparentes ladrones.
El error parece haber estado presente durante semanas y parece estar mencionado en al menos un tweet del 1 de enero de 2022. Pero la explotación del error se ha incrementado significativamente en el último día: la empresa de análisis de blockchain Elliptic informó que en un tramo de 12 horas antes de la mañana del 24 de enero, fue explotado al menos ocho veces para “robar” NFT con un valor de mercado de más de $1 millón.
Uno de los NFT, Bored Ape Yacht Club #9991, se compró mediante la técnica de explotación por 0,77 ETH (1760 USD) y se revendió rápidamente por 84,2 ETH (192 400 USD), lo que generó una ganancia neta para el atacante de más de $190,000 USD. Una dirección de Ethereum vinculada al revendedor había recibido más de 400 ETH ($904,000) en pagos de OpenSea en el mismo período de 12 horas.
“Es algo subjetivo si consideras que esto es una fuga o un error, pero el hecho es que las personas se ven obligadas a vender a un precio que de otro modo no habrían aceptado en este momento“, dijo Tom Robinson, científico jefe y co-fundador de Elliptic.
Según un hilo de Twitter del desarrollador de software Rotem Yakir, el error se debe a una falta de coincidencia entre la información disponible en los contratos inteligentes de NFT y la información presentada por la interfaz de usuario de OpenSea. Esencialmente, los atacantes se están aprovechando de contratos antiguos que persisten en la cadena de bloques pero que ya no están presentes en la vista proporcionada por la aplicación OpenSea.
Los usuarios de OpenSea venden NFT estableciendo un “precio de lista” para que lo vean los compradores potenciales. Debido a la naturaleza de los contratos inteligentes, si un comprador acepta ese precio de lista, el NFT se le transfiere automáticamente. Si un propietario desea volver a cotizar un NFT por un precio de venta más alto, la forma correcta de hacerlo es cancelar la primera cotización, lo que cuesta una “tarifa de gas” que puede ser de decenas o incluso cientos de dólares, por lo que algunos los usuarios habían eludido esto transfiriendo el NFT a otra billetera y luego de vuelta a la billetera original. Si bien esta técnica aparentemente eliminó la lista de la información en la pantalla frontal de OpenSea, la lista original permaneció activa en la cadena de bloques y supuestamente se podía encontrar a través de la API de OpenSea.
El error se descubrió el 31 de diciembre de 2021, según CoinDesk. Un tweet de hace casi tres semanas, el 12 de enero de 2022, detalla la venta forzada de NFT a través del mismo método.
No está claro si OpenSea está tratando la situación como una falla de seguridad abierta o como resultado de un error del usuario.
