Leader di pensiero

Il codice scritto dall’AI ha cambiato ciÃē che SAST deve rilevare

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Guardare un assistente di codifica AI produrre una funzionalità lavorativa in pochi secondi puÃē sembrare una svolta. Il codice compila. I test passano. La richiesta di pull sembra pulita. Per i team di sviluppo sotto pressione per spedire piÃđ velocemente, questo sembra un progresso.

Ma il codice funzionale e il codice sicuro non sono la stessa cosa.

Il codice generato dall’AI ha cambiato la forma del rischio software. Il problema non ÃĻ semplicemente che i grandi modelli linguistici scrivono “cattivo” codice. In molti casi, scrivono codice che sembra lucido, segue un pattern di framework familiare e risolve il compito richiesto. Il problema ÃĻ piÃđ sottile: il codice puÃē essere funzionalmente corretto e ancora essere insicuro, superato, sovraautorizzato o contestualmente sbagliato.

Questa distinzione ÃĻ importante perchÃĐ la verifica di sicurezza dell’applicazione statica, o SAST, ÃĻ stata costruita per un mondo in cui gli sviluppatori scrivevano codice alla velocità umana e i team di sicurezza esaminavano pattern di rischio prevedibili. L’AI ha cambiato entrambi i lati di quell’equazione. Il volume del codice sta aumentando, i commit stanno diventando piÃđ piccoli e gli schemi insicuri possono ora essere generati su larga scala.

Il risultato ÃĻ una nuova domanda per i team software: cosa dovrebbe rilevare SAST quando l’autore del codice non ÃĻ necessariamente umano?

Il codice funzionale non ÃĻ piÃđ un segnale forte

Per anni, i team software hanno utilizzato una gerarchia di fiducia approssimativa. Se il codice compilava, superava i test e sopravviveva alla revisione paritaria, si avvicinava alla produzione. La scansione di sicurezza aggiungeva un altro livello, ma la funzionalità rimaneva il primo cancello.

Gli assistenti di codifica AI disturbano questa gerarchia perchÃĐ sono particolarmente bravi a produrre codice che sembra completo. Possono inferire il codice boilerplate, connettere le API, generare la gestione degli errori e corrispondere allo stile di un repository esistente. CiÃē li rende utili, ma rende anche piÃđ difficile rilevare i loro errori.

Un revisore umano puÃē scorrere una funzione scritta dall’AI e pensare: “Questo sembra normale.” Questo ÃĻ proprio il rischio. Molti vulnerabilità generate dall’AI non sono esotiche. Sono problemi familiari come difetti di iniezione, convalida debole, impostazioni di default insicure, deserializzazione insicura, problemi di registrazione e scelte di dipendenza superate.

La ricerca recente ha reso questa tensione piÃđ difficile da ignorare. Ad esempio, l’aggiornamento sulla sicurezza del codice GenAI di Veracode Spring 2026 ha scoperto che i modelli di codifica AI erano diventati molto piÃđ forti nella produzione di codice sintatticamente corretto che di codice sicuro. In altre parole, l’AI sta diventando molto brava a scrivere software che funziona, ma ciÃē non significa che stia diventando altrettanto brava a scrivere software che puÃē essere fidato.

L’output puÃē sembrare pronto per la produzione, ma il rischio sottostante puÃē essere completamente diverso.

Il vecchio modello SAST ÃĻ stato costruito per i collo di bottiglia umani

Il SAST tradizionale ha sempre avuto un compito difficile. Scansiona il codice sorgente, mappa i pattern alle debolezze note e avvisa i team prima che il codice vulnerabile venga spedito. In un ciclo di sviluppo convenzionale, ciÃē crea già attrito: troppi avvisi, troppi falsi positivi e non abbastanza tempo per risolvere tutto.

L’AI rende le cose piÃđ difficili rimuovendo una delle restrizioni nascoste nello sviluppo software: la velocità di digitazione umana.

Quando un assistente AI puÃē generare un servizio, un file di test, un’integrazione API e uno snippet di configurazione in una sola sessione, la revisione di sicurezza non puÃē fare affidamento sulle stesse ipotesi. Il rischio non ÃĻ una sola riga di codice trascurata. È la moltiplicazione di codice plausibile in decine di file, ognuno con piccole decisioni che il modello ha preso per conto del team.

Questo ÃĻ dove gli strumenti SAST moderni devono evolversi. Non possono semplicemente scansionare le firme di vulnerabilità note dopo che la richiesta di pull ÃĻ quasi completa. Devono operare piÃđ vicino al flusso di lavoro dello sviluppatore, capire i pattern di modifica assistiti dall’AI e aiutare i team a separare l’automazione innocua dall’automazione rischiosa.

L’AI introduce il debito di sicurezza alla velocità della macchina

Il debito tecnico non ÃĻ nuovo. Il debito di sicurezza ÃĻ il cugino piÃđ pericoloso: si accumula quando le vulnerabilità, le ipotesi deboli e le scorciatoie rischiose rimangono nel codice base perchÃĐ non sono abbastanza urgenti da risolvere oggi.

L’AI puÃē accelerare questo processo.

<p Uno sviluppatore potrebbe chiedere a un assistente di "aggiungere l'autenticazione", "sanitizzare questo input" o "connettere questo endpoint al database". Il modello produrrà usualmente una risposta. Ma a meno che il prompt non includa le giuste restrizioni di sicurezza, la risposta potrebbe fare affidamento su pratiche superate, convalida incompleta o impostazioni di default insicure. Peggio, potrebbe essere abbastanza buona da superare una revisione casuale.

Ci sono diversi pattern specifici dell’AI che SAST deve ora riconoscere:

  • Boilerplate sicuro: l’AI spesso produce codice che assomiglia alle migliori pratiche, ma manca di un importante controllo, come ad esempio controlli di autorizzazione o codifica di output.
  • Ipotesi di dipendenza superate: un modello potrebbe suggerire librerie, versioni o API basate su pattern che erano comuni nei suoi dati di training, ma non sono piÃđ consigliati.
  • Riparazioni senza contesto: l’AI puÃē correggere il sintomo locale senza capire il flusso dell’applicazione piÃđ ampia, creando lacune di sicurezza altrove.
  • Modelli vulnerabili ripetuti: se lo stesso prompt produce lo stesso pattern difettoso in piÃđ repository, una debolezza puÃē diffondersi silenziosamente attraverso un’organizzazione.

CiÃē non riguarda solo il trovare codice cattivo. Si tratta di rilevare quando il codice ÃĻ stato prodotto senza abbastanza contesto.

SAST deve capire l’intento, non solo la sintassi

La prossima generazione di SAST dovrà andare oltre il semplice riconoscimento di pattern. I pattern di vulnerabilità note sono ancora importanti e molte lacune di base dovrebbero essere rilevate automaticamente. Ma il codice scritto dall’AI alza la barra perchÃĐ la sintassi da sola raramente racconta tutta la storia.

Considera un endpoint che recupera i record dei clienti. Il codice potrebbe utilizzare query parametrizzate, gestire gli errori correttamente e superare i controlli di iniezione standard. Ma impone l’isolamento del tenant? Verifica se l’utente attuale ÃĻ autorizzato ad accedere al record richiesto? Registra dati sensibili?

Questo tipo di modifica solleva anche una questione di privacy: se la logica generata dall’AI altera ciÃē che l’applicazione archivia, registra o espone, i team devono capire il suo comportamento di raccolta dei dati dell’app come parte della revisione di sicurezza.

Queste non sono sempre problemi di sintassi. Sono problemi di intento.

SAST necessita di maggiore consapevolezza della logica aziendale, del flusso di dati, delle convenzioni del framework e della relazione tra una modifica e il resto dell’applicazione. L’obiettivo non ÃĻ quello di rendere SAST “potenziato dall’AI” per scopi di marketing. L’obiettivo ÃĻ quello di renderlo abbastanza consapevole del contesto per rilevare il tipo di errori che l’AI ÃĻ probabile commetta.

Gli sviluppatori devono ancora imparare la sicurezza, solo in modo diverso

Gli strumenti migliori aiuteranno, ma non rimuoveranno la responsabilità umana. Gli assistenti di codifica AI rendono gli sviluppatori piÃđ produttivi, ma rendono anche piÃđ facile per i team accettare codice che non capiscono completamente.

CiÃē crea una sfida di formazione. La formazione di sicurezza annuale tradizionale ÃĻ troppo lenta e troppo distaccata dal lavoro quotidiano. Gli sviluppatori necessitano di lezioni brevi e pratiche consegnate vicino al momento in cui stanno prendendo decisioni. È qui che l’apprendimento micro diventa rilevante: piccoli momenti di apprendimento possono rafforzare abitudini di codifica sicure senza rimuovere gli ingegneri dal loro flusso di lavoro per ore.

La migliore formazione di sicurezza nell’era della codifica AI assomiglierà meno a una classe e piÃđ a una spiegazione ben tempestiva all’interno di una richiesta di pull, un avviso IDE che insegna piuttosto che fastidisce, o una breve nota di risoluzione che spiega perchÃĐ un pattern generato dall’AI ÃĻ rischioso.

Il processo di revisione deve cambiare

La revisione del codice usava per rispondere a domande familiari: ÃĻ il codice leggibile? Risolve il problema? Rompe qualcosa?

Il codice scritto dall’AI aggiunge nuove domande. Il prompt era consapevole della sicurezza? Il modello ha introdotto una dipendenza? Ha copiato un pattern da altrove nel repository senza capire perchÃĐ quel pattern esisteva? Lo sviluppatore ha verificato la logica o solo l’output?

CiÃē non significa che ogni commit assistito dall’AI necessiti di un’indagine forense. Ma i team necessitano di un modo leggero per identificare le modifiche generate dall’AI ad alto rischio. L’autenticazione, l’autorizzazione, la crittografia, i flussi di pagamento, i caricamenti di file, l’accesso al database, la registrazione e la configurazione dell’infrastruttura meritano piÃđ attenzione rispetto alla copia dell’interfaccia utente o al test scaffolding.

Il punto fondamentale

L’AI non sta rendendo SAST irrilevante. Sta rendendo SAST piÃđ importante.

Man mano che la generazione di codice diventa piÃđ veloce e piÃđ profondamente integrata negli ambienti di sviluppo, l’antica ipotesi che il codice insicuro entri lentamente attraverso le mani umane non ÃĻ piÃđ valida. L’AI puÃē generare software utile, ma puÃē anche scalare pattern deboli, ipotesi superate e correzioni senza contesto piÃđ velocemente di quanto i processi di revisione tradizionali possano assorbire.

I vincitori non saranno i team che bandiscono gli strumenti di codifica AI. I vincitori saranno i team che ridisegnano i loro flussi di lavoro di sicurezza intorno alla nuova realtà: il codice puÃē essere generato istantaneamente, ma la fiducia deve ancora essere guadagnata.

SAST deve ora rilevare piÃđ che gli errori di livello di sintassi. Deve rilevare l’intento mancante, il contesto insicuro, i pattern ripetuti dell’AI e il debito di sicurezza prima che si accumuli.

David Balaban ÃĻ un ricercatore di sicurezza informatica con oltre 17 anni di esperienza nell'analisi di malware e nella valutazione di software antivirus. David gestisce MacSecurity.net e Privacy-PC.com progetti che presentano opinioni esperte su questioni di sicurezza informatica contemporanee, tra cui ingegneria sociale, malware, test di penetrazione, intelligence sulle minacce, privacy online e hacking con cappello bianco. David ha una solida esperienza nella risoluzione dei problemi di malware, con un recente focus sulle contromisure contro il ransomware.