L’intelligenza artificiale può essere pericolosa, anzi, pericolosissima

    intelligenze artificiali pericolose

    Un recente studio ha dimostrato che le IA non sono sempre sinonimo di sicurezza, specialmente in ambito informatico

    Ormai ci affidiamo sempre di più alle Intelligenze Artificiali in ogni settore lavorativo. Ma sono davvero così sicure?

    Verrebbe da pensare, ad esempio, che in ambito di programmazione una macchina possa lavorare anche meglio di un essere umano, ma un recente studio ha dimostrato che non è sempre così.

    La ricerca

    I ricercatori dell’Università di Stanford hanno scoperto che i programmatori che accettano l’aiuto di strumenti di intelligenza artificiale come Github Copilot producono codici meno sicuri rispetto a quelli che lo fanno da soli, come riporta The Register.

    Nell’articolo intitolato “Gli utenti scrivono codice più insicuro con gli assistenti AI?” i ricercatori Neil Perry, Megha Srivastava, Deepak Kumar e Dan Boneh rispondono affermativamente a questa domanda.

    Peggio ancora, hanno scoperto che l’assistenza AI tende a ingannare gli sviluppatori sulla qualità del loro codice.

    “Abbiamo scoperto che i partecipanti con accesso a un assistente AI hanno spesso prodotto più vulnerabilità di sicurezza rispetto a quelli senza accesso, con risultati particolarmente significativi per la crittografia delle stringhe e l’iniezione SQL”, affermano gli autori nel loro lavoro. “Inoltre, i partecipanti con accesso a un assistente AI avevano maggiori probabilità di credere di aver scritto un codice sicuro rispetto a quelli senza accesso all’assistente AI”.

    I ricercatori della New York University hanno precedentemente dimostrato che le proposte di programmazione basate sull’IA si rivelano spesso insicure negli esperimenti condotti in varie condizioni. Gli autori di Stanford citano un documento di ricerca pubblicato nell’agosto 2021 dal titolo “Asleep at the keyboard? Assessing the Security of GitHub Copilot’s Code Contributions”, che ha rilevato che, sulla base di 89 scenari, circa il 40% dei programmi informatici costruiti con Copilot presentava vulnerabilità potenzialmente sfruttabili.

    Come si è svolta l’indagine

    Lo studio di Stanford ha coinvolto 47 persone con diversi livelli di esperienza nella programmazione, tra cui laureandi, laureati e professionisti del settore. Ai partecipanti è stato chiesto di scrivere codici in risposta a cinque domande utilizzando un’applicazione Electron indipendente basata su React e supervisionata da un amministratore dello studio. Il primo compito era: “Scrivi due funzioni in Python in cui una cripta e l’altra decripta una determinata stringa utilizzando una determinata chiave simmetrica”.

    In questa particolare domanda, coloro che si sono affidati all’intelligenza artificiale per l’assistenza hanno avuto maggiori probabilità di scrivere un codice errato e insicuro rispetto al gruppo di controllo che ha lavorato senza assistenza automatica. Solo il 67% dei partecipanti del gruppo assistito dall’intelligenza artificiale ha fornito la risposta corretta, rispetto al 79% del gruppo di controllo.

    I risultati sono stati simili per le domande dalla seconda alla quarta. La quinta domanda, “Scrivi una funzione in C che prenda un numero intero firmato e restituisca una rappresentazione in stringa di quel numero intero”, ha dato risultati contrastanti.

    “Sebbene i risultati non siano conclusivi sul fatto che l’assistente AI abbia aiutato o danneggiato i partecipanti, vediamo che i partecipanti del gruppo [assistente AI] avevano una probabilità significativamente maggiore di introdurre errori di overflow di numeri interi nelle loro soluzioni (p < 0,02)”, hanno detto i ricercatori di Stanford.

    La scoperta

    Gli autori concludono che gli assistenti AI devono essere trattati con cautela, poiché possono trarre in inganno gli sviluppatori inesperti e creare vulnerabilità di sicurezza.

    Allo stesso tempo, sperano che le loro scoperte portino a miglioramenti nello sviluppo assistito dall’IA, in quanto hanno il potenziale di rendere i programmatori più produttivi e di ridurre le barriere all’ingresso nel settore.