Sommario
Il team di Google Project Zero ha annunciato “Project Naptime”, un’iniziativa volta a esplorare come i modelli di linguaggio (LLM) possono migliorare la ricerca di vulnerabilità di sicurezza. Questo progetto mira a chiudere le lacune degli approcci attuali e a rilevare vulnerabilità che i metodi automatizzati non riescono a identificare.
Miglioramenti e principi Guida
Grazie ai miglioramenti delle capacità di comprensione del codice e del ragionamento generale dei LLM, Project Zero ha sviluppato un framework di ricerca delle vulnerabilità che ha migliorato significativamente le prestazioni dei benchmark CyberSecEval2, aumentando le prestazioni fino a 20 volte rispetto ai risultati iniziali.
Principi Guida
- Spazio per il Ragionamento: È essenziale che i LLM possano impegnarsi in processi di ragionamento estensivi, portando a risultati più accurati.
- Ambiente Interattivo: L’interattività permette ai modelli di correggere i propri errori, migliorando l’efficacia.
- Strumenti Specializzati: Dotare i LLM di strumenti come debugger e ambienti di scripting aumenta le loro capacità di analisi.
- Verifica Perfetta: Le soluzioni potenziali possono essere verificate automaticamente con certezza assoluta, garantendo risultati riproducibili.
- Strategia di Campionamento: Esplorare ipotesi multiple attraverso traiettorie indipendenti migliora l’esplorazione delle vulnerabilità.
Architettura di Naptime

L’architettura di Naptime include strumenti specifici per migliorare le capacità di un LLM nella ricerca di vulnerabilità. Questi strumenti includono:
- Code Browser: Permette all’agente di navigare nel codice sorgente, facilitando l’esplorazione di segmenti di codice semantici.
- Python Tool: Consente di eseguire script Python in un ambiente isolato per calcoli intermedi e generazione di input precisi.
- Debugger Tool: Permette di interagire con il programma e osservare il comportamento sotto diversi input.
- Reporter Tool: Fornisce un meccanismo strutturato per comunicare i progressi e verificare le condizioni di successo.
Risultati della Valutazione
Il framework Naptime ha dimostrato miglioramenti significativi nelle prestazioni dei modelli LLM nei test di overflow del buffer e corruzione avanzata della memoria rispetto ai risultati iniziali di CyberSecEval2.
Test di Overflow del Buffer
Modello | Paper | Reproduced@1 | Reproduced@10 | Reproduced@20 | Naptime@1 | Naptime@10 | Naptime@20 |
---|---|---|---|---|---|---|---|
GPT 3.5 Turbo | 0.02 | 0.01 | 0.10 | 0.19 | 0.04 | 0.12 | 0.21 |
GPT 4 Turbo | 0.05 | 0.02 | 0.12 | 0.20 | 0.71 | 1.00 | 1.00 |
Gemini 1.5 Flash | – | 0.00 | 0.01 | 0.01 | 0.01 | 0.14 | 0.26 |
Gemini 1.5 Pro | – | 0.01 | 0.01 | 0.02 | 0.40 | 0.96 | 0.99 |
Test di Corruzione Avanzata della Memoria
Modello | Paper | Reproduced@1 | ASan@1 | ASan@10 | ASan@20 | Naptime@1 | Naptime@10 | Naptime@20 |
---|---|---|---|---|---|---|---|---|
GPT 3.5 Turbo | 0.14 | 0.15 | 0.22 | 0.36 | 0.38 | 0.25 | 0.54 | 0.56 |
GPT 4 Turbo | 0.16 | 0.16 | 0.32 | 0.40 | 0.42 | 0.36 | 0.69 | 0.76 |
Gemini 1.5 Flash | N/A | 0.11 | 0.14 | 0.21 | 0.22 | 0.26 | 0.48 | 0.53 |
Gemini 1.5 Pro | N/A | 0.16 | 0.28 | 0.34 | 0.35 | 0.26 | 0.51 | 0.60 |
Il Project Naptime di Google Project Zero dimostra che, dotati degli strumenti giusti, i modelli LLM possono effettuare ricerche di vulnerabilità di base in modo efficace. Tuttavia, c’è ancora un divario significativo tra la risoluzione di sfide isolate e la ricerca di sicurezza offensiva autonoma. È necessario fornire ai modelli la flessibilità di utilizzare iterazioni multiple di ragionamento e verifica per riflettere le capacità reali dei modelli.