Back to Blog

Como o NFT Akutar Perdeu $34.000.000 USD

Code Auditing
April 23, 2022
3 min read

Descobrimos que existem duas sérias vulnerabilidades de lógica nos contratos @AkuDreams. A primeira vulnerabilidade pode causar um ataque de DoS e a segunda vulnerabilidade fará com que os fundos do projeto (mais de 34 milhões de USD) fiquem bloqueados para sempre.

Vulnerabilidade I

A primeira vulnerabilidade existe na função processRefunds. Esta função possui um loop que reembolsará os fundos de cada usuário que deu um lance. No entanto, o licitante pode ser um contrato malicioso que reverte a transação. Isso pode causar a reversão da invocação de processRefunds, e nenhum dos reembolsos dos usuários pode ser bem-sucedido. Felizmente, esta vulnerabilidade não foi explorada.

Sugerimos que o contrato possa tomar as seguintes medidas para reembolsar os usuários.

  • Garantir que apenas EOA possa dar lances
  • Usar token ERC20, por exemplo, WETH, em vez de ETH
  • Ter uma função que permita ao usuário obter o reembolso por conta própria

Vulnerabilidade II

A segunda vulnerabilidade é um bug de software. Na função claimProjectFunds, o proprietário do projeto pode reivindicar o Ether no contrato. No entanto, a declaração require require(refundProgress >= totalBids, "Refunds not yet processed"); possui um bug, que deveria comparar o refundProgress com _bidIndex em vez de totalBids. Devido a essa vulnerabilidade, o requisito nunca será satisfeito, e o Ether (11.539,5 Ether) no contrato pode ficar bloqueado para sempre.

Resumo

Ficamos surpresos novamente (após o caso do NBA NFT ontem) com o fato de como um projeto de alto perfil pode negligenciar práticas básicas de segurança de software. No mínimo, o projeto deveria escrever casos de teste suficientes. Infelizmente, suspeitamos que os projetos estavam ocupados demais para escrever os casos de teste e perderam 3.400 USD para sempre.

Sobre a BlockSec

A BlockSec é uma empresa pioneira em segurança de blockchain, fundada em 2021 por um grupo de especialistas em segurança de renome mundial. A empresa está comprometida em aprimorar a segurança e a usabilidade para o emergente mundo Web3, a fim de facilitar sua adoção em massa. Para isso, a BlockSec oferece serviços de auditoria de segurança para contratos inteligentes e chains EVM, a plataforma Phalcon para desenvolvimento de segurança e bloqueio proativo de ameaças, a plataforma MetaSleuth para rastreamento e investigação de fundos, e a extensão MetaDock para construtores web3 navegarem com eficiência no mundo cripto.

Até o momento, a empresa atendeu mais de 300 clientes estimados, como MetaMask, Uniswap Foundation, Compound, Forta e PancakeSwap, e recebeu dezenas de milhões de dólares americanos em duas rodadas de financiamento de investidores de destaque, incluindo Matrix Partners, Vitalbridge Capital e Fenbushi Capital.

Site oficial: https://blocksec.com/

Conta oficial no Twitter: https://twitter.com/BlockSecTeam

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit