O exploit mirou a fronteira entre a lógica de verificação de provas de conhecimento zero (ZK-proofs) e o processamento de liquidação na camada 1 (L1) do Ethereum. De acordo com a CertiK, uma das funções de verificação do contrato verificava apenas o início de uma prova enviada, o que significa que os parâmetros usados para autorizar as transferências de tokens nunca eram totalmente validados . Isso permitiu que o invasor enviasse uma prova que passava pelas verificações iniciais, mas continha instruções maliciosas de saque na parte mais profunda dos dados.
A análise subsequente da SlowMist identificou a causa raiz nos limites de iteração do loop de liquidação da L1 dentro do RollupV3. O invasor explorou uma discrepância entre numRealTxs e decoded_slots, permitindo a submissão de 31 slots vazios para a raiz de estado da L2 (segunda camada) por meio de uma prova ZK, evitando a verificação completa na camada de contrato da L1 . No total, o invasor construiu 14 provas de ZK-rollup; as últimas sete provas drenaram cada uma um ativo diferente do contrato em transações separadas
.
O que torna este incidente único é que o ataque era estruturalmente imparável — por design. O Aztec Connect foi descontinuado em março de 2023, e os usuários tiveram mais de um ano para sacar seus fundos . Em 2024, a Aztec Labs foi além: renunciou deliberadamente a todas as chaves de administrador e ao controle sobre o sistema. Os contratos tornaram-se totalmente imutáveis: sem mecanismo de atualização, sem proprietário e, criticamente, sem função de pausa
.
"O Aztec Connect foi descontinuado há 3 anos. A Aztec Labs não possui chaves de administrador ou controle sobre o sistema; ele não pode ser pausado ou atualizado", declarou a equipe no X horas após o exploit, confirmando que aproximadamente US$ 2,1 milhões haviam sido movidos do contrato imutável . Eles enfatizaram que a rede atual Aztec Network e seu token ERC-20 AZTEC não foram afetados, mas reconheceram que não havia mecanismo para recuperar os fundos perdidos
.
Apesar da janela estendida para saques e da comunicação em torno do encerramento, aproximadamente US$ 2,1 milhões em ativos residuais de usuários permaneceram presos dentro dos contratos antigos no momento do ataque . Os fundos existiam em uma espécie de limbo: ninguém poderia recuperá-los legitimamente sem interagir com o rollup descontinuado, e ninguém poderia intervir quando a vulnerabilidade foi acionada.
O exploit do Aztec Connect é a ilustração perfeita do problema dos "contratos zumbis" nas finanças descentralizadas. Smart contracts imutáveis não simplesmente desaparecem quando um projeto é encerrado. Eles persistem na blockchain com toda a lógica — e o valor — que contêm, muitas vezes retendo ativos de usuários indefinidamente. Quando as chaves de administrador são renunciadas em busca da descentralização total, o contrato se torna um pote de mel (honeypot) permanente e incorrigível. Qualquer vulnerabilidade não descoberta torna-se uma bomba-relógio que pode ser detonada anos depois, sem qualquer possibilidade de recurso .
Este é um risco assimétrico. Projetos que renunciam ao controle ganham credibilidade por não terem um "backdoor" (porta dos fundos), mas os usuários que não realizam o saque durante as janelas de descontinuação arcam com todo o prejuízo. O caso da Aztec mostra que, mesmo após três anos, milhões de dólares podem permanecer presos em um contrato que todos presumiam estar morto.
Para as equipes DeFi que planejam descontinuar um protocolo, a lição é dura. Antes de renunciar às chaves de administrador, os projetos devem forçar a conclusão de todos os saques ou implementar um mecanismo de emergência baseado em temporizador (timelock) que não exija controle administrativo de longo prazo. Sem essas salvaguardas, infraestruturas abandonadas, mas imutáveis, inevitavelmente atrairão invasores dispostos a procurar por falhas que nunca poderão ser corrigidas .