1 de janeiro de 2024, na madrugada, uma contrato não divulgado inicialmente do Truebit Protocol, implantado há alguns anos, foi explorado com sucesso pelos atacantes, resultando na perda de 8.535,36 ETH, equivalente a aproximadamente 26,4 milhões de dólares. A equipa de segurança realizou uma análise aprofundada do incidente.
Análise do processo de ataque
Hash da transação principal do ataque: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
Os passos do atacante são bastante claros:
Primeiro, chama a função getPurchasePrice() para consultar as informações de preço. Depois, direciona-se para a vulnerabilidade central — chama a função com falhas 0xa0296215() e define um valor de msg.value extremamente baixo. Como o código fonte do contrato não foi divulgado, a análise decompilada mostra que essa função possui uma vulnerabilidade de lógica aritmética, provavelmente devido a um tratamento inadequado de truncamento de inteiros. Por isso, o atacante conseguiu criar uma grande quantidade de tokens TRU do nada.
Em seguida, ocorre a etapa de liquidação. O atacante usa a função burn para "vender" os tokens criados de volta ao contrato, extraindo uma grande quantidade de ETH. Esse processo foi repetido 4 vezes, aumentando a cada vez o valor de msg.value, até quase esvaziar o saldo de ETH do contrato.
Rastreamento na cadeia de blocos
De acordo com os dados na cadeia, a equipe utilizou ferramentas de investigação e rastreamento de blockchain para seguir o destino dos fundos roubados… (o texto original não fornece o conteúdo completo posterior)
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.
14 gostos
Recompensa
14
10
Republicar
Partilhar
Comentar
0/400
BridgeJumper
· 6h atrás
Mais uma armadilha de contratos antigos, o código-fonte nem é público e ainda assim arriscam colocar tanto dinheiro...
Ver originalResponder0
BrokeBeans
· 23h atrás
Mais um contrato cujo código-fonte não foi divulgado, e desta vez realmente explodiu... 26,4 milhões de dólares simplesmente desapareceram, será que bugs tão básicos como truncamento de inteiros podem passar por auditoria?
Ver originalResponder0
LiquidationWizard
· 01-11 11:45
Mais uma vez, com código-fonte não divulgado, fazendo manigâncias. Já devia estar tudo open source.
Ver originalResponder0
SerumDegen
· 01-09 12:03
ngl isto é apenas um estouro de inteiro com passos extras... contratos não auditados continuam não auditados, acho que sim lmao
Ver originalResponder0
ForkLibertarian
· 01-09 12:01
Caramba, mais uma vez truncamento de inteiros... Como é que ainda há pessoas caindo nesse tipo de vulnerabilidade?
Ver originalResponder0
QuorumVoter
· 01-09 11:57
A truncagem de inteiros voltou a falhar, como é que ainda há pessoas que implantam contratos cujo código-fonte não é público?
Ver originalResponder0
SchrodingerWallet
· 01-09 11:50
Mais uma armadilha de contratos não públicos, desta vez 26,4 milhões de dólares simplesmente desaparecidos... A vulnerabilidade de truncamento de inteiros é realmente impressionante
Ver originalResponder0
MetaMisfit
· 01-09 11:48
Mais uma vez, a culpa é por o código-fonte não estar disponível. Hoje em dia, esconder-se e guardar segredos torna-se mais fácil de ser descoberto.
Ver originalResponder0
BlockImposter
· 01-09 11:42
Mais uma vez, contrato não divulgado que falha, quão familiar é esse truque
1 de janeiro de 2024, na madrugada, uma contrato não divulgado inicialmente do Truebit Protocol, implantado há alguns anos, foi explorado com sucesso pelos atacantes, resultando na perda de 8.535,36 ETH, equivalente a aproximadamente 26,4 milhões de dólares. A equipa de segurança realizou uma análise aprofundada do incidente.
Análise do processo de ataque
Hash da transação principal do ataque: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
Os passos do atacante são bastante claros:
Primeiro, chama a função getPurchasePrice() para consultar as informações de preço. Depois, direciona-se para a vulnerabilidade central — chama a função com falhas 0xa0296215() e define um valor de msg.value extremamente baixo. Como o código fonte do contrato não foi divulgado, a análise decompilada mostra que essa função possui uma vulnerabilidade de lógica aritmética, provavelmente devido a um tratamento inadequado de truncamento de inteiros. Por isso, o atacante conseguiu criar uma grande quantidade de tokens TRU do nada.
Em seguida, ocorre a etapa de liquidação. O atacante usa a função burn para "vender" os tokens criados de volta ao contrato, extraindo uma grande quantidade de ETH. Esse processo foi repetido 4 vezes, aumentando a cada vez o valor de msg.value, até quase esvaziar o saldo de ETH do contrato.
Rastreamento na cadeia de blocos
De acordo com os dados na cadeia, a equipe utilizou ferramentas de investigação e rastreamento de blockchain para seguir o destino dos fundos roubados… (o texto original não fornece o conteúdo completo posterior)