Non penso che ci sia uno strumento, o lo sarà mai, in grado di fornire certezza. Non si specifica se si sta cercando codice accidentale o intenzionalmente dannoso. Gli errori accidentali sono più facili da individuare, le "backdoor" intenzionali sono impossibili, a livello di strumenti, da distinguere dal codice valido.
Vorrei iniziare con (come hai già detto) i controlli statici e i controlli dinamici (valgrind).
Sarà richiesto un riesame interno del codice / audit e, in base all'importanza e ai budget del progetto, la revisione del codice esterno / audit da parte di specialisti sarebbe denaro ben speso. 150kLOC è un progetto di dimensioni abbastanza medie, dovrebbe essere possibile eseguire un controllo di questo.
Il test delle interfacce (blackbox) è essenziale. Utilizzare un consulente di sicurezza se non si dispone di esperti interni.
Se stai cercando codice intenzionale, è un grosso problema, dato che è piuttosto facile nascondere vulnerabilità intenzionali (ad es. un overflow del buffer intenzionale nascosto dietro il cast per nascondere l'avviso del compilatore), ed è una base di codice troppo grande per essere certo di identificarne tutti. Supponi di non trovarli tutti e di distribuirli di conseguenza.