El equipo de BlockSec descubrió recientemente dos graves vulnerabilidades en un contrato de activos digitales. Estas dos vulnerabilidades podrían llevar a que los activos de los usuarios se bloqueen y que el equipo detrás del proyecto no pueda retirar más de 34 millones de dólares en fondos.
La primera vulnerabilidad involucra la función de reembolso. La función de reembolso en el contrato utiliza un bucle para reembolsar a todos los usuarios, pero si alguno de esos usuarios es un contrato malicioso, puede rechazar la recepción del reembolso y provocar que toda la transacción falle. Esto impedirá que todos los usuarios reciban su reembolso. Afortunadamente, esta vulnerabilidad no fue explotada.
Para los proyectos que tienen necesidad de reembolso, se recomienda tomar las siguientes medidas de seguridad:
Restringir la participación solo a las cuentas externas (EOA)
Utiliza tokens ERC20 como WETH, en lugar de activos nativos
Diseñar un mecanismo que permita a los usuarios solicitar reembolsos de manera proactiva, evitando reembolsos masivos.
El segundo error es un error de código. En la función para extraer los fondos del proyecto, hay un error en la evaluación de una condición. La función debería comparar el progreso del reembolso con el índice de la oferta, pero erróneamente se comparó con el número total de ofertas. Como el progreso del reembolso siempre es menor que el número total de ofertas y no aumenta, la condición nunca se cumple. Esto impide que el equipo detrás del proyecto pueda extraer los fondos bloqueados en el contrato.
Estas vulnerabilidades destacan nuevamente que incluso los proyectos conocidos pueden cometer errores básicos. El equipo detrás del proyecto necesita escribir suficientes casos de prueba y tener una conciencia básica de seguridad. Aunque las auditorías de seguridad se han convertido en una práctica común en el ámbito de las finanzas descentralizadas, siguen siendo insuficientes en los proyectos de coleccionables digitales, y este incidente ha causado enormes pérdidas.
Este evento nos recuerda que incluso los proyectos más destacados pueden tener vulnerabilidades graves. Resalta la importancia de realizar auditorías de seguridad exhaustivas en el desarrollo de proyectos blockchain, especialmente al manejar grandes cantidades de fondos. El equipo detrás del proyecto debería prestar más atención a la seguridad de los contratos para evitar que ocurran errores costosos similares.
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.
9 me gusta
Recompensa
9
4
Compartir
Comentar
0/400
QuorumVoter
· 08-04 12:28
caída麻了 esta contrato ¿Quién se atreve a meter dinero?
Ver originalesResponder0
Ser_APY_2000
· 08-04 12:20
¿Treinta millones de dólares así atrapados? Ay... es realmente ridículo.
Ver originalesResponder0
MidnightMEVeater
· 08-04 12:12
¿Otra vez bloqueados? Esta gente de tontos se merecen ser sobras en el refrigerador.
Ver originalesResponder0
StakeTillRetire
· 08-04 12:05
Es realmente difícil recuperar el impuesto sobre la inteligencia.
BlockSec descubrió dos grandes vulnerabilidades en el contrato de coleccionables digitales, $34 millones de fondos atrapados.
El equipo de BlockSec descubrió recientemente dos graves vulnerabilidades en un contrato de activos digitales. Estas dos vulnerabilidades podrían llevar a que los activos de los usuarios se bloqueen y que el equipo detrás del proyecto no pueda retirar más de 34 millones de dólares en fondos.
La primera vulnerabilidad involucra la función de reembolso. La función de reembolso en el contrato utiliza un bucle para reembolsar a todos los usuarios, pero si alguno de esos usuarios es un contrato malicioso, puede rechazar la recepción del reembolso y provocar que toda la transacción falle. Esto impedirá que todos los usuarios reciban su reembolso. Afortunadamente, esta vulnerabilidad no fue explotada.
Para los proyectos que tienen necesidad de reembolso, se recomienda tomar las siguientes medidas de seguridad:
El segundo error es un error de código. En la función para extraer los fondos del proyecto, hay un error en la evaluación de una condición. La función debería comparar el progreso del reembolso con el índice de la oferta, pero erróneamente se comparó con el número total de ofertas. Como el progreso del reembolso siempre es menor que el número total de ofertas y no aumenta, la condición nunca se cumple. Esto impide que el equipo detrás del proyecto pueda extraer los fondos bloqueados en el contrato.
Estas vulnerabilidades destacan nuevamente que incluso los proyectos conocidos pueden cometer errores básicos. El equipo detrás del proyecto necesita escribir suficientes casos de prueba y tener una conciencia básica de seguridad. Aunque las auditorías de seguridad se han convertido en una práctica común en el ámbito de las finanzas descentralizadas, siguen siendo insuficientes en los proyectos de coleccionables digitales, y este incidente ha causado enormes pérdidas.
Este evento nos recuerda que incluso los proyectos más destacados pueden tener vulnerabilidades graves. Resalta la importancia de realizar auditorías de seguridad exhaustivas en el desarrollo de proyectos blockchain, especialmente al manejar grandes cantidades de fondos. El equipo detrás del proyecto debería prestar más atención a la seguridad de los contratos para evitar que ocurran errores costosos similares.