Anuncie na KripZen — coloque sua marca diante de um público global de criptomoedas.Fale conosco →

Verbete do glossário

Ataque de reentrância

Carteiras e Segurança

O ataque de reentrância volta a chamar o contrato antes de os saldos serem atualizados, permitindo levantamentos repetidos numa só transação.

Definição

Um ataque de reentrância explora um contrato inteligente que envia fundos antes de atualizar os seus próprios registos internos. O contrato que recebe aproveita esse instante para chamar de novo a função original, que ainda mostra o saldo antigo, e repete o levantamento várias vezes dentro de uma única transação. É uma das classes de vulnerabilidade mais antigas e conhecidas em contratos inteligentes e ajudou a moldar as práticas modernas de Solidity. As defesas habituais são o padrão checks-effects-interactions, em que o estado é escrito antes de qualquer chamada externa, e os guardas de reentrância, que bloqueiam a função enquanto esta executa. A reentrância lembra que, em código partilhado e componível, qualquer chamada externa pode entregar o controlo a terceiros não confiáveis.

A seguir

Termos relacionados

Mais em Carteiras e Segurança