Evaluating LLMs for Real-World Web Vulnerability Detection
Questo articolo valuta sei modelli linguistici di grandi dimensioni, sia frontier che open-weight, sulla loro capacità di rilevare vulnerabilità web reali nei plugin di WordPress, rivelando che, sebbene tutti i modelli possano identificare problemi validi, i tassi di rilevamento variano significativamente in base al modello e alla progettazione del prompt, con nessun modello che raggiunga una segnalazione costante o un'accuratezza perfetta attraverso le iterazioni.
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 massiccia biblioteca di "manuali di istruzioni" digitali (codice) per costruire siti web. Alcuni di questi manuali hanno trappole nascoste — come una tavola del pavimento allentata che conduce a un seminterrato pieno di ladri (hacker). Queste trappole sono chiamate vulnerabilità.
Per molto tempo, trovare queste trappole ha richiesto un team di esperti guardie di sicurezza che leggevano manualmente ogni singola pagina di ogni manuale. Ma recentemente, è arrivato un nuovo tipo di "super-lettore": i Large Language Models (LLM). Questi sono sistemi di IA che possono leggere e comprendere il codice quasi come un essere umano.
Questo articolo è essenzialmente un pagella che testa quanto bene sei diversi "super-lettori" riescano a trovare queste trappole nascoste nei plugin per siti web WordPress (le estensioni che forniscono funzionalità extra ai siti web).
Ecco la suddivisione del loro esperimento e delle loro scoperte, utilizzando analogie semplici:
1. L'allestimento: La "Caccia alla Trappola"
I ricercatori hanno scelto quattro popolari plugin di WordPress che erano noti per avere trappole specifiche e reali (come l'SQL Injection, che è come un trucco dell'hacker per ingannare un database e fargli rivelare i suoi segreti, o il Cross-Site Scripting, che è come un hacker che inietta un falso biglietto su una bacheca pubblica).
Hanno chiesto a sei diversi modelli di IA di agire come auditor di sicurezza. Non hanno solo fatto la domanda una volta; hanno eseguito il test tre volte per vedere se l'IA fosse coerente, come chiedere a uno studente di sostenere lo stesso esame per tre giorni di fila.
Hanno anche provato diversi modi per porre la domanda (chiamati "prompt"):
- Il Prompt "Pigro": Diceva solo, "Trova i bug."
- Il Prompt "Generale": Diceva, "Sei un esperto di sicurezza. Trova tutti i tipi principali di bug."
- Il Prompt "Specifico": Diceva, "Sei un esperto di sicurezza. Cerca specificamente questo esatto tipo di bug."
2. I Risultati: Chi ha superato il test?
I risultati sono stati un mix di successo impressionante e incoerenza frustrante.
- Lo Studente Stella: Un modello, Claude Opus 4.6, è stato il migliore nel suo lavoro. Ha trovato circa il 63% delle trappole note. Era il detective più affidabile.
- La Sorpresa Open-Source: Un modello chiamato MiniMax M2.5, che può essere eseguito sul proprio computer (a differenza degli altri che richiedono un abbonamento a pagamento), si è comportato altrettanto bene dei migliori modelli a pagamento, trovando circa il 48% delle trappole. È come un pasto cucinato in casa che ha lo stesso sapore di un piatto di un ristorante a cinque stelle.
- Gli Inetti: I modelli Qwen (un'altra opzione open-source) hanno trovato solo circa il 35% delle trappole. Hanno mancato il bersaglio più della metà delle volte.
La Grande Conclusione: Anche la migliore IA ha mancato quasi il 40% delle trappole. Nessuna singola IA ha trovato ogni trappola in ogni plugin.
3. La "Domanda Magica" (Design del Prompt)
I ricercatori hanno scoperto che come si interroga l'IA conta più di quale IA si usa.
- Specifico è meglio: Se dicevi all'IA, "Cerca specificamente l'SQL Injection", trovava più bug rispetto a dire "Cerca qualsiasi cosa di sbagliato". È come dire a un utente di un metal detector, "Cerca monete d'oro", invece di "Cerca qualsiasi cosa di metallo".
- La complessità non aiuta: Dare all'IA un manuale di istruzioni lungo e complicato, passo dopo passo, non l'ha resa più intelligente. Istruzioni semplici e dirette funzionavano altrettanto bene.
4. Il Probleo del "Lancio della Moneta" (Coerenza)
Questa è stata la scoperta più sorprendente. L'IA era inaffidabile.
Se chiedevi alla stessa IA la stessa domanda sullo stesso codice per tre volte, dava una risposta diversa ogni volta.
- A volte diceva: "Ho trovato una trappola!"
- La volta successiva diceva: "Tutto sembra sicuro."
- La terza volta poteva dire: "Ho trovato una trappola, ma è una diversa."
Solo un modello (Gemini) era coerente il 95% delle volte, ma era anche quello che trovava il minor numero di trappole. I migliori modelli erano spesso incoerenti, agendo come un lancio di moneta. Questo significa che non puoi fidarti di una singola scansione; devi eseguirla più volte per essere sicuro.
5. La "Trappola Fantasma" (Quella che tutti hanno mancato)
C'era un plugin specifico con una trappola complicata chiamata "Stored Cross-Site Scripting". Nessuna delle sei IA l'ha trovata, nemmeno dopo 90 tentativi.
Perché? La trappola era nascosta dietro un'impostazione molto specifica che non era attivata di default. Le IA hanno assunto: "Dato che l'impostazione non è attiva, questo codice non conta", ed è passato oltre. È stato un caso in cui l'IA ha fatto un'assunzione logica che si è rivelata errata.
6. Come si confronta con gli strumenti classici?
I ricercatori hanno passato il codice anche attraverso uno scanner di sicurezza tradizionale (Semgrep), che è come usare un metal detector che emette un segnale solo per forme specifiche.
- Il Risultato: Lo scanner tradizionale ha trovato zero delle trappole note.
- La Lezione: Le IA sono state molto più brave a trovare questi specifici bug reali rispetto agli strumenti della vecchia scuola, ma hanno comunque mancato alcuni di essi.
Il Verdetto Finale
Il documento conclude che l'IA è un potente assistente, ma non un sostituto per gli esperti di sicurezza umani.
- Funziona: L'IA può trovare bug reali e pericolosi nel codice di un sito web.
- Non è perfetta: Manca circa la metà dei bug e cambia idea frequentemente.
- Come usarla: Si ottengono i risultati migliori usando un modello di alto livello (come Claude), dando una domanda specifica ("Trova bug SQL") ed eseguendo il test più volte.
- L'Avvertenza: Non puoi semplicemente fidarti del rapporto dell'IA. Gli esseri umani devono ancora controllare i risultati perché l'IA a volte "allucina" (inventa bug che non esistono) o manca trappole complesse.
In breve, l'IA è una nuova torcia molto utile per trovare i buchi nell'armatura del tuo sito web, ma hai ancora bisogno di un essere umano che tenga la torcia, controlli le ombre e si assicuri che la parete sia effettivamente sicura.
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.