Immagine AI

Negli ultimi anni la sicurezza delle applicazioni software è stata dominata da strumenti di analisi automatica del codice che operano secondo il paradigma del Static Application Security Testing (SAST). Questi sistemi, integrati nei processi di sviluppo e nelle pipeline DevSecOps, analizzano il codice sorgente alla ricerca di vulnerabilità note attraverso regole predefinite e pattern di errore. Tuttavia, una nuova generazione di strumenti basati su modelli di intelligenza artificiale sta iniziando a mettere in discussione i limiti strutturali di questo approccio. In particolare, il recente lancio di scanner di sicurezza basati su ragionamento da parte di Anthropic e OpenAI ha evidenziato come molte vulnerabilità possano sfuggire ai metodi tradizionali di analisi statica.

L’interesse per questo nuovo paradigma nasce dal fatto che gli strumenti SAST tradizionali operano principalmente tramite matching di pattern. In pratica confrontano il codice con un database di configurazioni pericolose, funzioni vulnerabili o strutture logiche note per essere problematiche. Questo metodo è stato efficace per individuare errori ricorrenti come buffer overflow, injection o configurazioni errate. Tuttavia, quando una vulnerabilità emerge da interazioni complesse tra componenti o da logiche applicative non previste dalle regole di scansione, il sistema può non essere in grado di identificarla. Questo limite viene spesso definito “blind spot strutturale” dell’analisi statica.

Le nuove soluzioni sviluppate da Anthropic e OpenAI cercano di superare questo limite introducendo scanner che utilizzano modelli linguistici di grandi dimensioni (LLM) con capacità di ragionamento sul codice. Invece di limitarsi a verificare la presenza di pattern noti, questi sistemi analizzano il comportamento del programma, seguono il flusso dei dati tra le funzioni e valutano le condizioni logiche che potrebbero generare vulnerabilità. In sostanza, il modello si comporta in modo simile a un ricercatore di sicurezza umano che studia il codice per comprenderne la logica interna.

Uno degli esempi più discussi è rappresentato dal progetto Claude Code Security, sviluppato da Anthropic e basato su modelli della famiglia Claude. Durante i test preliminari il sistema è stato applicato a diversi progetti open source e ha individuato oltre 500 vulnerabilità ad alta gravità che erano rimaste inosservate nonostante anni di revisione manuale e analisi automatica. Le vulnerabilità individuate includevano errori di gestione della memoria e difetti logici complessi che non potevano essere rilevati con semplici regole di pattern matching.

Pochi giorni dopo il lancio della soluzione di Anthropic, anche OpenAI ha introdotto un proprio scanner chiamato Codex Security, progettato con un approccio concettualmente simile. Questo strumento utilizza modelli avanzati per costruire una comprensione contestuale dell’intero progetto software e identificare potenziali vulnerabilità con maggiore precisione, riducendo al contempo il rumore generato da segnalazioni irrilevanti o falsi positivi.

L’introduzione quasi simultanea di questi strumenti da parte di due dei principali laboratori di intelligenza artificiale ha generato un forte impatto nel settore della cybersecurity applicativa. Per molti anni il mercato degli strumenti SAST è stato dominato da vendor specializzati che offrivano piattaforme integrate con costi spesso molto elevati per le grandi organizzazioni. La comparsa di scanner basati su IA, distribuiti inizialmente anche gratuitamente in fase di ricerca, potrebbe modificare radicalmente il modello economico di questo settore.

Dal punto di vista tecnico, la differenza tra i due approcci può essere descritta come la transizione da un sistema deterministico basato su regole a un sistema probabilistico basato su comprensione semantica del codice. Gli scanner SAST tradizionali analizzano le istruzioni in modo relativamente isolato, mentre i modelli basati su IA sono in grado di esaminare l’intero contesto del progetto software, includendo relazioni tra moduli, dipendenze e flussi di dati. Questo consente di individuare vulnerabilità legate alla logica applicativa, al controllo degli accessi o all’interazione tra componenti distribuiti.

Un esempio illustrativo citato nel dibattito tecnico riguarda una vulnerabilità nella libreria CGIF. In questo caso il sistema basato su IA ha individuato un problema legato alla gestione dell’algoritmo di compressione LZW, identificando una condizione limite che non era mai stata rilevata dai test automatizzati né dagli strumenti di fuzzing tradizionali, nonostante un’elevata copertura del codice. La scoperta è stata possibile perché il modello ha analizzato la logica dell’algoritmo e le condizioni di input che potevano attivare il comportamento anomalo.

Nonostante questi risultati promettenti, la diffusione degli scanner basati su ragionamento solleva anche nuove questioni tecniche e operative. Alcuni test indipendenti suggeriscono che le prestazioni dichiarate dai produttori potrebbero essere state sovrastimate in alcune circostanze. In determinate valutazioni sperimentali, infatti, solo una parte delle vulnerabilità segnalate dai modelli è stata confermata come effettivamente valida, indicando la presenza di falsi positivi o interpretazioni errate del codice.

Questo elemento evidenzia una caratteristica fondamentale degli strumenti basati su modelli linguistici: se da un lato possiedono una notevole capacità di comprensione contestuale, dall’altro possono produrre analisi non completamente affidabili. Per questo motivo molti esperti suggeriscono di considerare questi scanner come strumenti complementari piuttosto che sostitutivi delle soluzioni esistenti. L’approccio più efficace potrebbe consistere nell’integrare l’analisi statica tradizionale con sistemi di ragionamento basati su IA, combinando la precisione delle regole con la capacità di analisi semantica dei modelli linguistici.

Un ulteriore aspetto critico riguarda la natura duale di queste tecnologie. Gli stessi modelli in grado di individuare vulnerabilità possono teoricamente essere utilizzati anche per sfruttarle. In altre parole, la capacità di analizzare automaticamente grandi basi di codice e individuare errori logici complessi potrebbe essere impiegata sia per scopi difensivi sia per attività offensive da parte di attori malevoli. Questo scenario aumenta l’urgenza per le organizzazioni di integrare rapidamente strumenti di analisi avanzata prima che possano essere utilizzati su larga scala da potenziali attaccanti.

Dal punto di vista strategico, l’emergere di scanner di sicurezza basati su IA rappresenta un cambiamento significativo nel modo in cui viene concepita la sicurezza delle applicazioni. In passato l’obiettivo principale era individuare vulnerabilità note all’interno del codice. Con l’introduzione di modelli capaci di ragionare sul comportamento dei programmi, l’attenzione si sposta verso la comprensione dell’intera logica del sistema software.

Per i responsabili della sicurezza informatica nelle aziende questo cambiamento implica una revisione delle strategie di gestione delle vulnerabilità. Le organizzazioni dovranno valutare come integrare questi strumenti nei flussi di lavoro esistenti, definire processi di verifica delle segnalazioni generate dall’IA e sviluppare nuove competenze interne per interpretare correttamente i risultati delle analisi automatiche.

Di Fantasy