Verbete do glossário
Ataque de reentrância
Carteiras e SegurançaO 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
Tomada de contaEnvenenamento de endereçoCódigo anti-phishingPermissões de chave APIExploração de ponte (bridge exploit)Programa de recompensas por vulnerabilidadesSequestro da área de transferênciaArmazenamento a frio (cold storage)Aprovação de coleção (setApprovalForAll)Phishing criptoCustodial vs não custodialSeguro de custódia