Skip to content
Blockchain

Perché aggiornare il mio smart contract mi permette di corrompere silenziosamente uno storage che i revisori hanno già approvato?

82

Opportunità

I pattern proxy aggiornabili (UUPS, Transparent Proxy, Diamond) sono standard nei DeFi in produzione ma comportano un vincolo rigoroso: il layout di storage di una nuova implementazione deve essere compatibile con ogni slot assegnato dalla precedente. Inserire una nuova variabile di stato nella posizione sbagliata corrompe silenziosamente ogni slot successivo, senza alcun errore on-chain. I checker automatizzati come il plugin di upgrade di OpenZeppelin intercettano i casi banali ma non rilevano lo storage con namespace ERC-7201 con packing personalizzato, le assegnazioni di slot a livello assembly e le collisioni incrociate tra facet Diamond in cui due facet rivendicano la stessa regione di storage. Uno studio peer-reviewed del gennaio 2026 (ProxyLens) ha individuato una significativa classe di vulnerabilità da collisione inter-facet che gli strumenti esistenti non riescono a rilevare. I revisori esaminano i contratti di implementazione in isolamento e non riescono a ricostruire la mappa di storage completa di un proxy con più facet delegati.

Perché è importante

Uno strumento che costruisce una mappa di storage completa con diff tra versioni su tutti i contratti proxy e di implementazione trasformerebbe una classe di corruzione silente dei dati in un deployment bloccato.

Come valuto l'opportunità

L'Opportunity Score è la mia valutazione personale, non una misurazione: quanto fa male, con quale frequenza colpisce e quanto poco esiste per risolverlo oggi. Un punteggio più alto significa che lo ritengo più degno di essere sviluppato.

Gravità9/10

Quanto dolore provoca quando si manifesta.

Frequenza6/10

Quanto spesso le persone ci si imbattono davvero.

Spazio bianco8/10

Quanti pochi strumenti validi esistono oggi per affrontarlo.

Altri problemi che vale la pena risolvere