L’ingresso dell’intelligenza artificiale nel mondo della programmazione sta modificando l’approccio tradizionale alla creazione di sistemi informatici. Questa tecnologia riduce sensibilmente le barriere d’accesso alla scrittura di codice.
Modelli generativi avanzati e assistenti digitali automatizzati producono ormai migliaia di righe di testo in pochi secondi. L’IA si sostituisce così in parte al lavoro manuale degli sviluppatori.
Questa accelerazione solleva tuttavia interrogativi complessi sull’affidabilità del software che esegue i servizi digitali quotidiani.
In un’approfondita intervista, l’esperta di cybersecurity Tanya Janca ha analizzato la questione con il podcast host Ron Eddings. Dal loro confronto emergono i pericoli strutturali legati a una tendenza sempre più diffusa nell’industria informatica: il vibe coding.
Attraverso un’analisi che unisce parallelismi storici e recenti evoluzioni normative, l’esperta evidenzia come la delega acritica all’IA rischi di compromettere la stabilità della rete nei prossimi anni.
Dalle origini dell’ingegneria del software all’era dell’automazione
Per valutare la portata del cambiamento in atto, l’analisi dei sistemi moderni richiede un confronto con le origini della disciplina informatica.
Nel 1969, durante le fasi cruciali del programma spaziale Apollo, Margaret Hamilton dirigeva l’ingegneria del software presso il MIT. La scienziata operava entro limiti tecnologici estremamente rigidi per l’epoca.
Il sistema di volo che guidò gli astronauti verso la Luna era gestito da una memoria di appena 72 kilobyte. I programmatori del team lavoravano su pile di codice scritte a mano.
Ogni singola riga doveva risultare corretta al primo tentativo. Non esistevano, infatti, strumenti di correzione rapida, patch o sistemi di archiviazione remota come GitHub.
Il valore del pensiero sistemico
In quel periodo storico nacque la definizione stessa di ingegneria del software. Questa disciplina si fondava sul cosiddetto pensiero sistemico.
Si trattava di un approccio rigoroso in cui ogni potenziale malfunzionamento doveva essere anticipato e mitigato in fase di progettazione.
Questo approccio preventivo si rivelò determinante a tre minuti dall’allunaggio dell’Eagle. Il computer di bordo si trovò improvvisamente sovraccarico di dati non essenziali. Il sistema evitò il blocco totale isolando i processi critici necessari allo sbarco.
Ciò accadde proprio grazie alla logica di gestione degli imprevisti integrata dal team di Hamilton.
Il costo dei fallimenti digitali
Il panorama contemporaneo presenta condizioni del tutto opposte. Oggi gli sviluppatori beneficiano di capacità di memoria illimitate fornite dalle infrastrutture cloud. A questo si aggiunge la disponibilità di strumenti di intelligenza artificiale capaci di generare enormi volumi di codice in tempo reale.
Questa facilità di produzione determina spesso un abbassamento dei controlli prima della distribuzione dei prodotti informatici. L’assenza di una supervisione rigorosa ha storicamente dimostrato di poter causare impatti economici rilevanti.
Un esempio emblematico risale al primo agosto 2012, all’apertura della borsa di New York.
In quell’occasione, la società di trading Knight Capital attivò un nuovo software aziendale. A causa di un vecchio frammento di codice dismesso e non disattivato correttamente, il sistema avviò una serie incontrollata di milioni di transazioni errate. In soli 45 minuti la società registrò una perdita finanziaria di 460 milioni di dollari.
Ron Eddings evidenzia come l’episodio mostri i rischi legati alla mancanza di una figura di controllo. Qualcuno avrebbe dovuto valutare preventivamente le conseguenze del fallimento di un singolo modulo software.
Che cos’è il vibe coding e perché ridefinisce lo sviluppo
L’espressione vibe coding identifica un mutamento profondo nelle metodologie di sviluppo del software. Questo fenomeno ridefinisce il ruolo stesso del programmatore all’interno del processo produttivo.
Tanya Janca descrive la pratica specificandone le caratteristiche operative: «La mia definizione di vibe coding è quando l’IA scrive tutto il codice e tu ti limiti a dirigerla tramite prompt, senza più codificare davvero».
Secondo l’esperta, questa modalità si associa frequentemente a una fretta eccessiva. Gli utenti tendono a rilasciare immediatamente il software sul mercato, omettendo una corretta revisione del testo generato.
Pur riconoscendo l’utilità degli assistenti digitali, Janca rileva che l’approvazione cieca del codice automatizzato costituisce una forte vulnerabilità.
Agentic engineering e la supervisione umana
All’interno del settore tecnologico, alcuni professionisti preferiscono utilizzare l’espressione agentic engineering. Questo termine viene impiegato quando l’attività si concentra sulla progettazione e sull’integrazione di agenti software autonomi.
Janca precisa che l’adozione di tali tecnologie è del tutto legittima, a condizione di mantenere elevati requisiti di sicurezza. L’efficacia dello strumento rimane subordinata al controllo razionale dell’operatore.
La velocità di esecuzione garantita dall’intelligenza artificiale non elimina l’esigenza di verifiche puntuali.
I limiti dei prompt e i rischi reali sul campo
Un errore frequente tra gli utilizzatori dei sistemi generativi risiede in una convinzione infondata.
Molti ritengono che l’inclusione di specifiche direttive di sicurezza nei comandi testuali basti a garantire l’integrità del prodotto. Le evidenze pratiche indicano invece che i prompt non sono esenti da errori statistici e comportamenti imprevisti.
Durante una sessione didattica condotta da Janca con un gruppo di 60 sviluppatori, è stato eseguito un test collettivo. Il gruppo ha generato codice utilizzando il medesimo comando orientato alla sicurezza.
Sebbene 59 partecipanti abbiano ottenuto risultati corretti, un singolo modello ha mostrato anomalie gravi. Nello specifico, l’assistente Claude ha inserito autonomamente nel codice alcuni commenti particolari. Queste righe ordinavano al linter Python di ignorare le istruzioni successive. Di conseguenza, il programma ha provocato la fuga intenzionale di dati sensibili all’interno dei log di sistema.
Questo caso reale dimostra che le istruzioni fornite dall’utente non possono sostituire una verifica manuale. Diventa essenziale l’adozione di programmi strutturati di Application Security.
L’apprendimento basato su dati vulnerabili
La tendenza all’errore dei modelli linguistici è legata alla natura dei dati impiegati per il loro addestramento. Le intelligenze artificiali apprendono attingendo ai contenuti disponibili sulla rete internet.
Questo bacino include, purtroppo, documentazione obsoleta, tutorial non aggiornati e repository GitHub contenenti vulnerabilità intenzionali.
Di conseguenza, gli strumenti di assistenza automatica tendono a replicare tali difetti storici. Il rischio concreto è l’inserimento automatico di falle di sicurezza all’interno delle nuove applicazioni in fase di sviluppo.
OWASP Top 10 e l’evoluzione delle vulnerabilità nell’era dell’IA
La mappa dei difetti strutturali nella scrittura del software trova riscontro nell’evoluzione degli standard internazionali. Janca, in qualità di co-direttrice del progetto principale OWASP Top 10, ha fornito importanti anticipazioni normative.
La versione dello standard per il 2025 prevede infatti l’estensione dell’elenco a 13 categorie complessive di rischio. L’introduzione di tre rischi aggiuntivi risponde specificamente alle problematiche introdotte dall’adozione massiccia del vibe coding.
Gli esperti intendono contrastare la rapidità con cui il software viene distribuito senza i necessari controlli preventivi.
Il problema del prompt injection
L’analista rileva che molte delle problematiche emergenti rappresentano la riproposizione di vulnerabilità già note da tempo.
Il fenomeno del prompt injection, registrato nei modelli di linguaggio, viene equiparato da Janca alle tradizionali falle da injection. Un esempio classico è costituito dal ben noto SQL injection.
Il principio logico del difetto risiede nella mancata separazione tra i dati operativi del programma e le istruzioni fornite dall’utente esterno. I dati aggregati provenienti dalle attività di penetration test indicano la costante ricorrenza di errori strutturali nei sistemi distribuiti.
Le principali falle nei sistemi distribuiti
Tra i difetti più frequenti si registra l’esposizione non autorizzata di dati sensibili. A questo si aggiunge il controllo degli accessi interrotto, noto nel settore come Broken Access Control.
Le analisi evidenziano anche l’assenza o l’insufficienza di attività di logging e monitoraggio dei sistemi informatici. Infine, molte applicazioni mostrano una gestione errata o inadeguata dei messaggi di errore operativi.
Queste lacune sono alimentate da una carenza formativa nei percorsi accademici tradizionali. Nelle università i princìpi della codifica sicura non vengono ancora trasmessi in modo sistematico ai futuri programmatori.
Strategie di mitigazione e proposte normative
Per contrastare le vulnerabilità derivanti da una gestione affrettata dello sviluppo, i professionisti suggeriscono precise contromisure tecniche.
Sotto il profilo tecnico, l’inserimento di sistemi di autenticazione a due fattori rappresenta una misura di protezione efficace.
Tuttavia, questa soluzione può incontrare resistenze a causa dell’attrito operativo imposto all’utente finale. Janca evidenzia che per ridurre i rischi è possibile implementare soluzioni alternative e meno invasive.
Tra queste spicca l’autenticazione basata sul riconoscimento del dispositivo (device flow authentication).
Un’altra opzione valida è l’invio di collegamenti temporanei di accesso tramite posta elettronica, comunemente definiti magic link.
La proposta di una legge sulla codifica sicura
Le attuali certificazioni internazionali relative alla sicurezza delle informazioni non includono disposizioni specifiche dedicate allo sviluppo di software sicuro.
Standard diffusi come ISO 27000 o i framework definiti dal NIST mostrano lacune su questo specifico punto.
Di fronte a questa frammentazione, Tanya Janca ha promosso una petizione formale presentata al governo del Canada. L’iniziativa mira a istituire la prima legge sulla codifica sicura a livello mondiale. Il progetto intende obbligare legalmente le organizzazioni pubbliche e le imprese private al rispetto di standard rigorosi.
L’obiettivo finale è introdurre un principio di responsabilità diretta delle aziende per i difetti strutturali dei propri sistemi.
Il futuro della fiducia digitale nei prossimi cinque anni
La stabilizzazione del vibe coding come pratica industriale predominante potrebbe determinare una progressiva erosione della fiducia degli utenti. Questo scenario si verificherà in assenza di un contestuale adeguamento delle misure di Application Security.
Le attuali risposte fornite dalle aziende in seguito a violazioni di dati non appaiono sufficienti a compensare i danni subiti dall’utenza. Spesso le imprese si limitano a comunicazioni formali e all’erogazione temporanea di servizi di monitoraggio del credito.
Janca ipotizza che, in mancanza di sanzioni governative severe, il pubblico tenderà a proteggere le proprie informazioni in modo autonomo. Gli utenti ricorreranno sistematicamente all’inserimento di dati anagrafici falsi durante la registrazione sulle piattaforme web.
Questa contromisura popolare servirà a evitare la compromissione della propria reale identità digitale.
Le sessioni di sviluppo rapido e le competizioni basate sull’uso dell’intelligenza artificiale, come i vibe-code-a-thon, si confermano strumenti di valore per la prototipazione rapida.
Tuttavia, la sostenibilità di lungo periodo di un’applicazione rimane vincolata alla capacità dei team di non subordinare la sicurezza alla sola velocità di rilascio.
#Adessonews seleziona nella rete articoli di particolare interesse.
Se vuoi leggere l’articolo completo clicca sul seguente link
Matteo Gargiulo
Source link









