El mercado de los NFTs ha crecido exponencialmente en los últimos años siendo OpenSea uno de los principales mercados globales, que reportó más de 3 billones de dólares en volumen de compraventas en agosto de 2021. Este desarrollo de los mercados ha atraído a muchos famosos y entusiastas interesados en hacerse con una participación en los NFTs. Por desgracia, el éxito de los NFTs no solo ha atraído a usuarios sino también a malhechores que buscan robar estos activos aprovechando vulnerabilidades en la tecnología que permite su comercialización mediante un marketplace.

¿Cómo funciona un Allowance?

Para poder comercializar un NFT en un mercado o marketplace es necesario dar permiso a un smart contract, en este caso de OpenSea, para que pueda interactuar con la blockchain y el activo que poseemos cuando un comprador interesado quiera adquirir el activo. La seguridad de esta función de allowance (asignación o delegación en español) reside en que sólo el dueño original del NFT puede dar su permiso firmando con su clave privada la transacción correspondiente. Normalmente este proceso se lleva a cabo mediante Metamask desde la página de OpenSea y genera un contrato nuevo que podemos llamar “user proxy, que es el que se encarga de interactuar en la negociación de los activos del usuario en el marketplace.

¿Cómo es posible ‘robar’ un NFT?

Si bien la delegación de permisos no es un problema de seguridad para los usuarios, hay más elementos que interactúan en el proceso de negociación de un NFT. El protocolo Wyvern usado por OpenSea permite crear órdenes para las transacciones que se deben realizar cuando se hace una compraventa de un NFT(envío de fondos, pago de comisiones, traspaso del NFT, etc.). Este protocolo verifica que el creador de la orden sea auténtico y posea el activo con su firma.

Sin embargo, es posible crear órdenes (y enviarlas) desde fuera de OpenSea. Este es uno de los elementos claves del exploit, ya que el scammer usa un contrato inteligente para desencadenar el robo del activo aprovechando una vulnerabilidad en todo este proceso. Además, lo más alarmante es que en algunos casos los hackers han sido capaces de hacerse con todos los NFTs de la wallet del usuario de alguna forma aprovechando algún proceso relacionado al Atomizer de Wyvern. 

 

Vídeo que analiza en profundidad lo ocurrido detrás de este exploit mediante el protocolo Wyvern que usa OpenSea (en inglés)

Por desgracia, todo esto es posible sólo porque el dueño original del NFT firmó en algún momento una transacción relacionada con alguno de los smart contracts del hacker - fuera de OpenSea, ya sea mediante phishing o alguna otra técnica de ingeniería social

¿Son seguros los marketplaces?

Las tecnologías relacionadas con los NFTs son relativamente nuevas y aún quedan patrones de seguridad que se deben mejorar. Sin embargo, al menos en este caso, el exploit fue posible porque los usuarios firmaron transacciones fuera de OpenSea con los mismos wallets en los cuales tenían los NFTs de arte. Por seguridad, se recomienda usar un wallet para cada NFT cuando sea posible y no firmar ninguna transacción externa a OpenSea. Además, en caso de sospechar de posibles intentos de scam, es posible retirar las aprobaciones firmadas con nuestros wallets por medio de Etherscan.

Te puede interesar:

Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión