Publicações
avatar

Reentrancy Decodificada – O Bug do Contrato Inteligente que Ainda Esvazia Milhões em 2026, e o Padrão Checks-Effects-Interactions que o Impede no Código Reentrância não é magia. É um bug de ordem: seu contrato atualiza seu próprio estado APÓS fazer uma chamada externa, em vez de antes, e um atacante faz uma chamada de volta durante essa lacuna. Corrija a ordem e o bug desaparece. O DAO perdeu cerca de 3,6 milhões de ETH (aproximadamente US$ 60 milhões, cerca de 5% de todo o ETH existente na época) por esse exato erro em 17 de junho de 2016. O impacto dividiu o Ethereum em ETH e ETC. Dez anos depois, ele ainda está esvaziando fundos. O Solv Protocol perdeu US$ 2,73 milhões por uma reentrância em 5 de março de 2026, e aproximadamente US$ 52 milhões foram roubados em diversos protocolos on-chain em maio de 2026 (DeFiLlama via CryptoTimes, 31 de maio de 2026). O padrão vulnerável: ler o saldo, enviar o ETH com uma chamada de baixo nível, E DEPOIS definir o saldo como zero. A função receive() do atacante reentra em withdraw() antes que esse zero seja aplicado, e entra em loop até que o contrato fique vazio. Duas correções, usadas juntas: Checks-Effects-Interactions. Valide, atualize TODO o estado e faça a chamada externa POR ÚLTIMO. Mova balances[msg.sender] = 0 acima da chamada, e a chamada reentrante lerá zero e reverterá. A proteção nonReentrant da OpenZeppelin. Um mutex de armazenamento (NÃO_ENTRADO para ENTROU) que reverte na reentrada. Use-o E CEI, não apenas um ou outro. Duas coisas que a maioria dos desenvolvedores ainda erra. 1. .transfer() não é mais um escudo: o subsídio de 2300 gás deixou de ser uma suposição segura quando o EIP-1884 aumentou o gás de SLOAD em 2019. Use .call{value:}("") com CEI. 2. A reentrância somente de leitura contorna uma proteção padrão, porque uma função view lida durante uma atualização retorna estado corrompido e pode envenenar um oracle de preços (dForce, US$ 3,64 milhões). Apenas para fins educacionais. Não é aconselhamento financeiro. Siga para insights diários – onde blockchain encontra IA, um swipe satisfatório de cada vez. #Solidity #SmartContractSecurity #Web3Security #Ethereum #DeFi #SmartContracts #BlockchainDeveloper #SolidityDev #EVM #OpenZeppelin #Reentrancy #Web3Dev #BlockchainSecurity #DeFiSecurity #SmartContractAudit #CodeSecurity #OnChain #BlockchainEducation

Este conteúdo é apenas para fins informativos e educacionais. Ele pode incluir opiniões de terceiros, conteúdo patrocinado ou material promocional pelos quais o criador pode receber compensação. Nada neste feed constitui aconselhamento financeiro ou garantia de retorno. Você é o único responsável por suas próprias decisões de investimento. Sempre realize a sua própria pesquisa e aja com cautela antes de negociar. Não garantimos a precisão das informações de terceiros e não nos responsabilizamos por quaisquer perdas incorridas. Desempenho passado não é indicativo de resultados futuros. Consulte nossos Termos da Comunidade e a Declaração de Divulgação de Riscos para mais detalhes.

avatarPublique sua resposta

Comentar