Come gli sviluppatori possono lavorare in modo sicuro con l’IA generativa

Sicurezza nello sviluppo con l'IA generativa

Se lavori nello sviluppo software, o in qualsiasi settore dell’industria tecnologica, avrai senza dubbio fatto parte di discussioni su, letto titoli su, o addirittura provato una piattaforma per l’intelligenza artificiale generativa (AI). In poche parole, questa nuova e rapidamente evolutiva tecnologia è ovunque.

Tuttavia, insieme alla promessa eccitante di una maggiore produttività con gli strumenti di generazione di codice AI — GitHub sostiene che l’aumento della produttività degli sviluppatori grazie all’AI potrebbe aumentare il PIL globale di oltre 1,5 trilioni di dollari — ci sono anche dei rischi aumentati. Questi rischi includono preoccupazioni sulla qualità del codice, poiché i modelli di AI possono produrre codice complesso che è difficile da comprendere e spiegare.

C’è anche il rischio di complessità riguardo alla proprietà intellettuale, poiché le conversazioni sui diritti di proprietà intellettuale, la proprietà e il copyright del codice generato da AI sono ancora in corso. Con l’evoluzione di questa tecnologia, le linee guida diventeranno più chiare, ma ci vorrà del tempo. Attualmente, se si lavora con un codice generato da AI che è stato addestrato su software open-source, una mancata adesione ai requisiti di licenza di questo software potrebbe costituire una violazione del copyright.

Infine, il codice generato da AI può contenere una serie di vulnerabilità, anche se involontariamente. Ad esempio, se l’AI è stata addestrata su un codice non sicuro, creerà un codice non sicuro. In poche parole: garbage in, garbage out.

Mettere la sicurezza al primo posto

Quindi, cosa possono fare gli sviluppatori per assicurarsi di poter sfruttare al massimo l’AI generativa senza rischiare la sicurezza?

  1. Vedere l’AI generativa come un partner di codifica junior: Gli sviluppatori dovrebbero affrontare il lavoro con gli strumenti di codifica AI generativa con l’aspettativa di un codice di qualità inferiore che contiene vulnerabilità.
  2. Rimane vigili con gli input AI: Rivelare informazioni confidenziali tramite un input AI rappresenta un grosso rischio per la privacy e attualmente c’è una comprensione limitata su come i servizi gestiscano veramente i dati dei loro clienti.
  3. Integrare più revisioni del codice: Come per la codifica tradizionale, le revisioni del codice sono un processo importante nell’intero ciclo di sviluppo del software (SDLC). La revisione della sicurezza e della qualità del codice generato da AI è cruciale, poiché potrebbe sembrare coerente in superficie ma non necessariamente corretto e sicuro dopo i test.
  4. Abbracciare la formazione continua: Considerando che la revisione e il test del codice generato da AI sono così cruciali, è estremamente importante per gli sviluppatori di software dietro gli input e la consegna del prodotto finale, dell’app o del servizio, avere una buona comprensione della codifica sicura. Questi professionisti hanno bisogno di formazione su come riconoscere e affrontare le vulnerabilità e, poiché il panorama delle minacce evolve così rapidamente, questa formazione deve essere fornita in modo continuativo per dare il massimo potere a tutti gli attori coinvolti nell’SDLC.

È certamente possibile trovare un equilibrio tra la maggiore produttività che l’AI generativa può consentire e i rischi che può comportare per la sicurezza e la qualità del codice con queste linee guida. Tuttavia, alla base di questo equilibrio deve esserci una formazione continua e programmata sulla codifica sicura per gli sviluppatori umani, in modo che l’AI generativa diventi uno strumento utile anziché una fonte di codice non sicuro.