Un test di regressione è un controllo ripetibile usato per verificare che un bug corretto oggi non riappaia dopo successive modifiche al codice, alla configurazione o alle dipendenze. Nella sicurezza del software, questi test vengono spesso aggiunti a una suite di test o a una pipeline CI in modo che i team possano confermare rapidamente che una patch continui a bloccare la condizione di attacco originale.
I test di regressione sono importanti perché molte vulnerabilità tornano quando il codice viene rifattorizzato o quando un parser, un proxy o una cache vengono ottimizzati. Per esempio, dopo aver corretto un problema di desincronizzazione HTTP, i difensori possono mantenere casi di richieste malformate in un insieme di regressione per assicurarsi che ogni livello concordi ancora sui confini delle richieste. Gli attaccanti traggono vantaggio quando una correzione è incompleta o una modifica successiva riapre lo stesso caso limite; i difensori beneficiano quando i test di regressione intercettano questa deriva prima che raggiunga la produzione. In pratica, test di regressione efficaci trasformano correzioni isolate in controlli di sicurezza duraturi.


