Il rilevamento delle vulnerabilità è il processo di identificazione delle debolezze nel software, come logica non sicura, bug di sicurezza della memoria, segreti esposti o controllo degli accessi difettoso. Può essere effettuato manualmente durante la revisione del codice, con scanner e fuzzer, oppure con sistemi di IA che cercano modelli sospetti e percorsi di codice a rischio.
Nella sicurezza informatica, questo è importante perché individuare presto le debolezze riduce la possibilità che gli aggressori le scoprano per primi e le trasformino in armi. I difensori usano il rilevamento delle vulnerabilità per dare priorità alle patch, rafforzare le applicazioni e convalidare i controlli di sicurezza. Gli aggressori e i ricercatori di exploit usano la stessa competenza per cercare debolezze che potrebbero portare a esecuzione di codice remoto, escalation dei privilegi o furto di dati. Per questo il termine è spesso considerato a duplice uso: la stessa capacità può rafforzare le difese o ridurre il costo della ricognizione offensiva. I programmi solidi affiancano al rilevamento automatico la convalida umana, perché non tutti i problemi segnalati sono davvero sfruttabili.



