Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Estudar explorações passadas de contratos inteligentes é excelente para se tornar um melhor desenvolvedor Solidity.
Recentemente, passei algum tempo revisando muitas das explorações que ocorreram nos últimos anos.
Compreender a causa raiz de um hack é uma ótima maneira de aprender a pensar de forma diferente sobre a escrita de código.
Isso também lhe dá uma melhor intuição sobre quais componentes são mais críticos ao olhar para novas bases de código.
Recomendo a qualquer um que queira melhorar seu jogo em Solidity que passe por explorações passadas no @RektHQ ou confira a documentação do @phylaxsystems, onde temos análises de hacks e como as afirmações poderiam tê-los prevenido.
Ao estudar esses hacks passados, percebi que muitas vezes as explorações são possíveis devido à falta de verificações no código ou cálculos incorretos que levam os protocolos a entrar em estados que não deveriam estar. Uma vez que a exploração ocorreu, o bug muitas vezes parece óbvio. Precisamos garantir que os protocolos tenham mais facilidade em identificar esses problemas.
Muitos protocolos se beneficiariam ao passar tempo definindo invariantes e garantindo que estas não possam ser violadas.
Escrever afirmações é uma ótima maneira de garantir que essas invariantes nunca possam ser violadas.
A última exploração que passei tempo analisando foi a exploração do Abracadabra de março de 2025, onde ~$13 milhões foram perdidos:
O Bug: sendValueInCollateral() extraiu tokens reais, mas esqueceu de atualizar as variáveis de contabilidade internas.
A Exploração: orderValueInCollateral() continuou relatando o mesmo valor de colateral mesmo após os tokens serem removidos.
Resultado: O atacante tomou emprestado contra "colateral fantasma" repetidamente até que os fundos fossem drenados.
Uma afirmação que verifica a simples invariante de que o "colateral reportado" corresponde ao "colateral real" teria prevenido o hack.

947
Top
Classificação
Favoritos