Ricerca
PatchHolmes: ricerca agentica delle patch mediante selezione listwise
Il reperimento delle patch, cioè l’individuazione del commit che corregge una vulnerabilità nota, è alla base dei processi di gestione delle vulnerabilità. Eppure, nelle principali banche dati degli a

- arXiv
- 2609.38807
- Pubblicato
- 2026-09-30
- Autori
- Guanqun Yang, Yingming Zhou, Jiangrui Zheng, Shudong Hao, Xueqing Liu
Abstract degli autori
Il reperimento delle patch, cioè l’individuazione del commit che corregge una vulnerabilità nota, è alla base dei processi di gestione delle vulnerabilità. Eppure, nelle principali banche dati degli avvisi di sicurezza, tra il 60% e il 63% delle CVE non ha un collegamento alla patch. Presentiamo PatchHolmes, un sistema di reperimento delle patch in due fasi che combina un primo sistema ibrido di ricerca con una seconda fase di analisi condotta da un agente. A differenza dei lavori precedenti, che assegnano un punteggio a ogni candidato indipendentemente dagli altri, nella fase 2 l’agente esamina i primi 100 candidati come un insieme: vede l’intero elenco in una volta e, prima di indicare un unico commit come scelta migliore, legge selettivamente da 3 a 10 commit usando quattro strumenti con limiti di utilizzo. Su GitHubAD, PatchHolmes supera il classificatore binario che valuta i candidati singolarmente Favia di 25,34% in Recall@1 e il sistema di riferimento IRCoT, che combina ricerca e ragionamento chain-of-thought, di 31,40%, usando 1 conversazione con l’agente per CVE contro le dieci di Favia. A parità di candidati, l’agente migliora Recall@1 di 27,32% rispetto alla scelta del primo candidato proposto dal sistema di ricerca; trasferito senza modifiche a PatchFinder_top10, lo stesso agente porta Recall@1 dal 24,28% della scelta top-1 di PatchFinder al 39,86%. Sostituire il modello linguistico di base con un altro della famiglia Qwen modifica Recall@1 di meno dell’1%, mentre una seconda famiglia di modelli (gpt-oss) resta ampiamente al di sopra del risultato ottenuto senza agente: il miglioramento deriva quindi dal ciclo di analisi dell’insieme dei candidati condotto dall’agente. L’intero sistema funziona su un modello a pesi aperti non modificato e su un repository Git locale, senza fine-tuning né API di ricerca esterne.
Il riassunto di questo paper è disponibile solo in inglese: leggilo nella pagina inglese.
Leggi il paper originale su arXiv