El protocolo de préstamos DeFi Scallop en la red Sui publicó en la cuenta oficial de X (@Scallop_io) una notificación de incidente de seguridad, confirmando que el plataforma fue atacada. Scallop afirmó que el equipo descubrió que un contrato lateral (side contract) relacionado con el pool de recompensas de sSUI fue explotado, lo que provocó una pérdida de aproximadamente 150.000 SUI. Scallop subrayó que el contrato afectado ya ha sido congelado; el contrato principal sigue siendo seguro, y solo el pool de recompensas de sSUI quedó afectado.
En una actualización posterior, Scallop explicó además: «El contrato principal ya se ha descongelado y todas las operaciones se han restablecido. Este problema no tiene relación con el protocolo principal; se limita a un contrato de recompensas ya abandonado. Los depósitos de los usuarios no se vieron afectados; todos los fondos están a salvo y la funcionalidad de depósitos y retiros ha sido restablecida a la normalidad». El equipo se comprometió a compartir más detalles y a seguir monitoreando y reforzando la seguridad del protocolo.
Ex miembro central de NEAR Vadim: el problema estaba en el paquete antiguo de hace 17 meses
En relación con este incidente, el ex desarrollador principal de NEAR Vadim (@zacodil) publicó en X un análisis técnico en profundidad que revela los detalles de la vulnerabilidad. Vadim señaló que el atacante sabía exactamente qué paquete abandonado llamar. «No era el código que se está ejecutando actualmente, ni una ruta de SDK, sino una V2 antigua de noviembre de 2023, que llevaba meses sin usarse. O bien esto requiere una ingeniería inversa profunda, o bien alguien ya sabía exactamente qué buscar. Esta vulnerabilidad ha estado latente durante 17 meses.
Vadim explicó que spool rastrea un índice que crece con la asignación de recompensas. En el momento del staking, cada cuenta de usuario debería registrar last_index; así, la fórmula para calcular los puntos ganados es: cantidad en staking × (current_index − last_index), por lo que los usuarios solo pueden ganar recompensas desde el momento en que entraron.
Pero en el paquete V2 abandonado, al crear una spool_account completamente nueva, last_index no se inicializa y se mantiene en 0. Por lo tanto, cuando se ejecuta update_points, el resultado del cálculo se convierte en: puntos = cantidad en staking × (current_index − 0) = cantidad en staking × índice histórico completo. Los usuarios fueron acreditados con todas las recompensas acumuladas desde que se creó el spool en agosto de 2023.
Vadim proporcionó datos concretos: el índice de spool creció hasta 1.19 millones de millones en 20 meses. El atacante hizo staking de 136.000 sSUI y de inmediato obtuvo un registro de 162 billones de puntos. Debido a que el pool de recompensas usa una conversión 1:1 (numerador y denominador son 1), esos 162 billones de puntos se convirtieron directamente en recompensas por valor de 16,2万枚 de SUI. Pero el pool de recompensas solo tenía 150.000 SUI, por lo que se drenó por completo.
Todos los incidentes de seguridad on-chain de abril ocurrieron en sistemas periféricos
Vadim explicó que los usuarios normales usan el SDK para utilizar el paquete nuevo, y el paquete nuevo ya corrige el problema de sincronización de last_index. El motivo por el cual el paquete V2 antiguo aún permanece en la cadena es que los paquetes de Sui son inmutables. —Una vez publicado, cada versión antigua quedará para siempre disponible y podrá llamarse. Los objetos Spool compartidos y RewardsPool aceptan llamadas provenientes de cualquier versión; el atacante elude el SDK y golpea directamente la ruta de código de la versión antigua.
Vadim lo clasificó como una «vulnerabilidad de paquetes obsoletos en Sui». Señaló que la corrección adecuada requiere agregar un campo de versión a los objetos compartidos y añadir una comprobación assert!(version == CURRENT_VERSION) en cada función. Sin este mecanismo, cada versión de paquete publicada en el pasado seguirá siendo para siempre un área de ataque viva.
Vadim también destacó que la mayoría de los incidentes de ataque de este mes no ocurrieron en el código del protocolo central, sino en sistemas periféricos:
KelpDAO:infraestructura RPC
Litecoin:capa de privacidad MWEB
Aethir:control de acceso del adaptador periférico
Scallop:el paquete antiguo olvidado
Este artículo de Sui sobre el hack del protocolo DeFi de préstamos Scallop, con la vulnerabilidad del contrato antiguo que causó el robo de 150.000 SUI, apareció primero en ABMedia, en la sección de noticias de la cadena.
Related News
Aave, DeFi United lanza el plan de recuperación de rsETH después del exploit del 18 de abril
Rescate de vulnerabilidad de Kelp DAO: Mantle prepara la versión tokenizada de Aave 3 millones de ETH, el consorcio DeFi promete más de 43.500 ETH
La DAO de CoW propone compensar a las víctimas del secuestro del dominio de cow.fi, hasta el 100% del importe de la pérdida
EtherFi propone inyectar 5000 ETH en el fondo de rescate de rsETH para evitar que se propague la morosidad en el ecosistema DeFi
Ether.fi lanza el canal de salida de aWETH; la salida de fondos de Aave supera los 16.200 millones de dólares