A ponte cross-chain da zkLink Nova foi hackeada ontem à noite: um comprovante de lote falsificado liberou cerca de US$ 780 mil
Às 22h21 UTC de 28 de outubro, uma transação retirou cerca de US$ 780 mil do contrato de custódia da zkLink Nova na Ethereum — eram 6h21 da manhã de hoje, horário de Pequim. A Blockaid deu o primeiro alerta, dizendo que o ataque ainda estava em andamento e que o principal contrato de custódia ainda não havia sido pausado. A SlowMist estima, em sua análise, que o valor foi de cerca de US$ 783,1 mil.
A zkLink Nova é uma rede agregadora de camada 3, com liquidação final na Ethereum. Para retirar fundos da Nova para a Ethereum, o usuário precisa que o contrato de custódia verifique primeiro um comprovante chamado batch root, que funciona como uma impressão digital de um lote de transações. O contrato só libera os fundos se reconhecer esse comprovante. O problema estava em quem podia gravar essa impressão digital no contrato.
A análise da SlowMist aponta para a função claimMessage do contrato Arbitrator. Ela não apagava o finalizeMessageHash depois de usá-lo, nem exigia uma autenticação nova a cada chamada de retorno. Primeiro, o invasor usou um contrato de retransmissão que qualquer pessoa podia chamar para inserir um hash válido; depois, mudou o destino para o gateway da Ethereum, fazendo com que a etapa de sincronização do batch root parecesse vir de um gateway legítimo. Assim que conseguiu se passar por ele, o falso root do lote 116409 foi inserido no contrato. Todas as provas de saque apresentadas pelo invasor correspondiam, e o contrato de custódia liberou os fundos. Tudo aconteceu em uma única transação, no bloco 26294188.
Foram retirados tokens de 12 tipos. A maior parte era pufETH, da Puffer: 245,74 tokens, cerca de US$ 615 mil, quase 80% do total. O restante incluía 22,43 ETH, 12,57 ezETH, 18113 USDC e pequenas quantidades de outros tokens. Em menos de uma hora, o invasor já havia trocado 123,26 ETH na Curve e, em seguida, transferido cerca de 303 ETH para três endereços, em três transações. Mais tarde, outro endereço usado no ataque retirou da mesma ponte cerca de 216,4 milhões de ZKL, no valor aproximado de US$ 42 mil.
O que os investidores de varejo devem aprender com isso não é o valor envolvido. US$ 780 mil não é muito: em abril deste ano, o caso da Kelp DAO envolveu US$ 292 milhões. O que realmente vale a pena lembrar é o caminho percorrido. Um contrato de retransmissão que qualquer pessoa podia chamar foi tratado como autorizado; um valor temporário que não foi apagado fez a cadeia de verificação se romper no meio. Se a porta do cofre reconhece a pessoa errada, não importa quantos ativos estejam lá dentro: nada os protege. No momento em que este texto foi escrito, a zkLink ainda não havia feito uma declaração pública, confirmado se a ponte estava pausada ou anunciado um plano de compensação. Tentar sacar agora pode significar mandar mais uma vez os fundos por uma porta que ainda não foi fechada.
Minha opinião é bem direta. Quando uma ponte sofre um incidente, primeiro confira nos canais oficiais se há um aviso de pausa; não se precipite para sacar. Se não houver um comunicado de pausa, não deposite novos fundos nem interaja com a ponte por enquanto. Se já tiver ativos nela, sacá-los em etapas é mais seguro do que retirar tudo de uma vez; antes de sacar, confira o aviso de pausa.
Você ainda tem ativos bloqueados em alguma ponte cross-chain? Quando foi a última vez que verificou o status de pausa e os comunicados oficiais?
#BTC #跨链桥 #安全复盘 #zkLink #SegurançaDeFi
—— web3韭菜小凯
Este conteúdo é apenas uma compilação de informações públicas e não constitui aconselhamento de investimento. Os valores mencionados têm como base os registros públicos da Blockaid, da SlowMist e do Etherscan. Para informações posteriores do projeto, consulte os canais oficiais.