Can Open-Source LLM Agents Replace Static Application Security Testing Tools? An Empirical Assessment
Questo studio empirico conclude che gli attuali agenti LLM open-source e general-purpose basati su modelli Ollama non sono ancora adatti a sostituire gli strumenti consolidati di Static Application Security Testing (SAST) come Bandit in scenari di cybersicurezza realistici.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immagina di avere una biblioteca enorme di libri (codice) e di dover trovare ogni singolo errore di battitura, buco nella trama o segreto pericoloso nascosto al loro interno. Hai due aiutanti per fare questo lavoro:
- Il Bibliotecario Veterano (Bandit): Questo è uno strumento tradizionale. Non "pensa" né "immagina". Ha una lista di controllo rigida e pre-scritta di errori noti (come "non lasciare la porta sul retro aperta" o "non usare una serratura arrugginita"). Scansiona i libri velocemente, metodicamente, e ti dice esattamente dove si trovano i problemi. È noioso, ma è affidabile.
- Il Tirocinante Creativo (L'Agente AI): Questo è un nuovo e sofisticato Modello di Linguaggio di Grandi Dimensioni (LLM). È come uno studente brillante che ha letto l'intero internet. Invece di una lista di controllo, gli dai una descrizione del lavoro: "Trova qualsiasi cosa sembri pericolosa". Usa la sua immaginazione per indovinare cosa potrebbe essere sbagliato.
L'Esperimento
I ricercatori in questo articolo hanno deciso di mettere questi due aiutanti l'uno contro l'altro. Hanno dato loro tre diverse "biblioteche" (progetti software open-source) da scansionare:
- Un gestore di pacchetti vecchio ma robusto (Yum).
- Un'app per il monitoraggio delle abitudini personali (Beaverhabits).
- Uno strumento di sicurezza che blocca i tentativi di accesso errati (Fail2ban).
Hanno chiesto al Bibliotecario Veterano di scansionarli per primo per creare una lista "gold standard" di problemi reali. Poi, hanno chiesto al Tirocinante Creativo (alimentato da tre diversi modelli AI: Gemma, Llama e Qwen) di fare lo stesso lavoro.
Cosa è Successo? (I Risultati)
I risultati sono stati un po' un disastro per il Tirocinante Creativo. Ecco la suddivisione usando semplici analogie:
- Il Problema della "Allucinazione": Il Tirocinante continuava a inventare problemi che non esistevano. Guardava una riga di codice perfettamente normale e diceva: "Aha! Questo è un leak di una password segreta!", quando in realtà era solo un'impostazione standard. In articolo, questo viene chiamato Falso Positivo. Il Tirocinante era così desideroso di trovare guai che ha segnalato cose innocue come pericolose.
- Analogia: È come un guardia giurata che pensa che una persona che tiene in mano una mela rossa stia impugnando una bomba perché "le cose rosse sono pericolose".
- Il Problema della "Posizione Persa": Quando il Tirocinante trovava un problema reale, spesso non riusciva a dirti dove fosse. Diceva: "C'è un bug nel codice", ma quando gli chiedevi: "Quale file? Quale riga?", inventava un nome di file che non esisteva o indicava una riga che era vuota.
- Analogia: È come un detective che dice: "Il ladro è in casa", ma quando gli chiedi: "In quale stanza?", lui indovina "In soffitta" quando in realtà il ladro è in cantina.
- Il Problema delle "Opportunità Perse": Il Tirocinante ha mancato un enorme pezzo dei problemi reali che il Bibliotecario Veterano aveva trovato. Ha colto solo circa il 25% dei problemi reali.
- Analogia: Il Bibliotecario ha trovato 100 errori di battitura. Il Tirocinante ne ha trovati solo 25, e 50 di quelli che ha trovato non erano affatto errori di battitura.
- Il Problema della "Velocità": Il Bibliotecario Veterano ha finito il lavoro in meno di un minuto. Il Tirocinante Creativo ha impiegato ore (a volte da 1 a 4 ore per biblioteca) per fare lo stesso lavoro.
- Analogia: Il Bibliotecario è un treno ad alta velocità. Il Tirocinante è una lumaca che si ferma a annusare ogni fiore lungo il percorso.
Il Verdetto
L'articolo conclude che, al momento, il Tirocinante Creativo non è pronto per sostituire il Bibliotecario Veterano.
Sebbene il Tirocinante sia bravo a scrivere storie o riassumere email, è attualmente troppo inaffidabile per il compito specifico e ad alto rischio della scansione di sicurezza. Crea troppo "rumore" (falsi allarmi), manca troppi pericoli reali e impiega troppo tempo per fare il lavoro.
I ricercatori suggeriscono che forse il Tirocinante potrebbe essere usato come un aiutante per il Bibliotecario — ad esempio per individuare le cose che il Bibliotecario ha mancato — ma solo se gli esseri umani controllano prima ogni singola sua ipotesi. Ma come strumento autonomo per sostituire i vecchi, affidabili metodi? L'articolo dice no. Le "allucinazioni" (inventare cose) e la mancanza di precisione lo rendono troppo rischioso da affidare alla sicurezza in questo momento.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.