Florent, desbloqueia chapéus brancos a carteira HongCoin ICO de 2 milhões de dólares, o hacker tinha ignorado o contrato durante 9 anos

ETH-1,85%

HongCoin ICO資金解凍

A investigadora de segurança Florent confirmou ao The Block, a 31 de maio, que ajudou a recuperar cerca de 1.003 ETH (cerca de 2 milhões de dólares), que estiveram presos durante nove anos num contrato do HongCoin ICO de 2016. Até ao momento da reportagem, 2 investidores já levantaram um total de 96,5 ETH e, de forma voluntária, pagaram a Florent uma recompensa de white-hat.

Razões técnicas de confirmação para a vulnerabilidade de overflow de inteiros e soluções

Florent confirmou ao The Block que o contrato HongCoin foi implementado com uma versão antiga do Solidity, sem medidas de proteção para evitar overflow de inteiros (mais tarde corrigido com a biblioteca SafeMath). A função de reembolso recusava detentores cujo saldo de tokens excedesse o contador global. Ao longo dos anos, parte dos reembolsos reduziu o contador para 356, fazendo com que o limite de reembolso fosse apenas de 3,56 ETH (cerca de 7.000 dólares), enquanto o saldo da maioria dos detentores estava muito acima desse valor.

A solução confirmada por Florent consistiu em tirar partido da funcionalidade de gestão da equipa HongCoin — originalmente usada para cunhar tokens de recompensa — que, quando chamada com valores de entrada específicos, faz com que o saldo do detentor seja redefinido para 1 devido à ausência de proteção contra overflow; a verificação do reembolso passa imediatamente, libertando assim o ETH bloqueado.

Sem ataque unilateral: a equipa HongCoin assinou a transacção de desbloqueio por conta própria

Florent confirmou que isto não foi uma ação de hacking unilateral. Primeiro, enviou um email à equipa HongCoin e validou os números de sequência de operação numa bifurcação do mainnet do Foundry; depois, a equipa HongCoin assinou por conta própria a transação de desbloqueio. Desde o envio do primeiro email até ao final de todo o processo demorou cerca de uma semana. Foram necessários 41 detentores para redefinir os saldos, o que corresponde a cerca de 1.000 ETH efectivamente congelados; os restantes 7 podiam levantar directamente o reembolso. No total, a equipa assinou 41 transacções.

Florent confirmou que a razão pela qual o hacker não tinha tido em conta este contrato antes era que “não existe no contrato nenhuma vulnerabilidade de propriedade que permita ao hacker roubar fundos; qualquer resultado do ataque é simplesmente o Ethereum devolver aos investidores originais” — ou seja, não havia espaço para lucro para o hacker.

Metodologia de confirmação: limitações conhecidas do scanner e do Claude Code

Florent confirmou que montou um nó Ethereum self-hosted e executou um scanner para marcar contratos com mais de 100 ETH de saldo, e depois filtrou-os um a um. Confirmou que usou o Claude Code para acelerar a ordenação e a clusterização dos contratos, mas que a IA tem limitações ao analisar vulnerabilidades específicas de smart contracts: “a IA é muitas vezes influenciada pelo facto de que o contrato ainda não foi comprometido, pelo que costuma assumir ‘isto não pode ser explorado’, e isso muitas vezes está errado.”

Florent confirmou, a 24 de maio, que antes também conseguiu recuperar 19,329 ETH (cerca de 40.590 dólares) a partir de dois contratos antigos, incluindo um contrato de ICO falhado de 2018 e os fundos dos utilizadores da Liquality após encerrar a aplicação em 2024.

Perguntas frequentes

Como é que a vulnerabilidade de overflow de inteiros no contrato HongCoin fez com que os fundos ficassem bloqueados durante 9 anos?

De acordo com a confirmação de Florent, a função de reembolso exige que o saldo de tokens do detentor não exceda o contador global. Ao longo de anos, parte dos reembolsos reduziu o contador para 356, reduzindo o valor máximo de reembolso para 3,56 ETH, enquanto o saldo da maioria dos detentores estava muito acima desse valor. A ausência de proteção contra overflow de inteiros na versão antiga do Solidity foi a causa técnica fundamental; o SafeMath veio mais tarde corrigir este problema.

Porque é que o hacker anterior não atacou este contrato com grandes quantidades de ETH?

De acordo com a confirmação de Florent, não existe no contrato qualquer vulnerabilidade de propriedade que permita ao atacante roubar fundos; qualquer ataque teria como único resultado o ETH ser devolvido aos investidores originais, não havendo espaço para lucro para o hacker, pelo que não havia motivação para atacar.

Como foi usado o Claude Code nesta ação white-hat e quais são as limitações da IA?

Florent confirmou que usou o Claude Code para acelerar a ordenação e a clusterização dos contratos, mas confirmou que a IA tem limitações ao analisar vulnerabilidades de smart contracts, sendo frequentemente influenciada pelo facto de “o contrato nunca ter sido comprometido” e, por isso, assumindo de forma automática que não é explorável; ela indica que esta conclusão muitas vezes está errada.

Aviso legal: As informações contidas nesta página podem provir de fontes externas e têm caráter meramente informativo. Não refletem os pontos de vista nem as opiniões da Gate e não constituem qualquer tipo de aconselhamento financeiro, de investimento ou jurídico. A negociação de ativos virtuais envolve um risco elevado. Não se baseie exclusivamente nas informações contidas nesta página ao tomar decisões. Para mais detalhes, consulte o Aviso legal.
Comentar
0/400
Nenhum comentário