Studio sulle falle di sicurezza tramite l'analisi statica degli smart contract di Ethereum generati da LLM
Mostra/ Apri
Autore
Vella, Mirco <2000>
Data
2024-10-16Disponibile dal
2024-10-24Abstract
La tecnologia blockchain, e gli smart contract, hanno il potenziale per essere utilizzata in un'ampia gamma di attività, che vanno dal contesto finanziario, governativo e industriale. Nonostante ciò, i programmatori spesso scrivono smart contract non sicuri che si sono dimostrati vulnerabili ad attacchi, causando anche ingenti perdite di denaro. Allo stesso tempo, l'avvento dei Large Language Models per la generazione di codice ha portato a nuovi possibili scenari, come la creazione di smart contract a partire da prompt scritti in linguaggio naturale, permettendo di ridurre i costi e i tempi di sviluppo. L'obiettivo di questa tesi magistrale è valutare la qualità e la sicurezza del codice generato dai Large Language Models nel contesto della blockchain Ethereum. A tal fine, sono stati generati 250 smart contract, contratti espressi sotto forma di programmi informatici alla base delle app decentralizzate, che sono stati sottoposti ad analisi con due tool di auditing al fine di identificare eventuali vulnerabilità. I risultati di questo studio hanno dimostrato che, nonostante i miglioramenti nella qualità generale delle risposte dei modelli, questi non sono ancora sufficientemente affidabili per essere utilizzati come soluzione completamente automatizzata per lo sviluppo di contratti intelligenti. Tuttavia, possono essere impiegati come strumento di supporto per accelerare fasi specifiche del processo di produzione. Blockchain technology supported by smart contracts has the potential to be used in a wide range of businesses, ranging from financial, government and industrial applications. Despite this, programmers often write naive smart contracts that have been proven to be vulnerable to attacks, causing also large losses of money. At the same time, the advent of Large Language Models for code generation led to new possible scenarios such as creating smart contract applications starting from natural language, allowing to reduce costs and development times. The objective of this Master's thesis is to evaluate the quality and security of the code generated by Large Language Models within the context of the Ethereum blockchain. In order to achieve this, we generated 250 smart contracts, which are self-enforcing agreements expressed as computer programs, that were subjected to analysis using two tools in order to identify any potential vulnerabilities. The results of this study demonstrated that, despite improvements in the general quality of model responses, they are not yet sufficiently reliable to be used as a fully automated solution for the development of smart contracts. However, they can be employed as a support tool to accelerate specific stages of the production process.
Tipo
info:eu-repo/semantics/masterThesisCollezioni
- Laurea Magistrale [4811]