El 26 de junio de 2025, el protocolo de préstamos DeFi Resupply — integrado con los ecosistemas Convex y Yearn — fue drenado por aproximadamente $9,8 millones en menos de 90 minutos. El atacante aprovechó un clásico ataque por donación ERC-4626 combinado con una implementación defectuosa de bóveda. La bóveda objetivo había sido desplegada solo 2 horas antes del exploit y tenía un valor insignificante — exactamente las condiciones que requiere el ataque por donación. Un préstamo flash de $4.000 se convirtió en un atraco multimillonario.
Qué ocurrió
Resupply permitía a los usuarios pedir prestada su stablecoin reUSD contra varios activos depositados. El protocolo usaba tokens de bóveda ERC-4626 para representar los depósitos de los usuarios — un patrón estándar donde el precio de participación de la bóveda se calcula como totalAssets / totalSupply.
El ataque por donación ERC-4626 es una clase de vulnerabilidad bien documentada que explota un caso límite crítico:
- Cuando una bóveda tiene suministro total muy bajo o cero de participaciones, donar tokens directamente al contrato de la bóveda (saltándose la función de depósito) puede inflar masivamente el precio de participación.
- Un atacante puede entonces depositar una cantidad diminuta, recibir participaciones mínimas debido al precio inflado, y manipular el tipo de cambio a cero mediante división entera — saltándose comprobaciones de solvencia que dependen de cálculos de precio-por-participación.
El ataque:
- Apuntó a la bóveda wstUSR — una bóveda Resupply recién desplegada que había estado activa solo 2 horas y tenía esencialmente cero valor.
- Tomó un préstamo flash de $4.000 para el capital operativo.
- Donó tokens directamente a la bóveda wstUSR, inflando su
totalAssetssin mintear nuevas participaciones. - El cálculo de precio-por-participación de la bóveda fue a valores extremos — y mediante errores de división entera en las matemáticas de Solidity, finalmente a cero.
- Con el tipo de cambio en cero, las comprobaciones de solvencia de Resupply pasaban cualquier operación de préstamo — el protocolo creía que el colateral del atacante valía infinitamente más que la deuda que se estaba creando.
- Pidió prestados millones en reUSD contra esencialmente un wei de colateral, luego intercambió el reUSD por crvUSD y ETH a través de agregadores DEX.
Robo neto: aproximadamente $9,6-9,8 millones. 2.280 ETH fueron puenteados a Tornado Cash en horas del drenaje.
Consecuencias
- Resupply pausó las operaciones de bóveda afectadas cuando se detectó el exploit.
- El equipo publicó un post-mortem identificando la bóveda wstUSR recién desplegada como el punto de entrada.
- Sin recuperación pública — los fondos fueron blanqueados a través de Tornado Cash en el mismo día.
Por qué importa
El incidente de Resupply es uno de los casos más claros de por qué las bóvedas ERC-4626 recién desplegadas son categóricamente peligrosas. La vulnerabilidad del ataque por donación ha sido documentada desde al menos 2021 — OpenZeppelin publicó advertencias explícitas, las firmas de auditoría la incluyen en listas de verificación estándar, y las mitigaciones canónicas (minteo inicial de dead-shares, offset de participaciones virtuales) son bien conocidas.
Las condiciones que hicieron a Resupply vulnerable:
- Bóveda desplegada sin depósito inicial protector — el atacante encontró la bóveda en su estado "vacío" donde la manipulación por donación es matemáticamente devastadora.
- Sin offset de participaciones virtuales — el patrón de "participaciones virtuales" de Uniswap V4 / Solady que endurece contra ataques por donación no fue implementado.
- Sin verificación de invariante en tiempo de despliegue — el script de despliegue del protocolo no sembró cada nueva bóveda con el pequeño depósito dead-share que habría neutralizado el ataque.
La lección estructural es operativamente simple: cada nuevo despliegue de bóveda ERC-4626 debe incluir un depósito inicial protector, idealmente bloqueado permanentemente a una dirección quemada o multi-sig de DAO. La solución es una transacción en el momento del despliegue. Saltársela costó a Resupply $9,8 M.
El patrón se repite a lo largo de la historia DeFi — Hundred Finance, Sonne Finance, Onyx Protocol — y continúa produciendo pérdidas para protocolos que despliegan forks de Compound v2 o implementaciones ERC-4626 sin las mitigaciones bien documentadas. El coste acumulado de saltarse el patrón de depósito inicial es, a estas alturas, bien dentro de los cientos de millones.
Fuentes y evidencia on-chain
- [01]nabilech.comhttps://nabilech.com/resupplyfi-rekt-how-a-4k-flash-loan-led-to-a-9-8m-erc-4626-donation-attack/
- [02]halborn.comhttps://www.halborn.com/blog/post/explained-the-resupply-hack-june-2025
- [03]decrypt.cohttps://decrypt.co/327148/hacker-drained-9-6-million-from-defi-stablecoin-protocol-resupply