Na madrugada de 9 de janeiro, um ataque repentino transformou um contrato implantado há cinco anos pelo Truebit Protocol numa "caixa multibanco" — o atacante esvaziou o contrato em pouco tempo, retirando 8.535,36 ETH, avaliados na altura em cerca de 26,4 milhões de dólares.
A análise da equipa de segurança revelou os detalhes do incidente. A técnica de ataque não era complexa, mas extremamente eficaz.
**O processo de ataque foi o seguinte:**
Primeiro, o atacante utilizou a função getPurchasePrice() para investigar as informações de preço. Em seguida, focou-se numa função com vulnerabilidades no contrato, iniciando chamadas com um valor de msg.value muito pequeno. Como o código do contrato não era de código aberto, a engenharia reversa sugeriu que essa função tinha uma falha lógica aritmética — provavelmente uma má gestão do truncamento de inteiros, permitindo ao atacante criar uma grande quantidade de tokens TRU do nada.
Depois, deu-se o passo crucial: usando a função burn, o atacante "vendeu" esses tokens criados do nada de volta ao contrato, extraindo ETH real. Essa operação foi repetida 5 vezes, aumentando progressivamente o valor de msg.value, até que o contrato tivesse quase completamente esvaziado o ETH em reserva.
Este incidente serviu de alerta para a indústria — mesmo projetos "antigos" implantados há cinco anos, se apresentarem vulnerabilidades na lógica do contrato e não forem atualizados a tempo, podem ainda assim tornar-se presas fáceis para hackers.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
4 gostos
Recompensa
4
6
Republicar
Partilhar
Comentar
0/400
RatioHunter
· 3h atrás
Estou pasmo, um contrato antigo de cinco anos ainda pode ser jogado assim? Essa vulnerabilidade de truncamento de inteiros, uma falha tão básica, e ninguém tinha descoberto até agora, que piada
Ver originalResponder0
ChainWallflower
· 01-09 11:54
Agora está tudo bem, até contratos de cinco anos não conseguem se proteger, bugs de truncamento de inteiros tão básicos podem causar falhas, não é de admirar que tantos projetos antigos tenham se tornado máquinas de saque
Ver originalResponder0
SocialFiQueen
· 01-09 11:49
Porra, a vulnerabilidade de truncamento de inteiros ainda vai durar cinco anos? Truebit está mesmo muito preguiçoso...
Ver originalResponder0
RooftopVIP
· 01-09 11:48
Porra, um projeto antigo de cinco anos ainda pode ser assim explorado… realmente sem palavras, quem diria isso
Ver originalResponder0
OvertimeSquid
· 01-09 11:48
Ainda é possível explorar contratos antigos de cinco anos, o que é realmente absurdo. Como é que ainda não corrigiram vulnerabilidades básicas como estouro de inteiros?
Ver originalResponder0
GateUser-9ad11037
· 01-09 11:48
Contrato sem atualização há cinco anos ainda arriscar colocar tanto ETH? Isso não é se entregar às mãos dos hackers?
Na madrugada de 9 de janeiro, um ataque repentino transformou um contrato implantado há cinco anos pelo Truebit Protocol numa "caixa multibanco" — o atacante esvaziou o contrato em pouco tempo, retirando 8.535,36 ETH, avaliados na altura em cerca de 26,4 milhões de dólares.
A análise da equipa de segurança revelou os detalhes do incidente. A técnica de ataque não era complexa, mas extremamente eficaz.
**O processo de ataque foi o seguinte:**
Primeiro, o atacante utilizou a função getPurchasePrice() para investigar as informações de preço. Em seguida, focou-se numa função com vulnerabilidades no contrato, iniciando chamadas com um valor de msg.value muito pequeno. Como o código do contrato não era de código aberto, a engenharia reversa sugeriu que essa função tinha uma falha lógica aritmética — provavelmente uma má gestão do truncamento de inteiros, permitindo ao atacante criar uma grande quantidade de tokens TRU do nada.
Depois, deu-se o passo crucial: usando a função burn, o atacante "vendeu" esses tokens criados do nada de volta ao contrato, extraindo ETH real. Essa operação foi repetida 5 vezes, aumentando progressivamente o valor de msg.value, até que o contrato tivesse quase completamente esvaziado o ETH em reserva.
Este incidente serviu de alerta para a indústria — mesmo projetos "antigos" implantados há cinco anos, se apresentarem vulnerabilidades na lógica do contrato e não forem atualizados a tempo, podem ainda assim tornar-se presas fáceis para hackers.