Florent desenfrió el ICO de HongCoin por 2 millones de dólares; el hacker había ignorado el contrato durante 9 años

ETH-1,67%

HongCoin ICO資金解凍

El investigador de seguridad Florent confirmó a The Block el 31 de mayo que ayudó a recuperar aproximadamente 1.003 ETH (unos 2 millones de dólares), que habían quedado atrapados en un contrato del ICO de HongCoin de 2016 durante más de nueve años. Al momento del informe, 2 inversores ya han reclamado un total de 96,5 ETH y, de forma voluntaria, han pagado a Florent una recompensa de sombrero blanco.

Razones técnicas confirmadas para la vulnerabilidad de desbordamiento de enteros y soluciones

Florent confirmó a The Block que el contrato de HongCoin utilizó una versión antigua de Solidity sin medidas de protección para evitar el desbordamiento de enteros (que posteriormente se corrigió mediante la librería SafeMath). La función de reembolso rechaza a los titulares que tengan un saldo de tokens superior al contador global. Con el paso de los años, algunos reembolsos han reducido el contador a 356, lo que deja el límite de reembolso en solo 3,56 ETH (aprox. 7.000 dólares), mientras que los saldos de la mayoría de los titulares están muy por encima de ese valor.

La solución confirmada por Florent fue aprovechar la función de gestión del equipo de HongCoin — originalmente destinada a acuñar tokens de recompensa — que, al llamarse con valores de entrada específicos, y al carecer de protección contra desbordamiento, hace que el saldo del titular se restablezca a 1; la comprobación del reembolso pasa de inmediato y los ETH bloqueados quedan liberados.

No fue un ataque unilateral: el equipo de HongCoin firmó la transacción de desbloqueo por su cuenta

Florent confirmó que esto no fue una acción de piratería unilateral. Primero envió un correo electrónico al equipo de HongCoin; después, validó el número de secuencia de la operación en una bifurcación de la red principal de Foundry. Posteriormente, el propio equipo de HongCoin firmó la transacción de desbloqueo. Desde el envío del primer correo hasta completar todo el proceso, se tardó aproximadamente una semana. Los 41 titulares necesitaban restablecer sus saldos, lo que corresponde a aproximadamente 1.000 ETH realmente congelados; los otros 7 podían reclamar reembolso directamente. El equipo firmó un total de 41 transacciones.

Florent confirmó que la razón por la que el hacker había ignorado previamente este contrato fue que “no existe en el contrato ninguna vulnerabilidad de propiedad que permita al hacker robar fondos; el único resultado de cualquier ataque es que Ethereum se devuelva a los inversores originales”, de modo que para el hacker no había espacio para obtener ganancias.

Metodología de confirmación: el escáner y las limitaciones conocidas de Claude Code

Florent confirmó que montó un nodo de Ethereum autoalojado y ejecutó un escáner para marcar contratos con más de 100 ETH en poder, y luego los fue filtrando uno por uno. Confirmó que utilizó Claude Code para acelerar la ordenación y la agrupación de contratos, pero que la IA tiene limitaciones al analizar vulnerabilidades específicas de contratos inteligentes: “La IA a menudo se ve afectada por el hecho de que el contrato no ha sido vulnerado antes, por lo que a menudo asume ‘esto no se puede vulnerar’, y eso suele ser incorrecto”.

Florent confirmó el 24 de mayo que previamente también recuperó 19,329 ETH (aprox. 40.590 dólares) de dos contratos antiguos: incluido un contrato ICO fallido de 2018 y fondos de usuarios después del cierre de la aplicación de Liquality en 2024.

Preguntas frecuentes

¿Cómo hizo la vulnerabilidad de desbordamiento de enteros en el contrato de HongCoin que los fondos quedaran bloqueados durante 9 años?

Según la confirmación de Florent, la función de reembolso exige que el saldo de tokens del titular no supere el contador global. Con el paso de los años, los reembolsos parciales redujeron el contador a 356, y el monto máximo de reembolso cayó a 3,56 ETH, mientras que el saldo de la mayoría de los titulares está muy por encima de ese valor. La causa técnica fundamental fue que la versión antigua de Solidity no tenía protección contra desbordamientos de enteros; la librería SafeMath corrigió este problema más adelante.

¿Por qué el hacker anterior no atacó este contrato con grandes cantidades de ETH?

Según la confirmación de Florent, en el contrato no existe ninguna vulnerabilidad de propiedad que permita a un atacante robar fondos; el único resultado de cualquier ataque es que ETH se devuelva a los inversores originales, por lo que no hay espacio para que el hacker obtenga ganancias. Por ello, no había motivación para atacar.

¿Cómo se usó Claude Code en esta acción de sombrero blanco y cuáles son las limitaciones de la IA?

Florent confirmó que se utilizó Claude Code para acelerar la ordenación y la agrupación de contratos, pero que la IA tiene limitaciones al analizar vulnerabilidades de contratos inteligentes, ya que a menudo se ve influida por el hecho de que “el contrato no se había vulnerado antes”, por lo que asume que no se puede vulnerar; señaló que esta conclusión a menudo es errónea.

Aviso legal: La información en esta página puede provenir de fuentes de terceros y es solo para referencia. No representa las opiniones ni puntos de vista de Gate y no constituye asesoramiento financiero, de inversión ni legal. El comercio de activos virtuales implica un alto riesgo. No te bases únicamente en la información presentada en esta página para tomar decisiones. Para más detalles, consulta el Aviso legal.
Comentar
0/400
Sin comentarios