Análisis del evento de ataque de flash loan a Cellframe Network
El 1 de junio de 2023 a las 10:07:55 (UTC+8), Cellframe Network fue atacado por hackers en la cadena inteligente debido a un problema de cálculo de la cantidad de tokens durante el proceso de migración de liquidez. Este ataque resultó en ganancias de aproximadamente 76,112 dólares para los hackers.
Causa raíz del ataque
El problema en los cálculos durante el proceso de migración de liquidez es la causa fundamental de este ataque.
Detalles del proceso de ataque
El atacante primero obtiene 1000 BNB y 500,000 tokens New Cell a través de un Flash Loan. Luego, intercambia todos los tokens New Cell por BNB, lo que provoca que la cantidad de BNB en el pool se acerque a cero. Finalmente, intercambia 900 BNB por tokens Old Cell.
Cabe destacar que el atacante añadió liquidez de Old Cell y BNB antes de llevar a cabo el ataque, obteniendo Old lp.
A continuación, el atacante llama a la función de migración de liquidez. En este momento, casi no hay BNB en la nueva piscina y casi no hay tokens Old Cell en la piscina antigua.
El proceso de migración incluye los siguientes pasos:
Retirar la liquidez antigua y devolver la cantidad correspondiente de tokens a los usuarios
Agregar nueva liquidez según la proporción de los nuevos fondos
Debido a que en el viejo pool casi no hay tokens de Old Cell, la cantidad de BNB obtenida al retirar liquidez aumenta, mientras que la cantidad de tokens de Old Cell disminuye. Esto provoca que los valores de Resoult y Token1 aumenten.
Los usuarios solo necesitan agregar una pequeña cantidad de BNB y el token New Cell para obtener liquidez, el BNB adicional y el token Old Cell se devolverán a los usuarios.
Por último, el atacante elimina la liquidez del nuevo grupo y cambia los tokens Old Cell devueltos por BNB. En este momento, hay una gran cantidad de tokens Old Cell en el grupo antiguo pero no hay BNB, el atacante vuelve a cambiar los tokens Old Cell por BNB, completando así las ganancias. Luego, el atacante repite la operación de migración.
Resumen y Sugerencias
Al realizar la migración de liquidez, se debe considerar de manera integral el cambio en la cantidad de los dos tokens en los nuevos y viejos pools, así como el precio actual de los tokens. Calcular directamente según la cantidad de las dos monedas en el par de trading puede ser fácilmente manipulado.
Además, para garantizar la seguridad, el equipo del proyecto debe llevar a cabo una auditoría de seguridad completa antes de lanzar el código. Esto no solo puede ayudar a identificar posibles vulnerabilidades, sino que también puede aumentar la seguridad y fiabilidad del sistema en general.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Cellframe Network sufrió un ataque de flash loan, una vulnerabilidad de migración de liquidez causó pérdidas de 76,112 dólares.
Análisis del evento de ataque de flash loan a Cellframe Network
El 1 de junio de 2023 a las 10:07:55 (UTC+8), Cellframe Network fue atacado por hackers en la cadena inteligente debido a un problema de cálculo de la cantidad de tokens durante el proceso de migración de liquidez. Este ataque resultó en ganancias de aproximadamente 76,112 dólares para los hackers.
Causa raíz del ataque
El problema en los cálculos durante el proceso de migración de liquidez es la causa fundamental de este ataque.
Detalles del proceso de ataque
El atacante primero obtiene 1000 BNB y 500,000 tokens New Cell a través de un Flash Loan. Luego, intercambia todos los tokens New Cell por BNB, lo que provoca que la cantidad de BNB en el pool se acerque a cero. Finalmente, intercambia 900 BNB por tokens Old Cell.
Cabe destacar que el atacante añadió liquidez de Old Cell y BNB antes de llevar a cabo el ataque, obteniendo Old lp.
A continuación, el atacante llama a la función de migración de liquidez. En este momento, casi no hay BNB en la nueva piscina y casi no hay tokens Old Cell en la piscina antigua.
El proceso de migración incluye los siguientes pasos:
Debido a que en el viejo pool casi no hay tokens de Old Cell, la cantidad de BNB obtenida al retirar liquidez aumenta, mientras que la cantidad de tokens de Old Cell disminuye. Esto provoca que los valores de Resoult y Token1 aumenten.
Los usuarios solo necesitan agregar una pequeña cantidad de BNB y el token New Cell para obtener liquidez, el BNB adicional y el token Old Cell se devolverán a los usuarios.
Resumen y Sugerencias
Al realizar la migración de liquidez, se debe considerar de manera integral el cambio en la cantidad de los dos tokens en los nuevos y viejos pools, así como el precio actual de los tokens. Calcular directamente según la cantidad de las dos monedas en el par de trading puede ser fácilmente manipulado.
Además, para garantizar la seguridad, el equipo del proyecto debe llevar a cabo una auditoría de seguridad completa antes de lanzar el código. Esto no solo puede ayudar a identificar posibles vulnerabilidades, sino que también puede aumentar la seguridad y fiabilidad del sistema en general.