Saltar al contenido
Est. MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archivo de incidentes de seguridad en criptomonedas — hackeos, exploits, fallos de puentes y rug pulls, documentados con evidencia on-chain.

Expediente № 124Ataque con flash loan

EmergencyWithdraw en Platypus Finance

$8,5 M drenados de Platypus en Avalanche vía exploit de préstamo flash de emergencyWithdraw(), retirando colateral en stake antes del reembolso.

Fecha
Cadena(s)
Estado
Parcialmente recuperado

El 16 de febrero de 2023, el AMM de stablecoins en Avalanche Platypus Finance fue explotado por aproximadamente $8,5 millones mediante un ataque de préstamo flash a una función emergencyWithdraw() mal implementada. El exploit también rompió la paridad de la stablecoin USP de Platypus, que cayó más del 66% por debajo de $1.

Qué ocurrió

El contrato PlatypusTreasure de Platypus permitía a los usuarios depositar tokens LP como colateral y pedir prestado USP, la stablecoin nativa del protocolo, contra ellos. El contrato que mantenía el colateral incluía una función emergencyWithdraw() destinada a que los usuarios pudieran recuperar su stake durante una emergencia del protocolo.

La falla fatal: emergencyWithdraw() no verificaba si el usuario tenía algún préstamo pendiente contra su colateral antes de liberarlo. La suposición de solvencia del protocolo — que nadie podría retirar colateral mientras debiera USP — fue silenciosamente rota por esta única función.

El ataque:

  1. El atacante tomó un préstamo flash de $44 M en USDC de Aave.
  2. Depositó el USDC en el pool de Platypus, recibiendo tokens LP.
  3. Hizo stake de los tokens LP en MasterPlatypusV4, registrándose como depositante.
  4. Pidió prestado el máximo — 95% del valor en stake — en USP desde PlatypusTreasure.
  5. Llamó a emergencyWithdraw() para retirar los tokens LP en stake sin reembolsar el préstamo.
  6. Retiró el USDC subyacente de la posición LP, reembolsó el préstamo flash y se marchó con el USP prestado más beneficio.

El USP prestado se vendió por activos reales, despegando USP en el proceso.

Consecuencias

  • Platypus pausó todas las operaciones de pool inmediatamente y ofreció al atacante una recompensa white-hat.
  • La billetera del atacante fue identificada en horas; los investigadores la rastrearon a través de Tornado Cash a un depósito en Curve y finalmente a un ciudadano francés que fue arrestado en Francia en cuestión de días. Las fuerzas del orden francesas confiscaron aproximadamente $7,3 M de los fondos robados.
  • Platypus publicó un post-mortem detallado y reanudó operaciones meses después bajo un modelo de solvencia rediseñado.

Por qué importa

Platypus es un caso impactante de cuán rápido pueden moverse las forenses on-chain + las fuerzas del orden tradicionales cuando un atacante comete errores operativos. También es una ilustración limpia de que las funciones "de emergencia" no están exentas de los invariantes de solvencia del protocolo — cada función que muta saldos de usuarios, incluidas las destinadas a modos de fallo elegantes, debe ejecutar las mismas comprobaciones de salud que las funciones de ruta normal. Euler Finance perdió $197 M por un error estructuralmente idéntico al mes siguiente.

Fuentes y evidencia on-chain

  1. [01]medium.comhttps://medium.com/immunefi/hack-analysis-platypus-finance-february-2023-d11fce37d861
  2. [02]numencyber.comhttps://www.numencyber.com/platypus-finance-project-hit-by-8-5m-flash-loan-attack/
  3. [03]blockapex.iohttps://blockapex.io/platypus-finance-hack-analysis/

Registros relacionados