Recenti Sviluppi nel Sistema SP1 ZKVM di Succinct
Il sistema SP1 ZKVM di Succinct ha recentemente attirato l’attenzione a causa di una grave vulnerabilità di sicurezza emersa nella generazione delle prove. Questa problematica è stata individuata da LambdaClass in collaborazione con 3Mi Labs e Aligned, e riguarda specificamente la versione 3 del software. La vulnerabilità è il risultato dell’interazione di due difetti distinti, sollevando interrogativi sulla sicurezza del sistema.
Comunicazioni da parte di Succinct
Succinct ha informato i clienti riguardo al potenziale exploit utilizzando canali come Github e Telegram. È fondamentale comprendere le problematiche rilevate che hanno portato alla scoperta della vulnerabilità.
Fase di Verifica Insufficiente
Un aspetto critico è rappresentato dalla fase di verifica, che faceva uso di una lista per monitorare i componenti essenziali delle prove. Tuttavia, non era previsto un controllo adeguato sull’accuratezza di questa lista. Ciò ha consentito a un attaccante di manipolarla, producendo prove non valide. Succinct ha risposto a questo problema implementando nuovi controlli.
Flag di Prova Non Completo
Un altro elemento importante nel sistema di verifica delle prove di SP1 era un flag necessario per attestare che una prova fosse stata completata. Questo flag, però, non veniva applicato in maniera consistente, presentando così una vulnerabilità. Succinct ha provveduto a rafforzare i controlli per garantire l’accuratezza di tale processo.
Problematica di Valutazione Polinomiale
In aggiunta, è stato riscontrato un difetto in Plonky3, una delle dipendenze di SP1, che impediva una verifica completa di tutti i calcoli prioritaria alla convalida di una prova. Con l’implementazione dell’aggiornamento, ora ogni componente delle prove è oggetto di controllo appropriato.
Implicazioni per la Sicurezza delle ZKVM
Nonostante la vulnerabilità sia stata risolta prontamente, il caso ha suscitato preoccupazioni riguardo alla trasparenza delle pratiche di sicurezza adottate nell’ambito delle macchine virtuali a conoscenza zero (ZKVM). La tecnologia SP1 è attualmente integrata in diversi progetti di alto profilo, come Mantle Network, AggLayer, Taiko e un nuovo framework di rollup SVM in fase di sviluppo.
Avvertimenti da LambdaClass
LambdaClass ha messo in guardia rispetto alle implicazioni di questa vulnerabilità, sottolineando che la sua natura deriva dall’interazione tra due problemi. Pertanto, la correzione di uno potrebbe non impedire il verificarsi di ulteriori exploit. Fede, uno degli sviluppatori di LambdaClass, ha ritenuto necessario comunicare pubblicamente l’errore, notando una mancanza di urgenza nella comunicazione da parte di Succinct.
Risposta di Avail e Prospettive Future
Anurag Arjun di Avail ha riconosciuto la reazione responsabile della leadership di Succinct nella risoluzione della problematica, concordando sulla necessità di migliori pratiche di divulgazione. Inoltre, ha evidenziato che, essendo i sistemi ZKVM relativamente nuovi e in continua evoluzione, non ci si deve sorprendere se emergono vulnerabilità.
Avail, che utilizza SP1 nel suo meccanismo di consenso, è stata informata della falla prima che potesse arrecarle danno, poiché si affida a un provatore sviluppato internamente da Succinct. La versione migliorata di SP1, chiamata Turbo, ha risolto la vulnerabilità identificata e i progetti che ne dipendono stanno iniziando ad integrare queste correzioni.
Riflessioni Conclusive
Questa situazione mette in luce il fatto che anche i codici più accuratamente auditati possono contenere bug. Succinct ha ammesso che, nonostante gli audit offrano importanti riscontri, non sono infallibili e l’azienda ha l’obiettivo di migliorare continuamente la sicurezza delle proprie soluzioni.
Rimane aperta la questione su come trovare un equilibrio tra sicurezza, trasparenza e protezione degli utenti, gestendo al meglio il confine tra critiche costruttive e conflitti interni che potrebbero risultare controproducenti.