#数字资产市场观察 Quanto vale uma linha de código? A resposta é 1,6 bilhões de dólares — não é exagero, é a dolorosa lição que a maior plataforma DEX do ecossistema Sui, a Cetus, acabou de experimentar. Um Hacker aproveitou uma vulnerabilidade de forma incrivelmente engenhosa e levou diretamente 230 milhões de dólares.
A chave da questão está escondida em uma verificação de fronteira aparentemente comum: o atacante construiu um conjunto de entradas especiais, fazendo com que o valor de n atendesse exatamente à condição n<=mask, passando assim pela primeira linha de defesa. Mas o que realmente é fatal é a segunda parte — esse n também é maior ou igual a 2^192, e quando a operação de deslocamento à esquerda de 64 bits é executada, todo o resultado do cálculo ultrapassa diretamente o limite de armazenamento do u256. No momento do estouro, a função retorna um valor completamente errado, e assim as portas do pool de liquidez foram abertas.
A boa notícia é que a equipe Cetus já corrigiu rapidamente o repositório de código. Mas este caso serve novamente como um lembrete para todos: a auditoria de segurança de contratos inteligentes não admite nenhum tipo de sorte, mesmo um pequeno erro no tratamento de limites de operações de bits pode custar uma quantia astronômica. No mundo DeFi, código é lei, e bugs são as brechas da lei.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
19 Curtidas
Recompensa
19
5
Repostar
Compartilhar
Comentário
0/400
TradFiRefugee
· 11-29 04:34
Caramba, uma operação bit a bit pode gerar diretamente 230 milhões, quão absurdo é isso... antes achava que o Cetus era bastante sólido, mas agora foi perfurado e estou me sentindo completamente gelado.
Ver originalResponder0
QuietlyStaking
· 11-26 09:13
Caramba, um bug de operação bit a bit fez explodir 230 milhões, é por isso que eu sempre tive dúvidas sobre a auditoria da Cetus
Não consigo mais aguentar, um erro tão básico como o estouro de u256 ainda consegue passar na auditoria?
Código é lei, então o hacker é o juiz?
Ver originalResponder0
SellTheBounce
· 11-26 09:08
Mais uma vez essa armadilha. Bugs de código, falhas de auditoria, correções rápidas... Já ouvi isso há alguns anos. O problema é, onde estará o próximo Cetus à espera? Sempre há uma lógica de que pode haver um ponto mais baixo, e isso se aplica às Finanças Descentralizadas - sempre há uma falha maior.
Ver originalResponder0
ContractHunter
· 11-26 09:04
Caramba, o u256 transbordou e atingiu 230 milhões, é por isso que eu nunca mexo em pools que não foram auditados.
Ver originalResponder0
CountdownToBroke
· 11-26 08:58
Caramba, um bug de operação de bits fez desaparecer 230 milhões, isso é realmente muito duro.
#数字资产市场观察 Quanto vale uma linha de código? A resposta é 1,6 bilhões de dólares — não é exagero, é a dolorosa lição que a maior plataforma DEX do ecossistema Sui, a Cetus, acabou de experimentar. Um Hacker aproveitou uma vulnerabilidade de forma incrivelmente engenhosa e levou diretamente 230 milhões de dólares.
A chave da questão está escondida em uma verificação de fronteira aparentemente comum: o atacante construiu um conjunto de entradas especiais, fazendo com que o valor de n atendesse exatamente à condição n<=mask, passando assim pela primeira linha de defesa. Mas o que realmente é fatal é a segunda parte — esse n também é maior ou igual a 2^192, e quando a operação de deslocamento à esquerda de 64 bits é executada, todo o resultado do cálculo ultrapassa diretamente o limite de armazenamento do u256. No momento do estouro, a função retorna um valor completamente errado, e assim as portas do pool de liquidez foram abertas.
A boa notícia é que a equipe Cetus já corrigiu rapidamente o repositório de código. Mas este caso serve novamente como um lembrete para todos: a auditoria de segurança de contratos inteligentes não admite nenhum tipo de sorte, mesmo um pequeno erro no tratamento de limites de operações de bits pode custar uma quantia astronômica. No mundo DeFi, código é lei, e bugs são as brechas da lei.