El contrato del proyecto de coleccionables digitales presenta una importante vulnerabilidad, con 34 millones de dólares en fondos bloqueados permanentemente.
Recientemente, se han descubierto dos graves vulnerabilidades en un contrato de un proyecto de colecciones digitales que ha atraído mucha atención. El equipo de seguridad, al revisar dicho contrato, encontró que estas vulnerabilidades podrían llevar a que los activos de los usuarios quedaran bloqueados, así como a que el equipo detrás del proyecto no pudiera retirar más de 34 millones de dólares en fondos.
El primer fallo involucra la función de reembolso. El programa de reembolso en el contrato utiliza un enfoque cíclico para reembolsar a todos los usuarios. Sin embargo, si la dirección de un usuario es un contrato malicioso, podría rechazar recibir el reembolso y causar que la transacción falle, afectando así la operación de reembolso de todos los usuarios. Afortunadamente, este fallo no fue explotado en la práctica.
Para evitar problemas similares, se sugiere que el equipo detrás del proyecto considere los siguientes puntos al diseñar el mecanismo de reembolso:
La restricción solo permite que las cuentas de usuarios normales participen en el proyecto.
Usar tokens ERC20 como WETH en lugar de activos nativos
Diseñar una función que permita a los usuarios solicitar reembolsos de forma independiente, en lugar de procesarlos en masa.
El segundo fallo se debe a un error lógico en el código. En la función que extrae los fondos del proyecto, hay una declaración condicional que debería comparar dos variables específicas, pero se utilizó erróneamente otra variable para la comparación. Esto provoca que la condición nunca se cumpla, y el equipo detrás del proyecto no puede extraer los fondos del contrato. Actualmente, aproximadamente 34 millones de dólares en activos están permanentemente bloqueados en el contrato.
Este evento resalta una vez más que incluso los proyectos conocidos pueden cometer errores básicos. El equipo detrás del proyecto debe redactar suficientes casos de prueba durante el desarrollo del proyecto y cultivar una conciencia básica de seguridad. Aunque en el ámbito de las finanzas descentralizadas, la auditoría de seguridad se ha convertido en una práctica común, en los proyectos de coleccionables digitales, este paso a menudo se pasa por alto, lo que finalmente resulta en pérdidas masivas.
Este evento nos recuerda que, en el desarrollo de proyectos de blockchain, independientemente de la escala del proyecto, se debe prestar atención al trabajo de auditoría de seguridad para prevenir vulnerabilidades que podrían causar graves consecuencias. Al mismo tiempo, también resalta la importancia de los detalles en el desarrollo de contratos inteligentes, un pequeño error en el código podría resultar en pérdidas de millones de dólares.
Ver originales
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.
14 me gusta
Recompensa
14
5
Compartir
Comentar
0/400
FlashLoanLord
· 07-16 09:13
Los ignorantes no temen.
Ver originalesResponder0
GateUser-9ad11037
· 07-15 18:54
¡Realmente hay grandes proyectos que también fracasan!
El contrato del proyecto de coleccionables digitales presenta una importante vulnerabilidad, con 34 millones de dólares en fondos bloqueados permanentemente.
Recientemente, se han descubierto dos graves vulnerabilidades en un contrato de un proyecto de colecciones digitales que ha atraído mucha atención. El equipo de seguridad, al revisar dicho contrato, encontró que estas vulnerabilidades podrían llevar a que los activos de los usuarios quedaran bloqueados, así como a que el equipo detrás del proyecto no pudiera retirar más de 34 millones de dólares en fondos.
El primer fallo involucra la función de reembolso. El programa de reembolso en el contrato utiliza un enfoque cíclico para reembolsar a todos los usuarios. Sin embargo, si la dirección de un usuario es un contrato malicioso, podría rechazar recibir el reembolso y causar que la transacción falle, afectando así la operación de reembolso de todos los usuarios. Afortunadamente, este fallo no fue explotado en la práctica.
Para evitar problemas similares, se sugiere que el equipo detrás del proyecto considere los siguientes puntos al diseñar el mecanismo de reembolso:
El segundo fallo se debe a un error lógico en el código. En la función que extrae los fondos del proyecto, hay una declaración condicional que debería comparar dos variables específicas, pero se utilizó erróneamente otra variable para la comparación. Esto provoca que la condición nunca se cumpla, y el equipo detrás del proyecto no puede extraer los fondos del contrato. Actualmente, aproximadamente 34 millones de dólares en activos están permanentemente bloqueados en el contrato.
Este evento resalta una vez más que incluso los proyectos conocidos pueden cometer errores básicos. El equipo detrás del proyecto debe redactar suficientes casos de prueba durante el desarrollo del proyecto y cultivar una conciencia básica de seguridad. Aunque en el ámbito de las finanzas descentralizadas, la auditoría de seguridad se ha convertido en una práctica común, en los proyectos de coleccionables digitales, este paso a menudo se pasa por alto, lo que finalmente resulta en pérdidas masivas.
Este evento nos recuerda que, en el desarrollo de proyectos de blockchain, independientemente de la escala del proyecto, se debe prestar atención al trabajo de auditoría de seguridad para prevenir vulnerabilidades que podrían causar graves consecuencias. Al mismo tiempo, también resalta la importancia de los detalles en el desarrollo de contratos inteligentes, un pequeño error en el código podría resultar en pérdidas de millones de dólares.