L'attacco ha preso di mira il confine tra la logica di verifica delle prove a conoscenza zero (ZK-proof) e l'elaborazione del regolamento (settlement) sul layer 1 di Ethereum. Secondo CertiK, una delle funzioni di verifica del contratto controllava solo l'inizio di una prova ZK presentata, il che significa che i parametri utilizzati per autorizzare i trasferimenti di token non venivano mai completamente validati . Questo ha permesso all'aggressore di inviare una prova che superava i controlli iniziali, ma conteneva istruzioni di prelievo dannose nella parte più profonda del pacchetto di dati.
L'analisi successiva di SlowMist ha individuato la causa principale in un limite di attraversamento del ciclo di regolamento sul layer 1 (L1) all'interno di RollupV3. L'aggressore ha sfruttato una discrepanza tra numRealTxs e decoded_slots, che ha consentito l'invio di 31 slot vuoti alla radice dello stato sul layer 2 (L2) tramite una prova ZK, eludendo la verifica completa a livello del contratto su L1 . In totale, l'aggressore ha costruito 14 prove ZK-rollup; le ultime sette prove hanno drenato ciascuna un asset diverso dal contratto in transazioni separate
.
Ciò che rende unico questo incidente è che l'attacco era strutturalmente inarrestabile, per scelta progettuale. Aztec Connect era stato dismesso a marzo 2023 e agli utenti era stato concesso oltre un anno per ritirare i propri fondi . Nel 2024, Aztec Labs si è spinta oltre, rinunciando deliberatamente a tutte le chiavi amministrative e al controllo sul sistema. I contratti sono diventati completamente immutabili: nessun meccanismo di aggiornamento, nessun proprietario e, cosa fondamentale, nessuna funzione di pausa
.
"Aztec Connect è stato dismesso 3 anni fa. Aztec Labs non detiene alcuna chiave amministrativa né il controllo del sistema; non può essere messo in pausa o aggiornato", ha dichiarato il team su X poche ore dopo l'attacco, confermando che circa 2,1 milioni di dollari erano stati spostati dal contratto immutabile . Hanno sottolineato che l'attuale Aztec Network e il suo token ERC-20 AZTEC non sono stati coinvolti, ma hanno riconosciuto che non esisteva alcun meccanismo per recuperare i fondi persi
.
Nonostante l'ampia finestra per i prelievi e le comunicazioni relative alla chiusura, circa 2,1 milioni di dollari in beni residui degli utenti erano rimasti bloccati all'interno dei vecchi contratti al momento dell'attacco . I fondi esistevano in una sorta di limbo: nessuno poteva recuperarli legittimamente senza interagire con il rollup dismesso, e nessuno è potuto intervenire quando la vulnerabilità è stata innescata.
L'attacco ad Aztec Connect è un classico esempio del problema dei "contratti zombie" nella finanza decentralizzata. I contratti intelligenti immutabili non svaniscono semplicemente quando un progetto chiude. Persistono sulla blockchain con tutta la logica e il valore che contengono, spesso trattenendo all'infinito i beni degli utenti. Quando le chiavi amministrative vengono revocate per perseguire la piena decentralizzazione, il contratto diventa un "vaso di miele" permanente e non correggibile. Qualsiasi vulnerabilità non scoperta si trasforma in una bomba a orologeria che può esplodere anni dopo, senza alcuna possibilità di intervento .
Questo rischio è asimmetrico. I progetti che rinunciano al controllo guadagnano credibilità per non avere backdoor, ma gli utenti che non riescono a ritirare i fondi durante le finestre di dismissione si accollano l'intero costo. Il caso Aztec dimostra che, anche dopo tre anni, milioni di dollari possono rimanere intrappolati in un contratto che tutti pensavano fosse morto.
Per i team DeFi che intendono dismettere un protocollo, la lezione è chiara. Prima di rinunciare alle chiavi amministrative, i progetti devono completare forzatamente tutti i prelievi o implementare un meccanismo di emergenza basato su blocco temporale che non richieda un controllo amministrativo a lungo termine. Senza queste precauzioni, un'infrastruttura abbandonata ma immutabile attirerà inevitabilmente aggressori disposti a cercare falle che non potranno mai essere corrette .
Comments
0 comments