I contratti intelligenti sono come piccole applicazioni che gestiscono denaro su blockchain. Ma a volte hanno problemi di sicurezza, soprattutto nella gestione degli accessi. I metodi tradizionali usano alberi di sintassi o grafi di flusso, ma non riescono sempre a catturare bene la logica e i significati. I grafi di conoscenza sono diversenti: rappresentano entità e relazioni in modo strutturato, rendendo più facile capire il codice. Un nuovo strumento chiamato CKG-LLM usa grandi modelli linguistici per trasformare descrizioni in linguaggio naturale delle vulnerabilità in query eseguibili su questi grafi. Questo permette di trovare automaticamente le parti di codice a rischio. Gli esperimenti mostrano che CKG-LLM funziona meglio dei vecchi sistemi. In futuro potrebbe essere usato per altri tipi di contratti intelligenti.
I grafi di conoscenza (Knowledge Graphs) offrono un'alternativa promettente alle rappresentazioni tradizionali come gli alberi di sintassi astratti (AST), i grafi di flusso del controllo (CFG) e la forma a assegnazione singola statica (SSA). Mentre queste strutture catturano aspetti sintattici o di flusso, i grafi di conoscenza integrano semantica e struttura logica, permettendo query complesse tramite linguaggi dedicati. CKG-LLM sfrutta le capacità di ragionamento e generazione di codice dei Large Language Models (LLM) per convertire pattern di vulnerabilità espressi in linguaggio naturale in query eseguibili su grafi di conoscenza dei contratti. Questo approccio ibrido combina l'interpretazione semantica degli LLM con la precisione delle query su grafi, migliorando l'identificazione di elementi di codice vulnerabili. Le valutazioni sperimentali indicano prestazioni superiori rispetto agli strumenti esistenti, aprendo nuove possibilità per l'analisi automatica della sicurezza.
Chiedi all'AI
Nei prossimi 3-5 anni, strumenti come CKG-LLM potrebbero diventare lo standard per gli sviluppatori di blockchain, offrendo un controllore di sicurezza automatico in tempo reale durante la scrittura del codice. Questo ridurrà drasticamente i costi dei audit e renderà le applicazioni finanziarie molto più sicure per gli utenti comuni, proteggendo i loro digital asset da furti dovuti a bug di programmazione.
