Plumber : renforcer la sécurité de nos workflows GitHub Actions

par OUTSCALE

Chez OUTSCALE, au sein du service dédié à la création, à la maintenance et à l’évolution de nos produits open source, nous gérons au quotidien de nombreuses chaînes d’intégration et de déploiement continu.

Ces workflows sont parfois simples, parfois beaucoup plus complexes. Certains déclenchent des tests, d’autres publient des artefacts ou construisent des images. Tous ont, cependant, un point commun : ils font partie intégrante de notre chaîne de livraison.

Pendant longtemps, nous avons utilisé des actions maison pour nous aider à sécuriser ces workflows. Elles répondaient à des besoins concrets : vérifier certaines pratiques, homogénéiser nos pipelines, éviter les erreurs les plus évidentes et garantir un niveau de sécurité cohérent sur l’ensemble de nos dépôts.

Mais comme souvent avec les outils internes, ces actions demandaient du temps de maintenance. Il fallait les faire évoluer, suivre les nouvelles bonnes pratiques, intégrer de nouveaux cas d’usage, puis s’assurer que chaque dépôt restait aligné. À mesure que notre périmètre open source grandissait, nous avions besoin d’une approche plus standardisée, plus lisible et plus durable.

C’est dans ce contexte que nous avons décidé de remplacer progressivement nos actions maison et d’étendre notre périmètre de vérification grâce à Plumber.

L’intégration continue est devenue une surface d'attaque à part entière

La sécurité d’un projet open source ne se limite plus au code applicatif. Les chaînes de CI/CD sont aujourd’hui au cœur du processus de livraison. Elles ont accès au code source, manipulent des secrets, interagissent avec des registres, publient des artefacts et déclenchent parfois des actions sensibles.

Une mauvaise configuration, une permission trop large, une action tierce non figée ou une dépendance insuffisamment maîtrisée peuvent devenir des points d’entrée pour une attaque de supply chain.

Dans ce contexte, il ne suffit plus de vérifier ponctuellement qu’un workflow « fonctionne ». Il faut également s’assurer qu’il respecte des règles de sécurité claires, reproductibles et vérifiables dans le temps.

C’est précisément ce que nous recherchions : un outil capable de nous aider à auditer nos workflows GitHub, à détecter les écarts et à garder une vision claire de notre niveau de conformité CI/CD.

Pourquoi Plumber ?

Plumber nous permet de vérifier le niveau de sécurité de nos chaînes CI/CD directement dans nos processus de livraison. L’objectif n’est pas seulement de bloquer un mauvais changement au dernier moment, mais de rendre les bonnes pratiques visibles, compréhensibles et actionnables par les équipes.

Avec Plumber, nous pouvons contrôler différents aspects de nos workflows : l’usage d’actions tierces, le niveau de permissions accordé aux jobs, les configurations potentiellement dangereuses ou encore le respect de règles définies dans une politique commune.

Cela nous permet de passer d’une logique artisanale, basée sur des scripts internes et des vérifications dispersées, à une approche plus structurée. Les règles sont centralisées, les rapports sont lisibles et les écarts peuvent être traités de manière plus simple.

Nous utilisons Plumber à deux niveaux.

D’abord, à chaque livraison, pour vérifier que les workflows restent conformes aux règles attendues. Cela permet de détecter rapidement une régression ou une configuration risquée introduite dans un dépôt.

Ensuite, de manière périodique, avec un rapport mensuel qui nous aide à prendre du recul sur l’ensemble de notre périmètre. Ce rapport nous permet de vérifier que nos dépôts restent alignés, même lorsque les projets évoluent, que les workflows changent ou que de nouvelles pratiques apparaissent.

Moins de maintenance, plus de sérénité

L’un des bénéfices les plus immédiats a été la simplification de nos processus.

En remplaçant progressivement nos actions maison, nous réduisons la quantité de code interne à maintenir. Nous évitons aussi de devoir réimplémenter nous-mêmes des contrôles déjà identifiés, documentés et suivis par une communauté plus large.

Cela ne veut pas dire que nous abandonnons notre responsabilité. Au contraire, Plumber nous donne une base plus solide pour formaliser nos attentes, ajuster nos politiques et suivre les écarts dans le temps. Nous gardons la maîtrise de notre niveau d’exigence, mais nous nous appuyons sur un outil pensé pour ce besoin précis.

Le résultat est assez simple: moins de friction, moins de dette interne, plus de visibilité et davantage de sérénité.

Pour une équipe qui maintient plusieurs produits open source, c’est un point important. Nous devons rester efficaces, tout en continuant à garantir un bon niveau de sécurité à chaque contribution, chaque commit et chaque release.

Un projet open source auquel nous voulons contribuer

Un autre point important dans notre choix est la nature même du projet. Plumber est open source. Pour nous, ce n’est pas un détail.

Nous travaillons nous-mêmes sur des produits open source,et nous savons à quel point la transparence, la collaboration et les retours d’expérience sont précieux pour faire progresser un outil. Utiliser Plumber, ce n’est pas seulement consommer une solution existante, c’est aussi rejoindre une dynamique communautaire autour d’un sujet qui nous concerne directement.

Le fait qu’il s’agisse d’un projet français rend également l’initiative particulièrement intéressante à nos yeux. Dans un domaine aussi stratégique que la sécurité de la supply chain logicielle, voir émerger des outils open source ambitieux, proches de nos problématiques et ouverts aux contributions est une excellente nouvelle.

Nous avons donc fait notre choix : Plumber va nous accompagner dans la sécurisation et la standardisation de nos workflows GitHub Actions.

Et nous ne comptons pas nous arrêter à son simple usage. Nous souhaitons également contribuer au projet du mieux que nous le pourrons : par des retours d’expérience, des idées d’amélioration, de la documentation, des issues ou lorsque ce sera pertinent, du code.

Parce que la sécurité de la chaîne CI/CD n’est plus un sujet secondaire. C’est un élément essentiel de la confiance que nous voulons apporter à nos utilisateurs, à nos contributeurs et à l’ensemble de notre écosystème open source.

Articles similaires