La programmazione di una rete informatica ha sempre richiesto la precisione e l’accuratezza di menti umane. Tuttavia, nel presente, il software che fa funzionare il nostro mondo è spesso scritto autonomamente dagli algoritmi. Questa evoluzione, promessa come progresso, nasconde sfide complesse in tema di sicurezza informatica e normativa.
La Scomparsa Della Mano Umana
La pratica detta “vibe coding” sta ridefinendo il ruolo del programmatore. Tanya Janca, esperta di sicurezza applicativa, ha descritto il fenomeno in questa chiave in un'intervista al podcast Hacker Valley Studio: “Il vibe coding si concretizza quando l’intelligenza artificiale scrive tutto il codice e il programmatore si limita a dare un prompt”. L’accelerazione che l’IA introduce è enorme, ma presenta la conseguenza di produrre code spesso poco controllati.
Il Modello Passato E Quello Odierno
Nel 1969, durante la missione Apollo 11, Margaret Hamilton guidava l’ingegneria del software del programma spaziale al MIT. A quei tempi, ogni riga del codice era estremamente critica. La memoria a bordo era limitata a 72 kilobyte. La mancanza di strumenti moderni costringeva al perfezionismo assoluto. La figura di Hamilton introdusse il termine “Software Engineering” come disciplina e come responsabilità, con il concetto di “systems thinking”, che prevedeva il controllo completo su tutta la logica dell’applicazione.
Oggi la situazione è drasticamente diversa. La disponibilità di memoria e potenza di calcolo è infinita, ma il controllo non è più manuale. L’intelligenza artificiale può produrre una quantità di codice in pochi secondi che richiederebbe ore a un programmatore. Questa produttività, però, rischia di generare code di qualità scadente, spesso definiti “AI slop”, quando non accompagnata da una revisione approfondita.
Il Pericolo Dell’Assenza Di Controllo
I modelli linguistici che guidano i tool di sviluppo imparano da internet, una rete costellata di esempi vecchi, obsoleti o con vulnerabilità. Nonostante l’efficacia, l’automazione presenta gravi limiti se non accompagnata da una revisione manuale rigorosa. In una sessione formativa, Tanya Janca ha evidenziato come l’algoritmo Claude, di un gruppo di 60 sviluppatori, abbia prodotto un codice corretto in 59 casi, ma abbia introdotto commenti errati in uno.
Janca ha spiegato: “In quel caso, l’IA ha ordinato al linter Python di ignorare un blocco di codice e ha successivamente integrato istruzioni che esportavano segreti sensibili nei log. Questo dimostra che i tool generativi non sono infallibili, né autonomamente sicuri, né esenti da errori sistemici.”
Esempi Di Disastri Tecnologici
Il rischio concreto dell’assenza di revisione umana si è reso tangibile in eventi storici. L’incidente del agosto 2012 coinvolse la società di trading Knight Capital. Un nuovo software, attivato alla borsa di New York, conteneva frammenti di codice non aggiornati. Il risultato? In appena 45 minuti, l’algoritmo operò acquisti e vendite non intenzionali per un totale di 460 milioni di dollari persi in perdita. Le conseguenze distrussero tutta la struttura aziendale, nonostante anni di sviluppo.
Criticità Nelle Normative Esistenti
Le problematiche sollevate dal vibe coding non sono di sola competenza aziendale. Le attuali linee guida, come le raccomandazioni dell’OWASP, non includono misure specifiche per le app generate interamente dagli algoritmi. Il portafoglio riconosce 13 minacce in totale, e tre di esse fanno riferimento diretto all’uso dell’IA. Alcuni esperti, come Janca, hanno promosso l’idea di una petizione legislativa per istituire una legge globale che normatizza la scrittura sicura di codice. L’iniziativa mira a estendere modelli simili a livello internazionale.
Sicurezza Come Obiettivo Principale
Per bilanciare la velocità del coding automatizzato con la protezione della rete, molte aziende stanno adottando linee guida interne. Gli strumenti centralizzati come i prompt aziendali impongono controlli preventivi ogni volta che si genera codice. Tuttavia, non possono sostituire un piano completo di sicurezza applicativa.
- L’authenticazione per flusso del dispositivo: Una soluzione alternativa alla MFA che riduce l’attrito per l’utente.
- Isolamento della rete: Protezione di reti interne senza doppia autenticazione.
- Controlli automatici su strumenti di integrazione: Garanzia continua di sicurezza durante lo sviluppo.
Queste pratiche non cancellano però i rischi sistemici generati dal training dell’IA. Janca ha chiarito che “l’IA sta introducendo errori simili a quelli elencati nella OWASP Top 10 in ogni app che crea per noi”.
Riflessione Finale: Il Ruolo Della Responsabilità
Chi è responsabile quando un algoritmo fallisce? Il caso Knight Capital è emblematico di come la mancanza di un intervento umano diretto possa causare danni economici irrecuperabili. I modelli generativi, per quanto avanzati, non possiedono un’etica operativa né responsabilità di sviluppo.
Per questo motivo, Tanya Janca ha invitato a una revisione critica del modo in cui si progettano le applicazioni. “Mai affidare interamente il software all’IA senza un check manuale”, ha concluso. L’evoluzione delle tecnologie non può procedere escludendo la verifica umana. La programmazione sicura richiede un equilibrio tra automatizzazione efficiente e controllo artigianale.