El 26 de junio de 2025, el protocolo de stablecoin Resupply desplegado en la red principal de Ethereum fue atacado, lo que resultó en la pérdida de aproximadamente $10 millones en activos. Debido a un problema en la implementación del oráculo de precios del contrato relevante, para los Markets de baja liquidez recién creados, el atacante pudo manipular el precio relativo (es decir, el tipo de cambio entre el activo prestado y el activo de colateral) del activo prestado (reUSD emitido por Resupply) mediante un ataque de donación, llevándolo a 0. Esto permitió al atacante eludir la verificación de salud de activos y tomar prestado una gran cantidad de reUSD para obtener beneficios.
Después de que BlockSec fuera el primero en la red en emitir públicamente una alerta temprana y proporcionar un análisis preliminar (Tweet1, Tweet2), Resupply publicó posteriormente también un anuncio oficial, pero no elaboró muchos detalles técnicos. Este artículo proporcionará un análisis más detallado. Por otro lado, tras el ataque, también hubo una intensa controversia en la comunidad entre el equipo del proyecto y sus partes interesadas. Este artículo profundizará y analizará las complejas relaciones ecológicas detrás del protocolo, para referencia de los lectores.
1. Contexto
1.1 Acerca del Protocolo Resupply
Resupply es un protocolo de stablecoin descentralizado que pertenece al ecosistema de Curve. La stablecoin emitida por Resupply se llama reUSD. Se trata de una stablecoin descentralizada respaldada por posiciones de deuda colateralizada (CDP), apoyada por otras stablecoins —incluyendo crvUSD y frxUSD— que generan intereses en mercados de préstamos en plataformas externas. Los usuarios pueden proporcionar crvUSD y frxUSD para tomar prestado reUSD, logrando la refinanciación de activos de stablecoin.

Específicamente, los usuarios pueden realizar operaciones relacionadas con préstamos en un Market de Resupply desplegado on-chain. La creación y el comportamiento de los Markets son gestionados a través del DAO. Cada Market especifica un Vault ERC-4626 como activo de colateral (collateral) y utiliza el activo correspondiente a ese Vault como subyacente. Los usuarios depositan colateral (el Vault o el activo del Vault) en el Market para tomar prestado reUSD.
Tomando como ejemplo el Market 0x6e90 y el Vault 0x0114 involucrados en este ataque, los activos (tokens) relevantes son los siguientes:
-
Market
0x6e90- subyacente: crvUSD
- colateral: cvcrvUSD (es decir, Vault
0x0114) - prestado: reUSD
-
Vault
0x0114- activo: crvUSD (almacenado en realidad en el Curve LlamaLend Controller, que también es un Market)
- colateral: wstUSR
- prestado: crvUSD
- participación: cvcrvUSD (el token ERC-4626 emitido por el Vault)
En otras palabras, los usuarios pueden pignorar una cierta cantidad de cvcrvUSD (o crvUSD, que en la práctica será convertido a cvcrvUSD a través del Vault) en este Market para tomar prestado reUSD.

1.2 ¿Cómo determina el sistema si un usuario es elegible para tomar prestado un activo?
De manera similar a los protocolos de préstamos en general, el Market de Resupply también realizará una verificación de salud de activos en la posición de un usuario (mediante el modificador isSolvent).

El isSolvent finalmente llama a la función _isSolvent, que verifica el LTV (relación préstamo-valor), requiriendo que la relación entre el activo prestado y el activo de colateral no supere el valor máximo establecido por el sistema (_ltv <= maxLTV).
Se puede observar que el cálculo del LTV depende del tipo de cambio (_exchangeRate), es decir, el precio (relación de intercambio) del activo prestado en relación con el activo de colateral.
2. Análisis del Ataque
2.1 Análisis de la Causa Raíz
Desde la perspectiva del código del contrato, la causa clave del ataque fue que la implementación del oráculo de precios del Market de Resupply tenía un problema. Para los Markets de baja liquidez recién creados, el atacante podía manipular el tipo de cambio mediante un ataque de donación, eludiendo así la verificación de salud y tomando prestado una gran cantidad de reUSD para obtener beneficios.
¿Cómo se calcula el tipo de cambio?

La fórmula es la siguiente:

Evidentemente, si getPrices devuelve un precio mayor que 1e36, el redondeo hacia abajo de la división entera resultará en _exchangeRate = 0.
¿Cómo manipular el precio?

De acuerdo con el código, el precio puede calcularse de la siguiente manera:


Dado que el código establece precision = 1, DEAD_SHARES = 1000 y shares = 1e18.

Finalmente, tras sustituir las variables, la fórmula de cálculo del precio es la siguiente:

Se puede observar que para amplificar el valor de price, la clave es ampliar la diferencia entre total_assets y totalSupply, haciendo que total_assets sea extremadamente grande mientras totalSupply permanece muy pequeño. En la implementación real del protocolo Resupply, total_assets en la fórmula depende del subyacente (crvUSD), y totalSupply depende de las participaciones (cvcrvUSD) correspondientes a la liquidez total del Market. Este es precisamente el escenario clásico del ataque de donación.
2.2 Análisis de la Transacción del Ataque
De acuerdo con la transacción del ataque [4], se puede analizar que el atacante realizó los siguientes pasos principales:
-
Tomó prestados 4,000 USDC mediante préstamo flash y los intercambió por 3,999 crvUSD.
-
Donó 2,000 crvUSD al Controller
0x8970. Antes de la donación, el Controller0x8970tenía 0 crvUSD. Después de la donación, la cantidad registrada de crvUSD pasó a ser2000000000000000000000(con 18 decimales). -
Depositó aproximadamente 2 crvUSD en el Vault
0x0114y recibió 1 participación (cvcrvUSD). En este punto, la cantidad registrada de crvUSD era2002000000000000000001(con 18 decimales). -
Agregó 1 unidad (es decir, 1 participación del Vault
0x0114) de colateral al Market0x6e90. -
Tomó prestados 10,000,000 reUSD del Market
0x6e90. En este punto,_exchangeRate = 0, lo que resultó en_ltv = 0, por lo que la verificación_isSolventfue aprobada.

¿Por qué _exchangeRate era igual a 0? Porque a través de los pasos anteriores, el atacante manipuló el contrato para alcanzar el siguiente estado:

Recordando el método de cálculo del tipo de cambio:

Dado que price > 1e36, _exchangeRate = 0.
- Intercambió el reUSD prestado para obtener beneficios.
3. Lecciones Aprendidas
El Market atacado en Resupply utilizó una implementación de oráculo de precios similar al contrato plantilla de Curve.

Sin embargo, la documentación oficial de Curve ya había indicado el alcance de aplicabilidad de esta implementación — lamentablemente, Resupply no pareció tomar en consideración esta advertencia de aplicabilidad en su despliegue.
4. Relaciones y Controversia en la Comunidad
4.1 Red de Relaciones Complejas de los Cinco Principales Proyectos del Ecosistema Curve
Para comprender el impacto más profundo del incidente de Resupply, primero debemos observar las complejas relaciones entre los cinco protocolos principales dentro del ecosistema de Curve.

Curve Finance es el núcleo de todo el ecosistema, proporcionando pools de liquidez, crvUSD y el protocolo LlamaLend, que sustentan las operaciones de Resupply, Prisma, Convex y Yearn. Convex optimiza el rendimiento de Curve a través del staking y la gobernanza, y proporciona mecanismos de recompensa adicionales para Prisma y Resupply. Prisma depende de los tokens LP de Curve y de las funciones de mejora de rendimiento de Convex, mientras que Resupply se basa directamente en el LlamaLend de Curve para emitir reUSD y fue desarrollado conjuntamente por Convex y Yearn. Yearn no solo optimiza los rendimientos de los pools de Curve, sino que también impulsó el desarrollo de Resupply a través de la colaboración con Convex.
Curve Finance: Como plataforma central, los pools de liquidez de Curve (como el pool de crvUSD) y el protocolo LlamaLend son utilizados directamente por Resupply para emitir reUSD, por Prisma para hacer staking de tokens LP, por Yearn para la optimización de rendimiento y por Convex para la votación de gobernanza.
Convex: Convex es el protocolo de mejora de rendimiento de Curve. Los usuarios pueden hacer staking de tokens LP de Curve para ganar mayores recompensas de CRV, así como tokens CVX de Convex. Convex controla casi el 50% del poder de voto de gobernanza de Curve y proporciona mecanismos de mejora de rendimiento para Prisma y Resupply.
Prisma: Prisma hace staking de los tokens LP de Curve, y los usuarios obtienen recompensas mejoradas (cvxPRISMA) a través de Convex. Prisma depende de la liquidez de Curve y de los mecanismos de rendimiento de Convex.
Yearn: Yearn es un agregador de rendimiento que ofrece a los usuarios altos retornos optimizando los rendimientos de los tokens LP de Curve (mejorados mediante Convex). Yearn colaboró con Convex para desarrollar Resupply y utiliza ampliamente los pools de Curve en sus estrategias de rendimiento.
Resupply: Desarrollado conjuntamente por Convex y Yearn, permite a los usuarios tomar prestado reUSD al pignorar stablecoins como crvUSD, y automáticamente hace staking de tokens en Convex para ganar recompensas de CRV y CVX, formando un ciclo de optimización de rendimiento.
4.2 Controversia e Impacto
Sin embargo, cuando Resupply fue atacado, esta compleja red de relaciones se convirtió de inmediato en el foco de la controversia. El fundador de Curve, Michael Egorov, rápidamente se distanció de Resupply, enfatizando:
"No hay una sola persona de Curve trabajando en ese proyecto… por favor no generalicen a Curve."

Esta declaración de desvinculación reflejó cómo las intrincadas relaciones de cooperación dentro del ecosistema DeFi pueden ser frágiles en tiempos de crisis.
Estos proyectos interrelacionados forman juntos un ecosistema altamente acoplado — en un sistema así, cualquier problema en un eslabón puede desencadenar una reacción en cadena. Por lo tanto, no es sorprendente que el incidente del ataque a Resupply generara una amplia discusión en la comunidad sobre la interdependencia de protocolos y la seguridad.
5. Reflexiones Adicionales
5.1 Cronología
-
17 de mayo de 2025: La dirección oficial de Resupply
0x1f84desplegó un nuevo Market de LlamaLend a través de Curve's OneWay Lending Factory.- El Market utilizó crvUSD como activo de préstamo y wstUSR como token de colateral.
- El contrato Vault ERC-4626 era
0x0114, y el Controller correspondiente era0x8970.
-
31 de mayo de 2025: Se publicó una nueva propuesta wstUSR-long LlamaLend Market en la página de gobernanza de Resupply. Esta propuesta tenía como objetivo permitir a los usuarios acuñar reUSD a través del Market de LlamaLend.
-
11 de junio de 2025: La propuesta fue publicada on-chain.
-
26 de junio de 2025, 00:18:47 (UTC): La propuesta fue aprobada, y la dirección oficial de Resupply
0x0417desplegó un nuevo ResupplyPair (es decir, el Market Resupply crvUSD/wstUSR)0x6e90, vinculando el Vault0x0114y el Controller0x8970.- Vinculó el Vault 0x0114 y el Controller 0x8970.
- Utilizó la posición de deuda colateralizada del Vault (es decir, cvcrvUSD, con crvUSD como subyacente) como colateral.
-
26 de junio de 2025, 01:53:59 (UTC): Aproximadamente 1,5 horas después del despliegue del Market
0x6e90, el atacante ejecutó exitosamente el exploit. Al mismo tiempo, BlockSec detectó el ataque e intentó contactar al equipo del proyecto. -
26 de junio de 2025, 02:26 (UTC): Tras no poder contactar al equipo y confirmar que no había más pérdidas, BlockSec emitió una advertencia pública.
-
26 de junio de 2025, 02:53:23 (UTC): El equipo del proyecto pausó el protocolo.
5.2 Si Hubiera Existido Phalcon, la Tragedia Podría Haberse Evitado

BlockSec Phalcon Security representa el último avance en la protección de seguridad DeFi. Al monitorear transacciones en la etapa de mempool, Phalcon es capaz de identificar patrones anómalos en el instante en que una transacción de ataque ingresa al mempool.
El sistema, impulsado por un motor de análisis inteligente, integra más de 200 firmas de ataques típicos. En los últimos seis meses, ha mantenido una tasa de falsos positivos ultraBaja de menos del 0,0001%, logrando una detección de amenazas verdaderamente precisa.
El sistema aprovecha una estrategia propietaria de puja de gas para garantizar que la transacción de defensa supere en velocidad a la transacción de ataque, mientras activa automáticamente la función de pausa de emergencia del protocolo.
Todo el proceso de respuesta admite múltiples modos de control de permisos — incluyendo carteras EOA y multisig — proporcionando soluciones de seguridad flexibles para diferentes tipos de protocolos.
Si Resupply hubiera integrado el sistema Phalcon al desplegar el Market, el ataque podría haberse evitado por completo
Dentro de las 1,5 horas posteriores al despliegue del Market 0x6e90, el sistema Phalcon habría detectado automáticamente el nuevo despliegue del Market, analizado inteligentemente sus parámetros de configuración e identificado el riesgo potencial de un ataque de donación.
El sistema habría enviado inmediatamente una alerta de riesgo al equipo del proyecto, sugiriendo agregar protección de liquidez inicial o ajustar los parámetros relevantes.
Incluso después de que el ataque ocurriera, desplegar Phalcon seguiría aportando un valor enorme para Resupply y todo el ecosistema de Curve
Un sistema de monitoreo transparente en tiempo real demuestra a los usuarios y a la comunidad el firme compromiso del equipo del proyecto con la seguridad, y el mecanismo de protección continua 24/7 garantiza que incidentes similares nunca vuelvan a ocurrir. Los datos públicos de monitoreo de seguridad mejoran la transparencia del proyecto y sirven como un medio crítico para reconstruir la confianza de la comunidad. Para los proyectos afectados, adoptar proactivamente una solución de seguridad de primer nivel demuestra su sentido de responsabilidad por la seguridad de los fondos de los usuarios, y asociarse con un líder de la industria como BlockSec también proporciona un fuerte respaldo para la reputación del proyecto en el campo de la seguridad.
En la actualidad, más de $50 mil millones en activos han elegido confiar en la protección de Phalcon. Hemos detenido con éxito más de 20 ataques de hackers en el mundo real, ahorrando más de $20 millones en pérdidas de activos. En los últimos seis meses, el sistema ha mantenido un registro perfecto de precisión de detección y ha alcanzado velocidades de respuesta en milisegundos, siempre un paso por delante de los atacantes. Phalcon actualmente soporta más de 20 redes blockchain principales, incluyendo Ethereum, BSC y Arbitrum, proporcionando una protección de seguridad integral y multicadena para el ecosistema DeFi.
La pérdida de $10 millones de Resupply y otros incontables incidentes de ataques nos dicen que en el mundo DeFi, la seguridad no es una opción — es una necesidad para la supervivencia.
No esperes al próximo ataque para arrepentirte. Despliega ahora la protección de seguridad más sólida para tu protocolo.
El equipo de expertos de BlockSec está listo para realizar una evaluación de seguridad integral para tu proyecto.
🔗 Phalcon Security APP:
https://blocksec.com/phalcon/security
🔗 Reserva una demo:



