
Demistificare i bug sfruttabili negli Smart Contract

Questo progetto mira a fornire una risorsa preziosa per sviluppatori Web3 e analisti di sicurezza, facilitando la loro comprensione dei bug sfruttabili negli smart contract. Conduciamo un'analisi approfondita dei bug sfruttabili estratti da code4rena e classifichiamo ciascun bug in base alla sua natura.
La nostra ricerca iniziale suggerisce che una parte notevole dei bug sfruttabili negli smart contract è costituita da bug funzionali, che non possono essere rilevati utilizzando oracoli semplici e generali come la reentrancy. Miriamo a sensibilizzare sull'importanza di tali bug e a incoraggiare i professionisti a sviluppare oracoli semantici automatici più sofisticati e sfumati per rilevarli.
Un numero significativo di bug sfruttabili negli smart contract rientra nella categoria dei bug funzionali, che non possono essere rilevati utilizzando oracoli semplici e generali.
Tieni presente che questo repository è attualmente in fase di sviluppo attivo e i dati potrebbero cambiare nel tempo a causa dei concorsi code4rena in corso.
Il dataset è organizzato in quattro cartelle:
Classifichiamo i bug esaminati in tre categorie principali in base alla loro natura:
Poiché classificare i bug funzionali può essere ambiguo, accogliamo con piacere suggerimenti per migliorare i nostri standard di classificazione. Puoi trovare informazioni più dettagliate sulle etichette nella nostra documentazione e ti invitiamo a fare riferimento alle nostre attuali linee guida di classificazione per maggiori informazioni.
Il nostro obiettivo è creare un elenco completo di tecniche di rilevamento delle vulnerabilità che possa rappresentare una risorsa preziosa per sviluppatori Web3 e analisti di sicurezza. Ci concentreremo su due categorie principali:
Accogliamo con calore qualsiasi suggerimento o contributo aggiuntivo dalla comunità per aiutare ad ampliare e migliorare l'elenco.
Riteniamo che i futuri sforzi sulla sicurezza web3 daranno priorità all'identificazione dei bug funzionali e allo sviluppo dei relativi oracoli. A tal fine, intendiamo compilare un elenco di tecniche che forniscano una guida nella creazione di oracoli semantici automatici. Queste tecniche proverranno da vari materiali, come articoli di ricerca peer-reviewed, preprint, strumenti industriali e risorse online.
| Tecnica | Categoria di bug |
|---|---|
| Finding Permission Bugs in Smart Contracts with Role Mining | Controllo accessi |
| AChecker: Statically Detecting Smart Contract Access Control Vulnerabilities | Controllo accessi |
| Towards Automated Verification of Smart Contract Fairness | Proprietà di equità |
| Clockwork Finance: Automated Analysis of Economic Security in Smart Contracts | TBD |
| Confusum Contractum: Confused Deputy Vulnerabilities in Ethereum Smart Contracts | Deputato confuso |
| Not your Type! Detecting Storage Collision Vulnerabilities in Ethereum Smart Contracts | Collisione di storage |
Questa sezione includerà tecniche open-source disponibili pubblicamente e attualmente in fase di sviluppo attivo. Queste tecniche possono essere utilizzate direttamente da sviluppatori Web3 e analisti di sicurezza o come elementi costitutivi per altri strumenti. Diamo priorità alle tecniche a livello di codice sorgente, che sono più adatte ai contesti di sviluppo e audit Web3.