go vulnerability check
devsecopsDéfinition
govulncheck est l'outil officiel de détection de vulnérabilités dans les dépendances Go, développé et maintenu par l'équipe de sécurité Go (Google). Contrairement aux scanners SCA génériques (Grype, Snyk) qui alertent sur toutes les CVEs des packages Go utilisés, govulncheck adopte une approche innovante : il analyse le code source et le binaire Go pour identifier uniquement les fonctions vulnérables qui sont réellement appelées par votre code (call graph analysis), réduisant drastiquement les faux positifs. govulncheck consulte la Go Vulnerability Database (vuln.go.dev), la base de données officielle de vulnérabilités Go maintenue par l'équipe sécurité Google, qui couvre les CVEs dans les modules Go publiés sur pkg.go.dev. Cette base de données se distingue par la précision de ses advisory : chaque entrée documente non seulement quel package est vulnérable mais aussi quelles fonctions spécifiques dans ce package présentent la vulnérabilité. La particularité de govulncheck (call graph analysis) est ce qui le distingue fondamentalement des autres outils SCA : si votre code utilise le package golang.org/x/crypto mais n'appelle pas la fonction spécifique qui contient la vulnérabilité CVE-XXXX-YYYY, govulncheck ne signalera pas cette CVE. Cette précision réduit considérablement le bruit par rapport aux outils qui reportent simplement "ce package est utilisé et présente une CVE", forçant les équipes à analyser manuellement chaque alerte pour déterminer si le code vulnérable est réellement appelé. L'utilisation de govulncheck est simple et rapide : go install golang.org/x/vuln/cmd/govulncheck@latest && govulncheck ./... analyse un module Go complet et retourne uniquement les vulnérabilités dans le code effectivement appelé, avec le chemin d'appel depuis le point d'entrée vers la fonction vulnérable.
Call Graph Analysis : la différence de govulncheck
La différence fondamentale de govulncheck : un scanner SCA générique alertant sur golang.org/x/crypto@v0.0.0-20210711020723-a769d52d0229 (vulnérable) signalera la CVE même si votre code n'utilise que crypto/rand.Read() (non vulnérable) et n'appelle jamais la fonction vulnérable. govulncheck analyse le call graph de votre programme pour confirmer que votre code appelle effectivement la fonction vulnérable avant de générer une alerte. Cette précision réduit les "fausses alertes SCA" par 60-80% dans les projets Go.
Commandes govulncheck essentielles
Usage de govulncheck : go install golang.org/x/vuln/cmd/govulncheck@latest, puis govulncheck ./... (analyse toutes les packages du module, mode source — analyse le call graph du code source), govulncheck -mode=binary ./myapp (analyse un binaire Go compilé — utile pour les binaires déployés dont on n'a pas le source), govulncheck -json ./... > govulncheck-results.json (format JSON pour l'intégration CI). Exit code : 0 si aucune vulnérabilité appelée, 3 si des vulnérabilités sont trouvées dans le code appelé, permettant de bloquer le pipeline CI.
Intégration govulncheck dans GitHub Actions Go
Workflow GitHub Actions pour Go avec govulncheck : uses: golang/govulncheck-action@v1 with go-version-input: 1.22 check-latest: true. Cette action officielle installe Go, exécute govulncheck ./..., et échoue le workflow si des vulnérabilités sont trouvées dans le code effectivement appelé. Complémentaire de golangci-lint (qui inclut des linters de sécurité Go comme gosec) et de Dependabot (qui monitore les nouvelles CVEs dans go.sum), govulncheck constitue le troisième pilier de la chaîne de sécurité CI pour les projets Go.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h