Gli hacker sfruttano l’AI per scovare bug nei software; ma c’è un rovescio della medaglia. Modelli di intelligenza artificiale simili a ChatGPT sono in grado di identificare errori nel codice dei computer, permettendo alle persone di ottenere ricompense per averli trovati – ma altri stanno utilizzando gli stessi strumenti per segnalare bug che in realtà non esistono. Gli hacker stanno impiegando strumenti di intelligenza artificiale per individuare bug nel codice dei computer e reclamare ricompense che valgono migliaia di dollari. Tuttavia, altri stanno utilizzando gli stessi strumenti AI per generare rapporti sui bug realistici ma privi di senso, rendendo difficile capire a quali rapporti dare fiducia.
Pagati per scoprire i bug
I programmi di ricompensa per la scoperta dei bug offrono premi in denaro a chi riesce a trovare difetti nei software. Queste iniziative sono state utilizzate nel settore della cybersecurity per decenni per incentivare le persone a segnalare problemi così che i programmatori possano rafforzare la sicurezza, sia nelle aziende tecnologiche consolidate come Microsoft o Google, sia nei software liberamente disponibili.
Yang Liu della Nanyang Technological University di Singapore e i suoi colleghi hanno sviluppato diversi strumenti che utilizzano grandi modelli linguistici (LLM) come GPT-4, la tecnologia alla base di ChatGPT, per trovare e correggere vulnerabilità nei contratti intelligenti, ovvero accordi digitali memorizzati su blockchain, come la rete Ethereum. Questi contratti riguardano cose come l’acquisto di case o accordi su come le campagne di crowdfunding dovrebbero spendere i fondi raccolti, e vengono eseguiti automaticamente secondo regole e condizioni predefinite scritte nel codice. Se ci sono errori o falle in questo codice, gli hacker possono sfruttarli per prendere il denaro dettagliato nell’accordo.
Uno strumento che Liu e il suo team hanno sviluppato, chiamato GPTScan, ha trovato nove vulnerabilità nei contratti intelligenti che le persone avevano trascurato. Un altro, chiamato PropertyGPT, può generare codice di contratto intelligente secondo specifiche scritte, oltre a controllare i contratti alla ricerca di errori. Quando Liu e i suoi colleghi hanno utilizzato PropertyGPT per controllare i contratti intelligenti esistenti sulla piattaforma Certora, hanno trovato 12 bug che hanno segnalato a un programma di ricompense per reclamare una ricompensa di 8.256 dollari.
Liu e il suo team stanno ora lavorando alla creazione di uno strumento di controllo dei bug più avanzato. “I nostri metodi generali non sono applicabili solo ai contratti intelligenti, ma in realtà possiamo usarli per trovare vulnerabilità in altri linguaggi di programmazione,” afferma Liu. Gli hacker etici, che cercano debolezze e bug nei software e reclamano una ricompensa segnalando agli sviluppatori, hanno già iniziato a integrare AI disponibili pubblicamente nei loro kit di strumenti, dice Dane Sherrets di HackerOne, una società di cybersecurity che aiuta le aziende di software a gestire programmi di ricompensa per la scoperta dei bug.
Strumenti personalizzati costruiti modificando ChatGPT
Sherrets, che cerca anche bug nel suo tempo libero, dice di aver visto hacker utilizzare strumenti personalizzati costruiti modificando ChatGPT di OpenAI. Queste AI possono sia cercare vulnerabilità in blocchi di codice sia aiutare a testare le difese informatiche di un sistema, come generare elenchi di parole da inviare a un sistema che potrebbe rivelare una falla nella sicurezza. Sono anche utili per scrivere e comunicare la gravità e l’impatto dei bug agli sviluppatori, dice Sherrets, cosa che può essere difficile per i programmatori immersi nei dettagli tecnici ma che potrebbero avere difficoltà con i rapporti scritti.
“Penso che sarà tremendamente utile,” afferma. Tuttavia, il linguaggio convincente generato dai LLM può presentare anche problemi. Daniel Stenberg, che ha creato e aiuta a gestire cURL, uno strumento utilizzato da migliaia di programmatori per recuperare dati dagli indirizzi web, ha notato un aumento delle segnalazioni che inizialmente sembrano vere falle di sicurezza ma sono in realtà assurdità apparentemente generate da AI. “Non ho ancora visto una [segnalazione generata da Ai] che identificasse effettivamente un problema reale,” dice Stenberg. “Sono tutte allucinazioni più o meno.”
Le segnalazioni richiedono tempo per essere esaminate e non è facile identificare a prima vista se sono state generate da un’AI, dice. “Non si tratta solo di una semplice riga singola in cui l’umano dice che c’è qualcosa che non va,” afferma. “No, riceverai 200 righe, compresi diversi screenshot e tutto il resto dall’AI.” Più i rapporti dell’AI migliorano, pur essendo sbagliati, più lavoro finiscono per creare, dice Stenberg. “Ne sono un po’ preoccupato.” Sherrets concorda sul fatto che questo potrebbe essere un fastidio, anche se dice che una soluzione potrebbe essere quella di avere profili pubblicamente valutati degli hacker che inviano rapporti su piattaforme come HackerOne, il che scoraggerebbe le persone dal presentare rapporti falsi. “Sono abbastanza ottimista sul fatto che l’industria nel suo insieme avrà modi davvero efficaci per trovare ulteriori vulnerabilità e indirizzare le persone verso luoghi in cui possono segnalarle,” conclude.