D-OPEN

Configurer Dependabot et Renovate pour l audit securite des dependances open source en 7 etapes

Configurer Dependabot Renovate securite dependances open source developpeurs
Antoine Mercier

Antoine Mercier

DevSecOps lead · 12 mai 2026 · 14 min de lecture

TL;DR

  • • Ce guide couvre la configuration complete de Dependabot (natif GitHub) et Renovate (multi-plateforme) pour le scan automatise des vulnerabilites dans vos dependances open source.
  • • En 7 etapes, vous passez d un projet sans monitoring a un pipeline avec detection automatique des CVE, mises a jour automatiques et automerge securise.
  • • Temps de mise en place : 90 minutes pour un repository complet, 4 heures pour une organisation avec 20+ repos.
  • • Prerequis : un repository sur GitHub, GitLab ou Bitbucket, avec un pipeline CI fonctionnel (tests qui passent).

Le rapport OSSRA 2026 de Black Duck revele que les vulnerabilites open source ont double a 581 par codebase, avec 87% des projets a risque. Face a cette realite, la configuration d outils de monitoring automatise des dependances n est plus optionnelle — c est une condition de survie operationnelle pour tout projet open source en production. Ce guide vous accompagne pas a pas dans la mise en place de Dependabot et Renovate, les deux outils de reference pour le scan et la mise a jour automatique des dependances vulnerables.

Que vous soyez un developpeur independant a Paris, un lead tech dans une startup a Lyon, un DevOps dans une ESN a Nantes ou un CTO de PME a Bordeaux, ce guide est concu pour etre applicable immediatement sur vos projets existants. Chaque etape inclut la configuration concrete, les fichiers a creer et les commandes a executer. A la fin de ces 7 etapes, vos dependances seront monitorees en continu, les patchs de securite appliques automatiquement, et votre supply chain significativement durcie.

ARCHITECTURE : DEPENDABOT + RENOVATE DANS VOTRE PIPELINERepositorypackage.jsonrequirements.txtCargo.tomlDependabotSecurity alertsVersion updatesGitHub natifRenovate BotAutomerge conditionnelGroupement packagesMulti-plateformeCI/CD PipelineTests unitairesnpm audit / pip-auditType check + lintAUTOMERGEpatch + minor OKREVIEW HUMAINmajor + breakingSBOM CycloneDXInventaire complet des composantsConformite CRA / NIS2ALERTES TEMPS REELSlack / Teams / EmailCVE critique = notification immediate

Etape 1 : Auditer l etat actuel de vos dependances

Avant de configurer un outil de monitoring automatise, vous devez dresser un inventaire complet de votre situation actuelle. Cette etape de diagnostic est essentielle pour prioriser les actions et eviter d etre submerge par des centaines d alertes le jour de l activation. Chaque ecosysteme dispose de son propre outil d audit natif :

Pour les projets Node.js/npm : executez npm audit --omit=dev pour lister les vulnerabilites dans vos dependances de production. Ajoutez --audit-level=critical pour ne voir que les CVE CVSS 9+. Pour un audit plus detaille incluant les licences, utilisez npx audit-ci --config audit-ci.json.

Pour les projets Python/pip : installez pip-audit via pip install pip-audit puis executez pip-audit -r requirements.txt --desc. Pour les projets avec pyproject.toml, utilisez pip-audit --require-hashes pour verifier aussi l integrite des packages.

Pour les projets Rust/Cargo : executez cargo audit (installez-le via cargo install cargo-audit). Cet outil interroge la base RustSec Advisory Database et vous donne un rapport clair des crates vulnerables dans votre Cargo.lock.

Pour les projets Go : utilisez govulncheck ./... qui interroge la base de vulnerabilites officielle Go depuis le module golang.org/x/vuln. Notez les identifiants CVE de chaque vulnerabilite trouvee et leur severite.

Documentez les resultats dans un fichier SECURITY_BASELINE.md a la racine de votre repository. Ce document servira de reference pour mesurer votre progression. Si vous decouvrez plus de 50 vulnerabilites (ce qui est probable selon les chiffres du rapport OSSRA 2026), ne paniquez pas : l etape suivante va automatiser la remediation.

Etape 2 : Activer Dependabot sur GitHub

Dependabot est l outil de scan de dependances integre nativement a GitHub. Il est gratuit pour tous les repositories (publics et prives) et se configure en ajoutant un seul fichier YAML. Creez le fichier .github/dependabot.yml a la racine de votre repository avec la configuration suivante :

version: 2
updates:
  # Dependances npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 10
    reviewers:
      - "votre-equipe-securite"
    labels:
      - "dependencies"
      - "security"
    commit-message:
      prefix: "chore(deps):"

  # Dependances Python
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 5

  # GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    commit-message:
      prefix: "ci(deps):"

  # Images Docker
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"

Cette configuration active un scan quotidien pour les dependances applicatives (npm, pip) et hebdomadaire pour l infrastructure (GitHub Actions, Docker). Dependabot creera automatiquement des pull requests pour chaque mise a jour disponible, avec un label security pour les correctifs de vulnerabilites. Activez egalement les Dependabot Security Alerts dans les parametres de securite du repository (Settings > Code security and analysis > Dependabot alerts : Enable).

Point important pour les equipes a Paris et Lyon qui gerent de nombreux repositories : vous pouvez definir une configuration Dependabot au niveau de l organisation GitHub (fichier .github/dependabot.yml dans le repository .github de votre organisation) pour appliquer une configuration par defaut a tous les repositories.

Etape 3 : Configurer Renovate pour le multi-plateforme et le groupement avance

Renovate est un outil open source de mise a jour automatique des dependances qui offre une flexibilite superieure a Dependabot. Il fonctionne sur GitHub, GitLab, Bitbucket et Azure DevOps, et permet un controle granulaire du groupement, du scheduling et de l automerge. Pour les equipes de developpement a Nantes ou Bordeaux qui utilisent GitLab, Renovate est souvent le seul choix viable.

Pour GitHub, installez l application Renovate Bot depuis le GitHub Marketplace (gratuit pour les repos publics et prives). Puis creez un fichier renovate.json a la racine de votre repository :

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended",
    "security:openssf-scorecard",
    ":dependencyDashboard",
    ":semanticCommits"
  ],
  "timezone": "Europe/Paris",
  "schedule": ["before 8am on monday"],
  "vulnerabilityAlerts": {
    "enabled": true,
    "schedule": ["at any time"],
    "automerge": true
  },
  "packageRules": [
    {
      "description": "Automerge patchs de securite",
      "matchUpdateTypes": ["patch"],
      "automerge": true,
      "automergeType": "pr",
      "platformAutomerge": true
    },
    {
      "description": "Grouper les mises a jour minor par semaine",
      "matchUpdateTypes": ["minor"],
      "groupName": "minor-updates",
      "schedule": ["before 8am on monday"]
    },
    {
      "description": "Review obligatoire pour les major",
      "matchUpdateTypes": ["major"],
      "automerge": false,
      "reviewers": ["team:security"],
      "labels": ["breaking-change"]
    },
    {
      "description": "Grouper les devDependencies",
      "matchDepTypes": ["devDependencies"],
      "groupName": "dev-dependencies",
      "automerge": true
    }
  ]
}

Cette configuration fait plusieurs choses intelligentes : (1) les alertes de vulnerabilite sont traitees immediatement et auto-mergees si les tests passent, (2) les patchs de securite sont auto-merges pour reduire le bruit, (3) les mises a jour minor sont groupees en une seule PR par semaine, (4) les mises a jour major necessitent un review humain. Le scheduling before 8am on monday en timezone Europe/Paris garantit que les PR arrivent avant que l equipe ne commence sa semaine.

Etape 4 : Configurer l automerge securise pour les patchs de securite

L automerge est la fonctionnalite qui transforme le monitoring passif en remediation automatique. Sans automerge, vos outils detectent les vulnerabilites mais creent simplement des PR qui s accumulent. Avec automerge, les correctifs de securite sont appliques sans intervention humaine des que les tests CI passent. C est le seul moyen de gerer 581 vulnerabilites par codebase (chiffre OSSRA 2026) sans epuiser votre equipe.

Pour que l automerge soit securise, votre pipeline CI doit etre suffisamment robuste pour detecter les regressions. Voici les checks minimaux qui doivent passer avant un automerge :

Tests unitaires avec couverture minimum de 70% sur le code critique.
Tests d integration qui verifient les interactions avec les dependances externes.
Type checking (tsc --noEmit pour TypeScript, mypy pour Python).
Linting pour detecter les incompatibilites d API.
Build reussi sans warnings critiques.

Pour GitHub, activez l option "Require status checks to pass before merging" dans les branch protection rules de votre branche principale. Puis configurez Renovate ou Dependabot pour utiliser platformAutomerge: true qui utilise le mecanisme natif GitHub de merge automatique conditionnel. Pour les equipes qui veulent un controle supplementaire, ajoutez une regle dans votre workflow GitHub Actions :

# .github/workflows/automerge-security.yml
name: Automerge Security Patches
on:
  pull_request:
    types: [opened, synchronize]

permissions:
  pull-requests: write
  contents: write

jobs:
  automerge:
    runs-on: ubuntu-latest
    if: |
      github.actor == 'dependabot[bot]' ||
      github.actor == 'renovate[bot]'
    steps:
      - uses: actions/checkout@v4
      - name: Check if security patch
        id: check
        run: |
          if echo "${{ github.event.pull_request.title }}" | grep -qi "security\|vuln\|CVE"; then
            echo "is_security=true" >> $GITHUB_OUTPUT
          fi
      - name: Enable auto-merge
        if: steps.check.outputs.is_security == 'true'
        run: gh pr merge --auto --squash "${{ github.event.pull_request.number }}"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Etape 5 : Integrer le scan de vulnerabilites dans le pipeline CI/CD

Au-dela du monitoring reactif (Dependabot/Renovate creent des PR quand une CVE est publiee), vous devez implementer un scan proactif dans votre pipeline CI/CD qui bloque le merge de toute PR introduisant une nouvelle dependance vulnerable. Ce mecanisme de "gate securite" empeche la regression et garantit que votre codebase ne se degrade jamais. Pour un guide complet sur la mise en place de pipelines CI/CD, voir notre article configurer un pipeline CI/CD avec GitHub Actions en 7 etapes.

Ajoutez cette etape a votre workflow GitHub Actions principal (ou creez un workflow dedie) :

# .github/workflows/security-scan.yml
name: Security Scan
on: [pull_request, push]

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'npm'

      - run: npm ci
      - name: Audit dependances (critique uniquement)
        run: npm audit --audit-level=critical --omit=dev

      - name: Scan avec Trivy
        uses: aquasecurity/trivy-action@master
        with:
          scan-type: 'fs'
          scan-ref: '.'
          severity: 'CRITICAL,HIGH'
          exit-code: '1'
          format: 'sarif'
          output: 'trivy-results.sarif'

      - name: Upload SARIF
        uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: 'trivy-results.sarif'

Cette configuration utilise Trivy (scanner open source de Aqua Security) pour un scan exhaustif du filesystem qui couvre npm, pip, Go, Rust et les fichiers Docker simultanement. Le resultat est uploade au format SARIF vers GitHub Code Scanning, ce qui affiche les vulnerabilites directement dans l interface des pull requests. L option exit-code: 1 fait echouer le job si des vulnerabilites critiques sont trouvees, bloquant le merge.

Etape 6 : Generer et maintenir un SBOM automatise

Un SBOM (Software Bill of Materials) est l inventaire exhaustif de tous les composants open source utilises dans votre projet. Avec l entree en vigueur progressive du Cyber Resilience Act (CRA) europeen en 2026, la generation d un SBOM va devenir obligatoire pour tout logiciel mis sur le marche europeen. Anticipez cette obligation en automatisant sa generation des maintenant.

L outil recommande est syft d Anchore (open source) qui genere des SBOM aux formats CycloneDX et SPDX. Ajoutez cette etape a votre workflow de release :

# Dans votre workflow de release
- name: Generate SBOM
  uses: anchore/sbom-action@v0
  with:
    format: cyclonedx-json
    output-file: sbom.cdx.json
    artifact-name: sbom-cyclonedx

- name: Scan SBOM for vulnerabilities
  uses: anchore/scan-action@v4
  with:
    sbom: sbom.cdx.json
    fail-build: false
    severity-cutoff: critical

- name: Attach SBOM to release
  uses: softprops/action-gh-release@v2
  with:
    files: sbom.cdx.json

Le SBOM genere contient : chaque dependance directe et transitive, sa version exacte, sa licence, son hash cryptographique et sa provenance (registre npm, PyPI, etc.). Ce document permet a vos clients, partenaires ou regulateurs de verifier instantanement quels composants open source sont presents dans votre logiciel. Pour les startups en due diligence technique ou les entreprises soumises a NIS2, c est un delivrable desormais attendu.

Etape 7 : Monitorer et alerter en continu avec des SLA de remediation

La derniere etape transforme votre configuration de "scan ponctuel" en systeme de monitoring continu avec des engagements de temps de remediation. Definissez des SLA (Service Level Agreements) internes pour la correction des vulnerabilites selon leur severite :

CVSS 9.0-10.0 (Critique) : remediation sous 24 heures. Automerge immediat si les tests passent.
CVSS 7.0-8.9 (Haute) : remediation sous 7 jours. PR creee automatiquement, review dans la semaine.
CVSS 4.0-6.9 (Moyenne) : remediation sous 30 jours. Groupee avec les autres mises a jour.
CVSS 0.1-3.9 (Basse) : remediation sous 90 jours. Traitee lors des sprints de maintenance.

Pour les alertes en temps reel, configurez un webhook GitHub vers votre canal Slack ou Teams. Creez un workflow dedie qui envoie une notification immediate quand Dependabot detecte une CVE critique :

# .github/workflows/security-alert.yml
name: Security Alert Notification
on:
  dependabot_alert:
    types: [created]

jobs:
  notify:
    runs-on: ubuntu-latest
    steps:
      - name: Send Slack Alert
        uses: slackapi/slack-github-action@v2
        with:
          webhook: ${{ secrets.SLACK_SECURITY_WEBHOOK }}
          webhook-type: incoming-webhook
          payload: |
            {
              "text": "🚨 Nouvelle vulnerabilite detectee",
              "blocks": [
                {
                  "type": "section",
                  "text": {
                    "type": "mrkdwn",
                    "text": "*Alerte securite* : nouvelle CVE dans `${{ github.repository }}`\nSeverite : ${{ github.event.alert.security_advisory.severity }}\nPackage : ${{ github.event.alert.security_advisory.summary }}\n<${{ github.event.alert.html_url }}|Voir les details>"
                  }
                }
              ]
            }
SLA DE REMEDIATION DES VULNERABILITES OPEN SOURCE9+CRITIQUE (CVSS 9.0-10.0)Remediation sous 24h - Automerge immediat - Notification instantanee equipe24h7+HAUTE (CVSS 7.0-8.9)Remediation sous 7 jours - PR automatique - Review prioritaire7 jours4+MOYENNE (CVSS 4.0-6.9)Remediation sous 30 jours - Groupee avec mises a jour regulieres30 jours1+BASSE (CVSS 0.1-3.9)Remediation sous 90 jours - Sprint de maintenance trimestriel90 jours

Enfin, mettez en place un dashboard de suivi pour mesurer votre progression. GitHub Security Overview (disponible pour les organisations GitHub Enterprise ou via l API) fournit une vue consolidee de toutes les alertes sur tous vos repositories. Pour les equipes sur GitLab, le Vulnerability Report offre des fonctionnalites equivalentes. Mesurez ces KPI mensuellement : nombre total de vulnerabilites ouvertes, temps moyen de remediation (MTTR), pourcentage de dependances a jour, couverture SBOM.

Mise en place Dependabot + Renovate : on vous accompagne

d-open.org configure Dependabot et Renovate sur votre organisation GitHub/GitLab : configuration sur-mesure, automerge securise, integration CI/CD, formation de l equipe au triage des alertes. Forfait a partir de 1 500 EUR pour les startups et PME tech. Resultat garanti : -80% de vulnerabilites critiques non traitees en 30 jours.

Demander l accompagnement DevSecOps

Erreurs courantes a eviter lors de la configuration

Apres avoir accompagne des dizaines d equipes de developpement a Paris, Lyon, Nantes et Bordeaux dans la mise en place de Dependabot et Renovate, voici les erreurs les plus frequentes que nous observons :

Erreur 1 : Activer sans pipeline CI robuste. Si vos tests ne couvrent pas suffisamment votre code, l automerge peut introduire des regressions silencieuses. Avant d activer l automerge, assurez-vous d avoir au minimum 70% de couverture de tests sur le code critique et des tests d integration pour les dependances externes.

Erreur 2 : Ignorer les dependances transitives. Dependabot et Renovate mettent a jour les dependances directes, mais les vulnerabilites transitives representent 74% du total (OSSRA 2026). Completez avec un scan Trivy ou Snyk qui couvre l arbre complet. Pour les projets npm, utilisez npm ls --all pour visualiser l arbre complet.

Erreur 3 : Ne pas grouper les PR. Sans groupement, Renovate peut creer 30+ PR par semaine sur un projet actif, ce qui sature l equipe et conduit a ignorer toutes les alertes. Utilisez les packageRules de Renovate pour grouper les mises a jour par type (minor, dev, test) et ne garder separees que les mises a jour de securite critiques.

Erreur 4 : Oublier les GitHub Actions. Vos actions CI/CD sont aussi des dependances open source avec des vulnerabilites. Incluez package-ecosystem: github-actions dans votre configuration Dependabot. Les supply chain attacks via des actions GitHub compromises sont en forte hausse en 2026. Pour un audit detaille, voir notre guide auditer vos GitHub Actions et runners.

Erreur 5 : Utiliser Dependabot ET Renovate sur le meme ecosysteme. Les deux outils vont creer des PR en double pour les memes mises a jour. Choisissez l un ou l autre par ecosysteme. Notre recommandation : Dependabot pour les security alerts (gratuit, natif), Renovate pour la gestion avancee avec automerge et groupement.

La securite des dependances n est pas un projet ponctuel, c est un processus continu. Configurer Dependabot et Renovate prend 90 minutes. Les maintenir et traiter les alertes demande 1 a 2 heures par semaine. C est le prix a payer pour ne pas etre dans les 87% de projets a risque du rapport OSSRA 2026. Il n y a pas de raccourci. — Antoine Mercier, DevSecOps lead

Audit gratuit 30 min : evaluez votre maturite DevSecOps

Notre equipe evalue gratuitement votre configuration Dependabot/Renovate, votre couverture CI/CD, et votre posture securite open source. Recommandation personnalisee sous 48 heures avec plan d action priorise.

Reserver l audit gratuit

FAQ : Dependabot et Renovate pour la securite des dependances

Quelle est la difference entre Dependabot et Renovate ?

Dependabot est integre nativement a GitHub et se configure via un fichier YAML simple. Il est gratuit et couvre les ecosystemes principaux (npm, pip, maven, cargo, docker, github-actions). Renovate est un outil open source multi-plateforme (GitHub, GitLab, Bitbucket, Azure DevOps) avec une configuration beaucoup plus fine : groupement de packages, scheduling avance, automerge conditionnel, presets partageables. Pour un projet GitHub simple, Dependabot suffit. Pour une organisation avec des dizaines de repositories et des besoins de gouvernance, Renovate est superieur.

Peut-on utiliser Dependabot et Renovate ensemble ?

Oui, mais c est generalement deconseille car cela cree des pull requests en double pour les memes mises a jour. La bonne pratique est de choisir l un ou l autre selon vos besoins. L approche recommandee : utilisez Dependabot pour les security alerts (detection de CVE) et Renovate pour les mises a jour de version regulieres avec automerge. Ou utilisez uniquement Renovate qui couvre les deux cas d usage avec une configuration plus fine.

L automerge est-il securise pour les dependances open source ?

L automerge est securise SI et SEULEMENT SI votre pipeline CI/CD est robuste : tests unitaires, tests d integration, linting, type checking, et idealement tests e2e. La configuration recommandee est d activer l automerge uniquement pour les mises a jour de type patch (corrections de bugs et securite) provenant de packages de confiance, et uniquement si tous les checks CI passent. Pour les mises a jour major, un review humain reste indispensable.

Combien de temps faut-il pour configurer Dependabot et Renovate ?

La configuration de base de Dependabot prend 10-15 minutes par repository (creation du fichier .github/dependabot.yml). Renovate demande 30-45 minutes pour une configuration avancee avec automerge, groupement et scheduling. Pour une organisation avec 20+ repositories, prevoyez une demi-journee pour la configuration initiale avec des presets partages, puis 1-2 heures par semaine pour le triage des pull requests non auto-mergees.