Programador recupera 2 milhões de dólares bloqueados no contrato do ICO da HongCoin de 2016

ETH-1,79%
EUL4,05%

Um programador conhecido como Florent recuperou aproximadamente 1.003 ETH, no valor de cerca de 2 milhões de dólares aos preços atuais, de um contrato de oferta inicial de moedas (ICO) de HongCoin de 2016, em que os fundos ficaram presos durante nove anos. A venda de tokens de Ethereum foi concebida para reembolsar automaticamente os investidores caso ficasse aquém da meta de angariação, mas um erro de programação impediu a função de reembolso de ser executada para detentores com saldos superiores a um contador global entretanto esgotado. Florent explorou uma vulnerabilidade de overflow na função de administração do contrato, trabalhando com a equipa da HongCoin durante cerca de uma semana para desbloquear os fundos para 48 investidores originais. A recuperação mostra como vulnerabilidades precoces de contratos inteligentes da era pré-SafeMath continuam a imobilizar valor on-chain.

Vulnerabilidade de Overflow que impediu reembolsos durante nove anos

O contrato da HongCoin, apresentado em 2016 como um fundo de investimento gerido pela comunidade, continha um mecanismo de reembolso que recusava qualquer detentor cujo saldo excedesse uma variável de contador global. Anos de reembolsos parciais reduziram esse contador para 356, limitando os reembolsos totais a 3,56 ETH (aproximadamente 7.000 dólares), enquanto a maioria dos detentores restantes detinha valores muito superiores.

Florent disse ao The Block que o contrato foi implementado com uma versão antiga da linguagem de programação Solidity, que não tinha proteções contra erros de overflow. Nesses erros, um número que atinge um valor suficientemente elevado é reiniciado para 0 ou 1, uma vulnerabilidade que mais tarde foi corrigida pela biblioteca SafeMath.

O programador identificou uma solução alternativa através da função de administração da equipa, originalmente concebida para emitir tokens de bounty para eventos específicos. Ao chamar essa função com um valor de entrada preciso, ele reiniciou o saldo de um detentor para 1, permitindo que a verificação de reembolso passasse e libertando o ETH bloqueado.

A cooperação da equipa viabilizou o processo de desbloqueio whitehat

A função de administração estava restrita à carteira multisig da HongCoin, impedindo ação unilateral. Florent enviou um e-mail à equipa, validou a sequência de transações num fork do Foundry em mainnet, e a equipa assinou as transações de desbloqueio. O processo demorou cerca de uma semana desde o e-mail inicial, segundo Florent.

Dos 48 investidores originais que agora conseguem reclamar fundos, 41 precisaram do exploit de reinício do saldo. Os sete restantes tinham valores pequenos o suficiente para reembolsar diretamente através da função existente. A equipa assinou 41 transações, uma por cada detentor bloqueado, cobrindo os cerca de 1.000 ETH que estavam de facto presos.

Dois investidores recuperaram no total 96,5 ETH (aproximadamente 193.000 dólares) e enviaram voluntariamente a Florent um prémio whitehat. Florent disse ao The Block que não houve quaisquer taxas, cortes ou comissões envolvidas. “Fora da própria equipa, ninguém tinha realmente incentivo para se debruçar sobre o contrato com tanta proximidade”, disse Florent. “Não havia uma falha de propriedade que permitisse a alguém roubar os fundos para si, por isso, para um hacker, não havia nada a ganhar; o único resultado de qualquer exploit é o ETH voltar para os investidores originais.”

Florent já tinha libertado 19,329 ETH de contratos falhados

No domingo, 24 de maio, Florent descreveu a recuperação de 19,329 ETH, cerca de 40.590 dólares, de dois contratos mais antigos. O primeiro era um ICO falhado de janeiro de 2018 que tinha 5,141 ETH guardados por trás de uma função pública de reembolso que nunca foi chamada. O segundo envolveu sete swaps atómicos expirados de um utilizador da Liquality Wallet, totalizando 14,190 ETH, que Florent reembolsou em nome do utilizador depois de a Liquality ter encerrado a sua aplicação em 2024.

A metodologia do scanner identifica contratos com valores elevados imobilizados

Florent disse que recentemente montou um nó Ethereum self-hosted e construiu um scanner para sinalizar todos os contratos com mais de 100 ETH, e depois trabalhou com base nos candidatos. “Muitos contratos são forks de outros contratos, por isso uma falha num é a mesma falha em todos os outros dentro do cluster”, disse Florent. “Dito isto, os clusters grandes e bem conhecidos já foram revistos com bastante profundidade.”

Quando lhe perguntaram sobre assistência por IA, Florent disse que usou o Claude Code para acelerar a triagem e o agrupamento de contratos, mas encontrou limitações na análise de contratos inteligentes. “A IA é muitas vezes enviesada pelo facto de o contrato não ter sido quebrado antes e por as pessoas anteriores não terem encontrado forma de passar… por isso muitas vezes acaba por assumir ‘isto é inquebrável, tentei tudo’, o que frequentemente é falso.”

A recuperação acontece no meio de uma vaga de exploits em DeFi. Os ataques somaram centenas de milhões de dólares apenas em abril, liderados por uma drenagem de cerca de 293 milhões de dólares na Kelp DAO. Um cofundador da empresa de segurança OpenZeppelin afirmou recentemente que considera todo o DeFi como inseguro. Alguns exploits terminaram em recuperações whitehat ou devoluções voluntárias, como na recuperação quase total após o exploit de 2023 da Euler Finance.

“Tem havido uma clara retoma de hackers em protocolos recentemente, e a DeFi está a tornar-se um espaço complicado para investir”, disse Florent. “Gostava de ver um movimento contrário de pessoas que tentam proteger as coisas em vez de as explorar. É mais recompensador moralmente e também pode compensar financeiramente.”

FAQ

O que fez com que os fundos do ICO da HongCoin permanecessem bloqueados durante nove anos?

Um bug de programação na função de reembolso do contrato HongCoin de 2016 rejeitava qualquer detentor cujo saldo de tokens excedesse uma variável de contador global. Anos de reembolsos parciais reduziram esse contador para 356, impedindo reembolsos para detentores com saldos maiores, enquanto o contrato não tinha proteções contra overflow, padrão nas versões mais recentes do Solidity.

Como é que Florent desbloqueou o ETH preso sem o roubar?

Florent identificou uma função de administração originalmente destinada a emitir tokens de bounty. Ao chamá-la com um valor de entrada específico, ele conseguia reiniciar o saldo de um detentor para 1 devido a uma vulnerabilidade de overflow, permitindo que a verificação de reembolso fosse bem-sucedida. A função de administração exigia assinaturas da equipa da HongCoin, por isso Florent coordenou-se com a equipa ao longo de cerca de uma semana para executar 41 transações de desbloqueio para investidores bloqueados.

Quanto ETH é que Florent recuperou de contratos antigos?

Florent recuperou aproximadamente 1.003 ETH (cerca de 2 milhões de dólares) do contrato da HongCoin. No domingo, 24 de maio, descreveu a libertação de mais 19,329 ETH (cerca de 40.590 dólares) de dois outros contratos: um ICO falhado de janeiro de 2018 com 5,141 ETH e sete swaps atómicos expirados da Liquality Wallet, totalizando 14,190 ETH.

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