- ZKsync publica relatório detalhado sobre comprometimento de chave de administrador em contratos do airdrop
- Ataque cunhou 111,8 milhões de tokens ZK indevidamente
- Investigação confirma que protocolo e demais contratos do ZKsync não sofreram impacto
A equipe da ZKsync divulgou, em 23 de abril, um relatório detalhado sobre o incidente de segurança que resultou na cunhagem não autorizada de 111.881.122 tokens ZK, equivalente a cerca de US$ 5 milhões à época. O caso, ocorrido em 13 de abril, envolveu o comprometimento de uma chave de administrador associada a três contratos de distribuição do airdrop de tokens ZK lançado em junho de 2024.
De acordo com a publicação, o ataque foi possível devido a um erro de procedimento que classificou incorretamente o risco desses contratos. Como resultado, a configuração de segurança — que deveria ter sido atualizada após o lançamento da governança do protocolo — permaneceu vulnerável.
A chave de administração, configurada como um multisig 1/1, permitiu ao invasor chamar a função sweepUnclaimed(). Assim, ele conseguiu cunhar os tokens ZK que não haviam sido reivindicados.
ZKsync revela detalhes de ataque sofrido
O relatório afirma que o ataque não afetou nenhum outro contrato do ecossistema ZKsync. O protocolo principal, os contratos de governança, o contrato do token ZK e os mineradores do Programa de Tokens operaram normalmente. Conforme informaram, a falha se restringiu aos contratos de distribuição do airdrop controlados pela chave comprometida.
A identidade do invasor, no entanto, ainda é desconhecida. A chave comprometida havia sido criada por um ex-colaborador que não tem vínculo com nenhuma das entidades afiliadas à ZKsync desde o ano anterior. A investigação não encontrou indícios de que esse ex-funcionário tenha agido de má-fé.
A equipe de engenharia da Matter Labs identificou o comprometimento na manhã de 15 de abril. Em seguida, em colaboração com a Associação ZKsync e a Fundação ZKsync, iniciou a mitigação do incidente. As equipes aplicaram medidas emergenciais de filtragem de transações ao sequenciador ZKsync Era para impedir novas movimentações da conta comprometida.
Invasor devolve fundos
No dia 21 de abril, o Conselho de Segurança do ZKsync enviou uma mensagem onchain oferecendo uma recompensa ao invasor em troca da devolução de 90% dos fundos. A oferta previa uma recompensa de 10% caso o hacker devolvesse o restante dentro de 72 horas. Em 23 de abril, o invasor devolveu os fundos, encerrando o caso sem ações legais.
A ZKsync também anunciou medidas preventivas, incluindo a rotação programada de chaves multisig, políticas de avaliação de risco atualizadas e o uso obrigatório do contrato Capped Minter V2 em programas de tokens. Além disso, implantará uma infraestrutura de monitoramento em tempo real para contratos com acesso ao token ZK.
O relatório reforça que a função sweepUnclaimed() — que permitiu a cunhagem dos tokens — não era necessária dentro do modelo de governança do protocolo. Assim, sua inclusão teria sido um erro de design. Os contratos do airdrop também não passaram pelo mesmo rigor de revisão de segurança aplicado aos demais contratos do ecossistema.
A decisão sobre o destino dos fundos devolvidos está em análise pela governança do protocolo. A equipe divulgará um plano à Assembleia de Tokens para votação futura. Além disso, consultará a comunidade durante o processo.
Token ZK sobe
Como resultado da recuperação pós-incidente, o preço do token ZK subiu 8,1% nas últimas 24 horas. De acordo com dados do CoinGecko, o preço do criptoativo está cotado a US$ 0,059 no momento da redação.