Back to Blog

El Breve Análisis del Ataque de Préstamo Relámpago al APE AirDrop

Code Auditing
March 17, 2022
4 min read
(pic is from The creators of Bored Ape Yacht Club unveil ApeCoin crypto token (lifestyleasia.com))
(pic is from The creators of Bored Ape Yacht Club unveil ApeCoin crypto token (lifestyleasia.com))

Según lo reportado por Will Sheehan, el token APE fue atacado por el MEVor. Tras el análisis, creemos que se debe a la vulnerabilidad de que el proceso de AirDrop del token APE solo considera el estado puntual, el cual puede ser manipulado por el atacante.

En particular, el atacante puede pedir prestado tokens BYAC que pueden canjearse por NFTs, y luego usar estos NFTs para reclamar el AirDrop. Después de eso, el atacante acuña los tokens BYAC usando los NFTs de BYAC para devolver el préstamo flash. Sin embargo, el atacante obtuvo los tokens APE del AirDrop a través de este proceso. Creemos que esto es similar al ataque de manipulación de precios basado en préstamos flash, donde un contrato solo considera el precio puntual de un activo (que puede ser manipulado).

A continuación, utilizaremos la transacción del ataque para ilustrar este proceso.

Paso I: preparar el NFT para la comisión del préstamo flash

El atacante transfirió 1060 NFT al contrato de ataque 0x7797. Nótese que este NFT no fue tomado en préstamo flash, sino que fue comprado con 106 ETH.

Paso II: Pedir prestado tokens BYAC mediante préstamo flash

Paso III: Usar el NFT para reclamar los tokens APE

Nótese que, durante este proceso, el atacante tenía seis NFTs. Uno es el 1060 que compró, y cinco que fueron canjeados usando los tokens BYAC prestados (en el paso II). En total, obtuvo 60,564 tokens APE.

Paso IV: Acuñar el NFT para obtener tokens BYAC

El atacante acuñó los seis NFTs para obtener los tokens BYAC. Nótese que el atacante también acuñó su propio NFT (1060) para pagar las comisiones del préstamo flash. Dado que aún quedaban tokens BYAC después de devolver el préstamo flash (ya que acuñó su propio NFT BYAC 1060), el atacante intercambió los tokens BYAC restantes por alrededor de 14 ETH.

Ganancia

En total, el atacante obtuvo 60,564 tokens APE, que valían alrededor de 5M USD (en el momento de escribir este blog). El costo fue un NFT (106 ETH - 14 ETH), lo que equivale a aproximadamente 270K USD.

Lecciones

Creemos que el problema aquí es que el AirDrop del token APE solo considera el estado puntual de si alguien posee los NFTs. Esto es frágil ya que el atacante puede manipular el estado puntual usando préstamos flash. Si el costo del préstamo flash es menor que el valor del token del AirDrop, entonces se crea una oportunidad de ataque como la que se ha mostrado en el ataque.

Créditos

Créditos a Will Sheehan, quien reportó la transacción.

Acerca de BlockSec

BlockSec es una empresa pionera en seguridad blockchain establecida en 2021 por un grupo de expertos en seguridad de renombre mundial. La empresa está comprometida con mejorar la seguridad y la usabilidad para el emergente mundo Web3 con el fin de facilitar su adopción masiva. Con este fin, BlockSec ofrece servicios de auditoría de seguridad para contratos inteligentes y cadenas EVM, la plataforma Phalcon para el desarrollo de seguridad y el bloqueo proactivo de amenazas, la plataforma MetaSleuth para el rastreo e investigación de fondos, y la extensión MetaDock para que los constructores de web3 naveguen eficientemente en el mundo cripto.

Hasta la fecha, la empresa ha prestado servicios a más de 300 distinguidos clientes como MetaMask, Uniswap Foundation, Compound, Forta y PancakeSwap, y ha recibido decenas de millones de dólares en dos rondas de financiación de inversores prominentes, incluyendo Matrix Partners, Vitalbridge Capital y Fenbushi Capital.

Sitio web oficial: https://blocksec.com/

Cuenta oficial de Twitter: https://twitter.com/BlockSecTeam

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit