Efeito de Reentrada (Re‑entrancy Attack): O que é, como funciona e como proteger seus smart contracts

Efeito de Reentrada (Re‑entrancy Attack)

O efeito de reentrada, conhecido internacionalmente como re‑entrancy attack, é uma das vulnerabilidades mais críticas em contratos inteligentes, principalmente na rede Ethereum. Essa falha permite que um atacante invoque repetidamente uma função vulnerável antes que o estado do contrato seja corretamente atualizado, drenando fundos ou alterando lógicas de negócio.

Como o ataque funciona?

Imagine um contrato que possui a função withdraw() para liberar ether a um usuário. Se, dentro dessa função, o contrato envia ether para o endereço do usuário antes de atualizar o saldo interno, o endereço pode ser um contrato mal‑icioso que, ao receber o ether, executa novamente withdraw(). Essa chamada recursiva ocorre enquanto o saldo ainda não foi reduzido, permitindo que o atacante retire mais fundos do que lhe é devido.

Exemplo clássico: DAO Hack (2016)

O ataque ao DAO em 2016 ilustrou o poder destrutivo da reentrada. Aproximadamente 3,6 milhões de ETH foram desviados, resultando em um hard fork da rede para reverter o dano.

Prevenção e boas práticas

  • Checks‑Effects‑Interactions: Sempre atualize o estado interno antes de interagir com contratos externos.
  • Reentrancy Guard: Utilize o modificador nonReentrant da OpenZeppelin.
  • Limite de gás: Defina um limite de gás ao chamar call para impedir chamadas recursivas.
  • Uso de transfer ou send: Essas funções limitam o gás a 2300 unidades, dificultando a reentrada (embora não seja 100% garantido).

Ferramentas de análise

Plataformas como Slither e MythX detectam padrões de reentrada em código Solidity. Além disso, a combinação de documentação oficial da Ethereum com auditorias manuais reforça a segurança.

Relacionamento com outras vulnerabilidades

A reentrada está intimamente ligada a questões de MEV (Maximal Extractable Value) e estratégias de front‑running. Para aprofundar, veja nosso artigo Soluções para mitigar o MEV: Guia completo para 2025, que discute como proteger contratos contra exploração de valor extraível.

Recursos internos recomendados

Para quem deseja expandir o conhecimento em segurança de contratos, recomendamos também:

Conclusão

O efeito de reentrada continua sendo uma ameaça real para desenvolvedores de smart contracts. Aplicando as boas práticas citadas, utilizando bibliotecas auditadas e realizando revisões de segurança constantes, é possível mitigar esse risco e garantir que seus projetos blockchain sejam robustos e confiáveis.