Un framework per la generazione e la valutazione di fuzz target
Questo framework genera fuzz target per progetti reali C/C++/Java/Python con
vari Large Language Models (LLM) e li valuta tramite la
piattaforma OSS-Fuzz.
Nel complesso, questo framework riesce a sfruttare con successo gli LLM per generare fuzz target validi (che producono un aumento di copertura diverso da zero)
per 160 progetti C/C++. L'aumento massimo della copertura per riga è del 29% rispetto ai target esistenti scritti manualmente.
Tieni presente che questi report non sono pubblici poiché potrebbero contenere vulnerabilità non ancora divulgate.
Utilizzo
Consulta la nostra guida all'utilizzo dettagliata per le istruzioni su come eseguire questo framework e generare report basati sui risultati.
Esecuzione e Valutazione Indipendente degli Agenti
Puoi anche eseguire o valutare singoli agenti senza avviare esperimenti completi, utilizzando il framework integrato di esecuzione degli agenti.
Consulta la documentazione del framework per istruzioni dettagliate su come eseguire singoli agenti o sequenze di agenti.
Collaborazioni
Sei interessato a collaborazioni di ricerca o con la community open-source?
Non esitare ad aprire una issue o a scriverci: [email protected].
Bug Scoperti
Finora abbiamo segnalato 30 nuovi bug/vulnerabilità trovati da target generati automaticamente creati
da questo framework:
Questi bug possono essere scoperti solo con target generati di recente. Non erano raggiungibili con i target OSS-Fuzz esistenti.
Attuali principali miglioramenti di copertura per progetto
Progetto
Guadagno di copertura totale
Guadagno relativo totale
Righe totali coperte da OSS-Fuzz-gen
Nuove righe coperte da OSS-Fuzz-gen
Righe esistenti coperte
Righe totali del progetto
phmap
98.42%
205.75%
1601
1181
574
1120
usbguard
97.62%
26.04%
24550
5463
20979
3564
onednn
96.67%
7057.14%
5434
5434
77
210
avahi
82.06%
155.90%
3358
2814
1805
3046
pugixml
72.98%
194.95%
9015
6646
3409
7662
librdkafka
66.88%
845.57%
5019
4490
531
1169
casync
66.75%
903.23%
1171
1120
124
1678
tomlplusplus
61.06%
331.10%
4755
3652
1103
5981
astc-encoder
59.35%
177.88%
2726
1745
981
2940
mruby
48.56%
0.00%
34493
34493
0
71038
arduinojson
42.10%
85.80%
3344
1800
2098
4276
json
41.13%
66.51%
5051
3339
5020
8119
double-conversion
40.40%
88.12%
1663
779
884
1928
tinyobjloader
38.26%
77.01%
1157
717
931
1874
glog
38.18%
58.69%
895
331
564
867
cppitertools
35.78%
45.07%
253
151
335
422
eigen
35.38%
190.70%
2643
1947
1021
* "Total project lines" misura il codice sorgente del progetto in esame compilato e collegato dai fuzz target preesistenti scritti manualmente da OSS-Fuzz.
* "Total coverage gain" è calcolato usando come denominatore le "Total project lines". "Total relative gain" è l'aumento della copertura rispetto al vecchio numero di righe coperte.
* Codice aggiuntivo dal progetto in esame potrebbe essere incluso quando si compilano i nuovi fuzz target e comportare aumenti percentuali elevati.
Come Citare Questo Lavoro
Fai clic sul pulsante 'Cite this repository' situato sul lato destro di questa pagina GitHub per i dettagli sulla citazione.