ZetaChain reconheceu que a vulnerabilidade por trás da recente exploração já havia sido relatada através de seu programa de recompensas por bugs, mas foi tratada como comportamento esperado.
De acordo com um post-mortem da ZetaChain divulgado na quarta-feira, o incidente levou a uma revisão interna de como o protocolo avalia os envios de recompensas por bugs, especialmente aqueles que envolvem caminhos de ataque em várias etapas que podem parecer inócuos quando vistos individualmente.
A divulgação segue o ataque de domingo contra o contrato de gateway cross-chain do projeto, que resultou no comprometimento de aproximadamente US$ 334.000 em nove transações no Ethereum, Arbitrum, Base e BSC, todas de carteiras controladas pela equipe.
A ZetaChain disse que os fundos dos usuários não foram afetados, ponto que enfatizou no dia anterior, quando suspendeu as transações entre cadeias em sua rede principal para impedir a violação.
Os dados da DefiLlama estimaram anteriormente a perda em cerca de US$ 300.000, mas a ZetaChain disse na época que divulgaria um detalhamento completo após concluir sua investigação.
Combine defeitos para permitir a ejeção completa
De acordo com ZetaChain, o invasor encadeou três pontos fracos de design separados que pareciam insignificantes por si só, mas juntos permitiram a exploração. Embora o contrato de gateway permitisse o envio ilimitado de instruções cross-chain, o receptor executou quase todos os comandos do contrato com uma lista de bloqueio limitada que não cobria a funcionalidade básica de transferência de token.
As carteiras existentes que interagiam com o gateway tinham autorização de token ilimitada e não foram revogadas. Ao combinar essas condições, o invasor instruiu o gateway a retirar os tokens dessas carteiras e o sistema realizou a transferência sem resistência.
“Este não foi um ataque oportunista”, disse ZetaChain, descrevendo como os invasores se prepararam antecipadamente, financiando a carteira através do Tornado Cash três dias antes da exploração, implantando um contrato de drenagem personalizado no ZetaChain e executando uma campanha de envenenamento de endereço antes de iniciar as transações.
Relatórios de bugs são descartados antes que possam ser explorados
Após uma autópsia, a ZetaChain confirmou que esta questão já havia sido levantada por meio de seu programa de recompensas por bugs, mas não foi tratada como uma ameaça na época. A equipe disse que isso levou a uma reavaliação de como lida com relatórios que descrevem combinações complexas de ataques, em vez de bugs individuais.
“Este bug foi relatado para mim e eles o ignoraram”, escreveu um usuário ao X, acrescentando que os atuais sistemas de recompensas de bugs muitas vezes não recompensam os pesquisadores que identificam vulnerabilidades antes de serem exploradas.
Após este incidente, ZetaChain anunciou que desativou a funcionalidade de chamada arbitrária do gateway por meio de um patch implantado nos nós da rede principal. A plataforma também removeu autorizações ilimitadas de tokens do processo de depósito e as substituiu por autorizações de valor exato para reduzir o risco de padrões de ataque semelhantes.

