Vulnerabilidade em contratos de colecionáveis digitais leva a 34 milhões de dólares permanentemente bloqueados, destacando a importância da auditoria de segurança.
Recentemente, uma empresa de segurança descobriu duas falhas graves em um contrato de colecionáveis digitais. Essas falhas podem resultar no bloqueio dos ativos dos usuários ou na impossibilidade de a equipa do projeto retirar os fundos.
O primeiro erro está presente na funcionalidade de processamento de reembolsos. Esta funcionalidade utiliza um método de loop para reembolsar todos os utilizadores, mas se algum utilizador for um contrato malicioso, pode recusar receber o reembolso e interromper a transação, levando ao fracasso da operação de reembolso para todos os utilizadores. Felizmente, este erro não foi realmente explorado.
Para evitar problemas semelhantes, recomenda-se que a equipa do projeto tome as seguintes medidas de segurança:
A restrição é que apenas contas de utilizadores individuais podem participar no projeto
Usar tokens ERC20 em vez de ativos nativos
Criar um mecanismo para que os usuários solicitem ativamente reembolsos, em vez de reembolsos em massa.
O segundo erro é causado por um erro lógico no código. Na função de extração de fundos do projeto, existe uma instrução de avaliação condicional, mas o objeto a ser comparado está incorreto. Isso faz com que a condição nunca possa ser satisfeita, e a equipa do projeto não consiga extrair os ativos do contrato. Atualmente, mais de 34 milhões de dólares em ativos estão permanentemente bloqueados nesse contrato.
Esses problemas destacam novamente que, mesmo projetos conhecidos, podem cometer erros básicos. Durante o processo de desenvolvimento, testes adequados e uma consciência básica de segurança são cruciais. Embora as auditorias de segurança tenham se tornado práticas comuns no campo das finanças descentralizadas, elas ainda estão ausentes em projetos de colecionáveis digitais. Essa negligência levou diretamente a enormes perdas financeiras.
Este evento lembra-nos que, independentemente da escala do projeto, devemos dar importância à segurança do código, realizando testes e auditorias abrangentes para evitar a ocorrência de perdas significativas semelhantes.
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
19 Curtidas
Recompensa
19
6
Compartilhar
Comentário
0/400
MeaninglessGwei
· 10h atrás
Pequenos projetos não testam e vão direto, o que é que se está a brincar?
Ver originalResponder0
BearMarketLightning
· 07-19 13:40
Desleixo não é para brincar!
Ver originalResponder0
NightAirdropper
· 07-18 22:25
Mais um scamcoin que colapsou.
Ver originalResponder0
GateUser-ccc36bc5
· 07-18 22:24
A auditoria pode ser mais séria?
Ver originalResponder0
WalletDoomsDay
· 07-18 22:24
Ah, isso é realmente a culpa dos contratos inteligentes.
Vulnerabilidade em contratos de colecionáveis digitais leva a 34 milhões de dólares permanentemente bloqueados, destacando a importância da auditoria de segurança.
Recentemente, uma empresa de segurança descobriu duas falhas graves em um contrato de colecionáveis digitais. Essas falhas podem resultar no bloqueio dos ativos dos usuários ou na impossibilidade de a equipa do projeto retirar os fundos.
O primeiro erro está presente na funcionalidade de processamento de reembolsos. Esta funcionalidade utiliza um método de loop para reembolsar todos os utilizadores, mas se algum utilizador for um contrato malicioso, pode recusar receber o reembolso e interromper a transação, levando ao fracasso da operação de reembolso para todos os utilizadores. Felizmente, este erro não foi realmente explorado.
Para evitar problemas semelhantes, recomenda-se que a equipa do projeto tome as seguintes medidas de segurança:
O segundo erro é causado por um erro lógico no código. Na função de extração de fundos do projeto, existe uma instrução de avaliação condicional, mas o objeto a ser comparado está incorreto. Isso faz com que a condição nunca possa ser satisfeita, e a equipa do projeto não consiga extrair os ativos do contrato. Atualmente, mais de 34 milhões de dólares em ativos estão permanentemente bloqueados nesse contrato.
Esses problemas destacam novamente que, mesmo projetos conhecidos, podem cometer erros básicos. Durante o processo de desenvolvimento, testes adequados e uma consciência básica de segurança são cruciais. Embora as auditorias de segurança tenham se tornado práticas comuns no campo das finanças descentralizadas, elas ainda estão ausentes em projetos de colecionáveis digitais. Essa negligência levou diretamente a enormes perdas financeiras.
Este evento lembra-nos que, independentemente da escala do projeto, devemos dar importância à segurança do código, realizando testes e auditorias abrangentes para evitar a ocorrência de perdas significativas semelhantes.