Présenté le 13 juillet dernier, Govulncheck passe en version 1.0.0 et a pour ambition d’analyser les binaires et le code source de Go à la recherche de failles. Pour cela, l’utilitaire en ligne de commande réduit le bruit en s’appuyant sur une base de données des bugs dans les modules publics de Go. Il utilise l'analyse statique du code source ou de la table des symboles d'un binaire pour limiter ses rapports aux seules vulnérabilités susceptibles d'affecter une application particulière.
Govulncheck doit être construit avec Go 1.18 ou une version ultérieure. Go 1.20 est la version de production actuelle du langage de programmation. Il recherche les vulnérabilités en utilisant une configuration de compilation spécifique. Pour le code source, la configuration est la version de Go spécifiée par la commande « go » trouvée sur le chemin. Pour les binaires, la configuration est celle utilisée pour construire le code.
L’utilitaire avertit sur quelques limitations. Par exemple, il analyse les pointeurs de fonction et les appels d'interface de manière conservatrice, ce qui peut entraîner des faux positifs ou des des stacks d’appels inexacts. De même, il n’y a pas de support pour rendre secret les découvertes de vulnérabilités. L’outil doit être perfectionné au fil du temps. Il est possible de l’installer avec go install. (go install golang.org/x/vuln/cmd/govulncheck@latest).