DevOps

Checklist sécurité CI/CD : au-delà des bases

Checklist pragmatique pour sécuriser une CI/CD : identité, secrets, provenance, approbations et durcissement contre les attaques de la supply chain.

De plus en plus d’incidents démarrent dans la chaîne de build et de déploiement : token CI volé, workflow modifié pour exfiltrer des secrets, runner compromis, dépendance malveillante. Une CI/CD “sécurisée” n’est pas une pile de scanners : c’est la maîtrise de la chaîne qui transforme du code en production, avec une identité forte, des privilèges minimaux, et des artefacts vérifiables.

Ce que veut dire « CI/CD sécurisée »

L’objectif est de contrôler comment quelque chose arrive en prod :

  • Identité forte (humains et machines)
  • Moindre privilège et tokens courte durée
  • Intégrité des artefacts (build une fois, promotion fiable)
  • Promotions & rollbacks contrôlés
  • Auditabilité : qui a changé quoi, qui a approuvé, qu’est-ce qui a été déployé

Commencer par un mini threat model (30 minutes)

Avant de changer les outils, alignez-vous sur les menaces les plus probables :

  • Vol d’identifiants : token exposé dans les logs, artefacts ou workspace du runner
  • Manipulation de workflow : PR qui modifie le pipeline pour récupérer des secrets
  • Runner compromis : runners partagés, état persistant, image non patchée
  • Dépendances : version malveillante, typosquatting, chaîne d’outils non maîtrisée
  • Artefact altéré : ce qui a été construit n’est pas ce qui a été déployé

Votre but est de réduire le blast radius et d’augmenter la confiance dans chaque release.

Quick wins (souvent faisables en une semaine)

1) Éliminer les clés longue durée dans la CI

Les clés cloud statiques et partagées sont un anti-pattern classique.

  • Préférez OIDC + rôles/token éphémères
  • Limitez chaque identifiant à un seul environnement (staging ou prod)
  • Auditez l’accès aux secrets et faites de la rotation régulière
  • Empêchez les forks / PR non fiables d’accéder aux secrets

2) Exiger des reviews pour les changements de workflow

Votre pipeline est du code critique.

  • CODEOWNERS / review obligatoire sur .github/workflows/* (ou équivalent)
  • Restreindre qui peut approuver ces changements
  • Empêcher l’auto-approbation sur les dépôts sensibles

3) Épingler et vérifier les actions / dépendances

Exemple GitHub Actions :

  • Épingler les actions par SHA, pas par tag flottant
  • Auditer les étapes à fort privilège (auth cloud, deploy, signing)
  • Prioriser des composants maintenus (signaux de maintenance clairs)

4) Durcir les runners

Les runners sont souvent le point faible le plus sous-estimé.

  • Utiliser des runners éphémères (nouvelle instance par job) si possible
  • Minimiser la surface : outils nécessaires uniquement, images patchées
  • Éviter l’accumulation de secrets sur disque / workspace
  • Éviter les mounts de credentials trop larges

5) Mettre des protections d’environnement

Rendre difficile le “mauvais déploiement” :

  • Séparer build et deploy
  • Approbation requise avant la prod quand c’est pertinent
  • Checks requis avant prod (tests, policy, scans)
  • Rollback testé et documenté (pas “à l’instinct”)

Au-delà des scanners : intégrité et provenance

Les scanners aident, mais ne garantissent pas que l’artefact déployé correspond au code revu.

Provenance

Répond à : “Quel code, quels inputs, quel builder, quel résultat ?”

  • SHA commit, lockfiles, image builder, configuration de build
  • Attestations stockées avec l’artefact (ou dans un système dédié)

Intégrité des artefacts

Répond à : “L’artefact a-t-il été modifié ?”

  • Signer les images (ou équivalent) et vérifier au moment du déploiement
  • Promouvoir le même artefact entre environnements (pas de rebuild)

Checklist CI/CD sécurité (comme roadmap)

Identité & accès

  • SSO + MFA pour Git et tooling critique
  • Distinction claire humains vs machines
  • Secrets accessibles uniquement à des rôles nécessaires
  • Moindre privilège par environnement

Secrets

  • Pas de clés statiques cloud dans la CI (préférer OIDC)
  • Secrets jamais imprimés dans les logs
  • Accès aux secrets audité et gouverné

Supply chain

  • Lockfiles requis et revus
  • Actions/dépendances épinglées et réévaluées périodiquement
  • Mises à jour auto avec garde-fous (tests + approvals)

Build & release

  • Build une fois, artefact immutable
  • Promotion de l’artefact (pas de rebuild par environnement)
  • Vérification d’intégrité/signature avant prod

Contrôle des changements

  • Revue obligatoire sur workflow et infra
  • Approvals explicites pour prod + checks requis
  • Rollback “first-class” et testé

Pièges fréquents

  • « On a ajouté des scanners, donc c’est bon. » Non : les scanners alimentent la sécurité, ils ne la remplacent pas.
  • Tokens CI trop permissifs (écriture repo, release, accès cloud large).
  • Runners partagés avec état persistant.
  • Déploiements manuels qui contournent les checks en situation d’urgence.

Besoin d’un pipeline CI/CD durci de bout en bout ?

Si vous voulez une CI/CD robuste, avec des promotions fiables et un rollback maîtrisé, voyez notre offre mise en place et durcissement CI/CD. Nous commençons en général par le threat model et les quick wins, puis nous mettons en place les contrôles d’intégrité et de provenance adaptés à votre stade et à vos exigences de conformité.

Un avis senior sur votre situation ?

Aucune préparation requise. Votre plan sous 48 heures.

Après votre réservation
Appel découverte 0 h, 20 minutes Votre plan sous 48 h Notre réponse sous 24 h