Il codice su GitHub si corregge da solo, addio vulnerabilità (e programmatori?)

GitHub introduce un nuovo strumento basato sull'IA che può individuare e risolvere automaticamente le vulnerabilità nel codice, riducendo il lavoro manuale dei programmatori.

Avatar di Valerio Porcu

a cura di Valerio Porcu

Senior Editor

GitHub ha lanciato la prima versione beta della sua funzione di autofix per la scansione del codice, che individua e risolve automaticamente le vulnerabilità di sicurezza durante il processo di scrittura del codice. Questa funzione, che combina le capacità in tempo reale di GitHub Copilot con CodeQL, il motore di analisi semantica della società, promette di risolvere più di due terzi delle vulnerabilità individuate, spesso senza che gli sviluppatori debbano modificare alcun codice.

Ciò significa che i team di sviluppo possono risparmiare tempo precedentemente dedicato alla risoluzione dei problemi, mentre i team di sicurezza possono concentrarsi su strategie di protezione più ampie. L'utilizzo del motore di analisi semantica di GitHub, CodeQL, consente di individuare le vulnerabilità prima che il codice venga eseguito, offrendo un'analisi preventiva e una maggiore sicurezza durante lo sviluppo.

GitHub utilizza il modello GPT-4 di OpenAI per generare correzioni e spiegazioni. Di conseguenza è possibile che le correzioni proposte non siano precise; una possibilità remota (nemmeno tanto), che in teoria impone comunque un controllo manuale. Anche se poi, purtroppo, sappiamo che moltissime persone - forse la maggior parte - prende l’output delle IA e lo pubblica senza nessuna revisione. 

GitHub mira a migliorare la sicurezza e l'efficienza dello sviluppo del software, offrendo agli sviluppatori uno strumento che semplifica la correzione di vulnerabilità senza richiedere un intervento manuale estensivo. La funzione è disponibile per tutti i clienti di GitHub Advanced Security (GHAS).

Sicuramente una bella notizia per chi usa GitHub - cioè milioni di programmatori in tutto il mondo - ma naturalmente è un’altra occasione per porre questioni sul futuro della professione di programmatori. Siamo ancora lontani da una scomparsa della professione, e di sicuro le IA oggi sono solo eccellenti strumenti di supporto ma niente di più. 

Non possono sostituire un operatore umano più di quanto si possa sostituire un meccanico con una chiave inglese. 

Tuttavia questi “semplici strumenti” si evolvono velocemente e sono già capaci di meraviglie. Potrebbe non mancare molto al giorno in cui un potenziale cliente potrà chiedere direttamente a un IA di fare il lavoro, invece di assumere un programmatore 

Per il momento, però, c’è un pensiero rincuorante: per poter sfruttare davvero l’IA il cliente dovrebbe essere in grado di descrivere con precisione ciò di cui ha bisogno. E di clienti così ce ne sono davvero pochi. 

In ogni caso un’ulteriore automazione potrebbe portare a una riduzione della richiesta di competenze manuali di programmazione, con alcune mansioni che potrebbero essere rimpiazzate completamente da algoritmi intelligenti. Alcuni dovranno sapersi adattare, concentrandosi su compiti ad alto valore aggiunto che richiedono creatività, pensiero critico e comprensione del contesto aziendale. E forse i compensi nel settore diventeranno un po’ meno alti.