1 points par GN⁺ 2026-02-21 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Les notifications excessives de Dependabot font perdre du temps aux développeurs au lieu de les aider à résoudre de vrais problèmes de sécurité
  • Comme l’a montré un cas survenu dans l’écosystème Go, des milliers de PR et d’alertes sont générées même pour des dépôts non affectés, ce qui crée de la confusion
  • En utilisant une GitHub Action basée sur govulncheck, il est possible de détecter uniquement le code réellement vulnérable et d’éliminer les alertes inutiles
  • Pour les mises à jour de dépendances, il est plus sûr et plus efficace de les gérer via des tests périodiques et une validation des versions les plus récentes plutôt qu’avec des PR automatisées
  • Cette approche est importante pour réduire la fatigue liée aux alertes (alert fatigue) et alléger la charge des mainteneurs open source

Les problèmes de Dependabot

  • Dependabot génère en masse des alertes de sécurité et des PR automatiques, ce qui complique l’identification des vrais problèmes importants pour les développeurs
    • Une modification mineure du paquet Go filippo.io/edwards25519 a suffi à déclencher des milliers de PR
    • Des alertes de sécurité erronées ont aussi été envoyées à des dépôts non affectés, comme Wycheproof
  • Les alertes incluent des scores CVSS erronés et de faibles indicateurs de compatibilité, alimentant une inquiétude inutile
  • Cet excès de notifications est présenté comme une cause de baisse de fiabilité et d’efficacité dans la réponse aux incidents de sécurité

Une alternative avec govulncheck

  • La Go Vulnerability Database fournit des métadonnées détaillées au niveau des versions, des paquets et des symboles
    • Par exemple, la vulnérabilité GO-2026-4503 n’affecte que le symbole Point.MultiScalarMult
  • govulncheck utilise l’analyse statique pour détecter uniquement le code vulnérable réellement appelable
    • Utilisé avec go mod why, il permet de déterminer précisément si une dépendance indirecte a un impact
    • Même si une vulnérabilité existe, l’outil ne signale rien si le code n’appelle pas le symbole concerné
  • L’intégration est simple via la CLI (govulncheck -json) ou l’API Go (golang.org/x/vuln/scan)

Remplacement par GitHub Actions

  • À la place de Dependabot, on peut configurer une GitHub Action govulncheck pour lancer une vérification automatique chaque jour
    • Une notification n’est envoyée que lorsqu’une vraie vulnérabilité est détectée
    • Comme aucune PR automatique n’est créée, les développeurs peuvent se concentrer sur les enjeux de sécurité réellement importants
  • Réduire les fausses alertes permet d’atténuer la fatigue liée aux alertes de sécurité (alert fatigue) et d’améliorer la qualité des réponses
  • Cela élimine aussi le problème des PR inutiles envoyées aux mainteneurs open source

Gestion des mises à jour de dépendances

  • Les dépendances doivent être gérées de façon groupée selon le cycle de développement propre à chaque projet
    • Des tests peuvent être exécutés chaque jour avec les versions les plus récentes, tandis que les mises à jour effectives ne sont effectuées qu’au moment nécessaire
    • En Go, il est possible de tester les versions les plus récentes avec go get -u -t ./..., et en npm avec la commande npm update
  • Cette méthode permet de garantir à la fois la rapidité de réaction face aux vulnérabilités et la stabilité
    • Les tests sur les dernières versions permettent d’identifier tôt les problèmes de compatibilité
    • Elle évite aussi qu’une dépendance contenant du code malveillant soit déployée immédiatement
  • Avec geomys/sandboxed-step, l’exécution peut être isolée dans CI via gVisor

Conclusion et contexte de soutien

  • L’automatisation de Dependabot génère souvent plus de bruit (noise) que de sécurité
  • Une approche fondée sur govulncheck et des tests périodiques constitue une méthode de gestion de la sécurité plus précise et plus durable
  • La maintenance open source de l’auteur est soutenue via l’organisation Geomys par des sponsors comme Ava Labs, Teleport, Tailscale et Sentry
  • Ce modèle contribue à la pérennité de l’écosystème open source et à l’amélioration de la qualité de la sécurité

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.