← Tutti i progetti Sicurezza / DeFi

SmartReco — Analisi statica e dinamica di contratti DeFi

Una pipeline in quattro fasi che affianca l'analisi statica di Slither al replay delle transazioni basato su REVM, poi verifica i risultati dell'una contro l'altra su 17 protocolli DeFi reali.

Ruolo
Autore unico
Contesto
Corso di Blockchain & Smart Contract
Stack principale
Slither · REVM · Solidity
Protocolli testati
17

In breve

Gli analizzatori statici segnalano che cosa potrebbe andare storto; rieseguire transazioni reali mostra che cosa è davvero successo. SmartReco esegue entrambi sugli stessi contratti e correla i risultati, così un finding deve sopravvivere a due metodi indipendenti prima di contare.

Contract source On-chain history Slither — static REVM — replay correlated findings
I risultati statici sono verificati contro le transazioni rieseguite, così un problema segnalato deve sopravvivere a entrambi i passaggi.

Il problema

Enti pubblici, fondi e aziende detengono sempre più spesso valore che si muove attraverso smart contract: asset tokenizzati, canali di pagamento, sperimentazioni di erogazione di contributi. Il codice è pubblico, cosa che viene abitualmente scambiata per il codice è compreso. In pratica l'organizzazione deve rispondere a una domanda per cui non ha strumenti: questo contratto si comporta come il suo sorgente lascia intendere, on-chain, con denaro reale?

Come questo progetto aiuta

SmartReco fa in modo che una segnalazione si guadagni il proprio posto, richiedendo che due metodi indipendenti concordino. Slither legge il sorgente e propone che cosa potrebbe andare storto; un harness REVM riesegue transazioni realmente avvenute e mostra che cosa è andato storto davvero. I due passaggi vengono poi correlati, così ciò che arriva a una persona è sopravvissuto a entrambi.

La parte generalizzabile non riguarda solo la DeFi. Qualsiasi domanda di due diligence nella forma questo sistema in produzione fa davvero ciò che il suo sorgente lascia intendere ha la stessa struttura: un metodo che ragiona sul codice, uno che lo osserva mentre gira e un passo di correlazione che porta a galla solo ciò che entrambi sostengono.

Che cosa fa

Risultati

Sui 17 protocolli testati, la pipeline ha riportato zero vulnerabilità e ha raggiunto oltre il 90% di accuratezza nel replay delle transazioni dopo una serie di correzioni al livello di replay.

Un risultato a zero finding su protocolli maturi e ampiamente auditati è l'esito atteso: sono tra i contratti più revisionati in produzione. Il numero significativo qui è l'accuratezza del replay, perché misura se l'harness riproduce fedelmente l'esecuzione on-chain, che è ciò su cui si reggerebbe qualsiasi finding.

Presentazione

Il lavoro è stato documentato e presentato come slide HTML interattive invece che come report statico, così da poter percorrere passo passo le fasi della pipeline e i risultati per protocollo.

Stack

Slither REVM Solidity Analisi statica Replay delle transazioni
← T-Rax VR Hand Interfaces →