OWASP SPVS

OWASP SPVS : Leçons tirées de la sécurisation des logiciels Pipeline

Pendant des années, les attaquants ciblaient les applications une par une. Ils ont changé de tactique : pourquoi compromettre une seule application quand on peut en compromettre plusieurs ? pipeline qui en construit beaucoup ? Xygeni's Alerte précoce de logiciels malveillants (MEW) détecté 4 452 paquets malveillants en 2025 et 1 281 de plus en 2026 jusqu'à présentChaque incident majeur de ces dernières années a touché un maillon différent de la chaîne de livraison des logiciels :

  • SolarWinds (2020): compromission de l'environnement de compilation ; mises à jour dissimulées envoyées à 18 000 clients.
  • Codecov (2021): une image Docker mal configurée a permis à des attaquants de modifier un script de téléchargement bash, exfiltrant ainsi des secrets d'intégration continue de plus de 23 000 clients.
  • CircleCI (2023): Le vol de cookies de session sur l'ordinateur portable d'un ingénieur a permis d'obtenir des jetons d'accès à la production ; chaque client a été invité à renouveler systématiquement tous ses secrets.
  • Porte dérobée XZ Utils (2024) :une campagne d'ingénierie sociale pluriannuelle qui a touché presque toutes les distributions Linux.
  • tj-actions (2025) — une cascade de défaillances dans la chaîne d'approvisionnement de GitHub Actions qui a contaminé un composant utilisé par plus de 23 000 dépôts.
  • Attaques sur Aqua Trivy et Checkmarx (2026) — La campagne TeamPCP a transformé deux scanners de sécurité largement utilisés en vecteurs d'attaque, puis a utilisé les données volées CI/CD identifiants à répartir en aval vers npm, OpenVSX et PyPI.

Chaque attaque exploitait une partie différente du pipeline: environnement de compilation, outils d'intégration continue, dépendances, identifiants des développeurs, confiance des responsables de la maintenance, références modifiables aux artefacts. La plupart des organisations répondent par un contrôle d'accès centralisé, un scanner intégré à l'intégration continue, l'authentification à deux facteurs (2FA) sur le fournisseur d'identité (IdP) et la protection des branches sur le serveur d'intégration continue. mainCe qui manque généralement, c'est un moyen de demander Sommes-nous systématiquement couverts ? plutôt que des Avons-nous pensé à réactiver X après le dernier incident ?

Les fournisseurs de solutions de sécurité applicative sont en première ligne, car la compromission de l'une d'entre elles affecte tous les clients qui font confiance à ses produits. La nécessité de passer de contrôles réactifs à une approche systématique n'est pas théorique. C'est une réalité.cisce qui a motivé l'adoption de l'OWASP SPVS standard comme projet prioritaire.

Qu’est-ce qu’une SPV et pourquoi sa structure est importante ?

L'origine du projet est simple. Lors de la conférence LASCON 2023, Farshad Abasi et Cameron Walters se posaient sans cesse la même question : où est l'ASVS pour… pipelineOWASP ASVS avait donné à la sécurité des applications une approche complète et vérifiable. standardIl n'existait rien d'équivalent pour CI/CD.

Il y avait le Top 10 de l'OWASP CI/CD Risks, qui était axé sur la sensibilisation et non sur la testabilité ; SLSA, qui se concentrait uniquement sur la provenance des builds ; S2C2F, qui se concentrait uniquement sur la consommation des dépendances ; et OpenSSF Tableau de bord, qui portait sur des vérifications spécifiques des dépôts. Chacun couvrait un aspect. Aucun ne couvrait l'ensemble.

Cadre ou projet Portée principale
OWASP Top 10 CI/CD Risques Sensibilisé CI/CD orientation sur les risques, et non une vérification vérifiable standard.
SLSA Garantir la provenance et l'intégrité des artefacts.
S2C2F Consommation sécurisée des dépendances.
OpenSSF fiche d'évaluation Contrôles de sécurité spécifiques au niveau du dépôt.

L'écart : chaque cadre couvrait un aspect important de software supply chain securitymais aucune n'a fourni de solution de bout en bout vérifiable standard pour l'ensemble CI/CD pipeline.

Cette conversation a donné lieu à deux années de travail, et en octobre 2025, le groupe de travail SPVS a publié la version 1.0 : 127 exigences couvrant l’ensemble du cycle de vie (Planification, Développement, Intégration, Déploiement, Exploitation), réparties en trois niveaux de maturité : L1 Fondamental, L2 Standardet L3 Avancé. Chaque exigence est mise en correspondance avec les normes NIST SP 800-53 et OWASP. CI/CD Top 10 et CWE.

OWASP SPVS

L'essentiel réside dans la structure. Pour reprendre les termes des auteurs de SPVS :

«Vérifiez l'intégralité de votre texte pipelineIl ne s'agit pas d'un seul élément. C'est là que la plupart des organisations rencontrent des difficultés. Elles analysent les dépendances, mais négligent la gouvernance des versions. Elles signent les artefacts, mais ne modélisent pas les menaces qui pèsent sur eux. pipeline « Ils surveillent l’architecture, mais pas leurs environnements de construction. »

C’est là que la plupart des organisations rencontrent des difficultés. Elles analysent les dépendances mais négligent la gouvernance des mises en production. Elles signent les artefacts mais ne modélisent pas les menaces qui pèsent sur eux. pipeline Ils supervisent l'architecture. Ils contrôlent la production, mais pas les environnements de compilation.

C’est la thèse qui justifie cet effort. Les points forts à une étape ne compensent pas les faiblesses à une autre. Un seul maillon suffit aux attaquants pour compromettre le système. Un cycle de vie standard SPVS vous oblige à tous les vérifier, et la progression L1-L2-L3 vous permet de le faire sans vous épuiser. SPVS ne remplace pas SLSA, S2C2F, Scorecard ni Sigstore ; il vous fournit le cadre qui vous indique où chacun d’eux s’intègre.

Adaptation du Standard à votre organisation

La première étape logique consiste à réaliser un audit complet de votre organisation et de votre infrastructure logicielle au regard de chaque exigence. Une feuille Google Sheets, alimentée par les données officielles, est utilisée. Exigences SPVS CSV Cela fonctionne bien comme point de départ. Trois vues sont utiles : une matrice des exigences avec statut et responsable pour chaque contrôle, une carte thermique par dépôt et une dashboard Le suivi des progrès par étape et par niveau alimente naturellement une feuille de route technique, un document évolutif couvrant chaque étape, de la planification à la mise en œuvre.

La plupart des organisations d'ingénierie matures se situent déjà autour du niveau 2 lors de cette cartographie initiale. C'est en réalité une bonne chose : cela signifie que la première phase peut se concentrer sur la réduction des lacunes spécifiques plutôt que de construire des fondations à partir de zéro.

Une feuille de calcul, cependant, n'est qu'un instantané, et SPVS exige davantage. La version 1.1.7 impose un audit trimestriel des administrateurs VCS ; les versions 5.1.1 à 5.1.3 ajoutent des audits réguliers des utilisateurs, l'examen des journaux d'accès et la surveillance des accès privilégiés ; plusieurs contrôles des versions 2.1.x, 3.3.x et 4.2.x requièrent une maintenance continue des flux de travail (fichiers YAML). Effectuée manuellement à l'échelle de l'organisation, cette tâche représente une demi-journée de suivi des clics chaque trimestre, avec un risque réel d'omissions. C'est le genre de tâche qui finit par être automatisée ou qui n'est examinée qu'après un incident.

Certains contrôles SPVS ne se limitent pas à une simple vérification ponctuelle. Ils nécessitent un examen régulier, des preuves d'audit et la détection des écarts entre les référentiels, les utilisateurs, les flux de travail et les accès privilégiés.

Zone SPVS Type d'exigence
V1.1.7 Audit trimestriel des administrateurs VCS.
V5.1.1–V5.1.3 Audits réguliers des utilisateurs, examen des journaux d'accès et surveillance des accès privilégiés.
V2.1.x, V3.3.x, V4.2.x Amélioration continue de l'hygiène du flux de travail YAML.

La solution consiste à créer ou à adopter des outils fonctionnant sous l'identité du propriétaire de l'organisation et produisant un ensemble structuré trimestriel : liste des administrateurs, protection des branches, couverture CODEOWNERS, hygiène YAML des flux de travail avec actions épinglées, permissions explicites. pull_request_target Contrôle d'accès, authentification à deux facteurs des membres, applications GitHub installées et clés de déploiement. Ce qui nécessitait auparavant une demi-journée de recherche fastidieuse dans des tableurs se résume désormais à une simple commande générant du JSON et du Markdown. L'examen trimestriel entre les CISLes administrateurs O et org deviennent un decisUne réunion d'information, et non une réunion de collecte de données, et les conclusions exploitables deviennent des problèmes en attente avec des SLA basés sur la gravité.

Une politique de liste blanche, incluant les administrateurs et applications autorisés, ainsi que les permissions par fonction pour les dépôts et les flux de travail, doit être définie au format YAML dans un dépôt versionné et soumise à l'approbation de l'équipe de sécurité lors de chaque demande de fusion. Toute modification de la liste blanche laisse une trace, générant ainsi automatiquement des preuves d'audit. L'objectif est de transformer des contrôles auparavant théoriques, tels que « un audit trimestriel est recommandé », en pratiques courantes, comme « l'audit de ce trimestre a été finalisé lundi », et de doter l'organisation d'un mécanisme reproductible de détection des écarts, indispensable au principe de sécurité de bout en bout.

Les frictions à prévoir

Les contrôles techniques, c'est la partie facile. Les relations humaines, c'est plus compliqué.

L'exemple le plus frappant est presque toujours CODEOWNERS. Ajout de .github/workflows/ @your-org/security L'idée d'une validation sur chaque dépôt semble anodine : un fichier, une ligne. Pourtant, cela signifie que les ingénieurs qui intègrent automatiquement les modifications de leur flux de travail depuis des années doivent désormais se soumettre à un audit de sécurité. Même les plus soucieux de la sécurité rechignent : « J'ai conçu ce flux de travail, je le maîtrise, pourquoi attendre ? »

Il faut un véritable dialogue pour comprendre le pourquoi. Les flux de travail peuvent exfiltrer des identifiants, rediriger des données et compromettre les utilisateurs en aval. Un deuxième avis n'est pas synonyme de méfiance ; c'est la même logique qu'une double vérification des modifications apportées aux bases de données de production. Avoir un incident récent et concret survenu dans la chaîne d'approvisionnement, qu'il provienne du secteur ou de votre propre environnement, est extrêmement utile. Rien ne permet de mieux appréhender un contrôle qu'un exemple concret de son absence.

D'autres frottements suivent la même forme :

  • Autorisations explicites : Les blocages dans les flux de travail entraînent des échecs d'intégration continue tant que les contributeurs ne comprennent pas les permissions limitées. Il ne s'agit pas d'un problème de permissions, mais d'un problème de compréhension.
  • Immuabilité des étiquettes : Cela perturbe les outils de publication qui effectuaient un réétiquetage silencieux depuis des années.
  • Signé commits: Cela peut engendrer des difficultés d'intégration tant que les clés GPG ou SSH ne sont pas correctement configurées sur tous les postes de travail. SPVS rend cette configuration obligatoire pour chaque dépôt et contributeur, et pas seulement pour les principaux.
  • Remplacement des jetons d'accès personnels classiques : Il est présent dans de nombreux référentiels et fichiers de flux de travail, et touche presque toutes les équipes.

La méthode qui a fait ses preuves : introduire chaque contrôle en l’associant à une menace spécifique qu’il bloque, le tester sur un ou deux référentiels, le déployer progressivement avec des exceptions autorisées, puis supprimer ces exceptions selon un calendrier défini. Les ingénieurs les plus réticents deviennent souvent les plus fervents défenseurs une fois qu’ils en comprennent le bien-fondé.

Un point plus fondamental : le principe de bout en bout est crucial. On ne peut pas choisir. Renforcer la phase de compilation tout en laissant la gouvernance des versions laxiste donne une fausse impression de sécurité, ce qui correspond précisément au problème dénoncé par les auteurs de SPVS. Chaque étape doit progresser de concert, même si un contrôle spécifique semble disproportionné pris isolément.

Coût : La phase 1, axée sur la conformité de niveau 2 pour une petite organisation, a nécessité environ un mois de travail d'ingénierie réparti entre les équipes DevOps, sécurité et les relecteurs techniques. L'investissement est rapidement rentabilisé : un seul incident de chaîne d'approvisionnement évité le couvre largement. Les grandes organisations devraient prévoir un budget proportionnellement plus important, mais la structure par phases (niveaux 1, 2 et 3) garantit des résultats concrets avant la fin du programme.

Et ensuite ?

SPVS v1.5 se profile à l'horizon avec des contrôles liés à l'IA : provenance du code assisté par l'IA, guardrails Pour les flux de travail CI qui appellent des LLM, examinez les pistes d'analyse des données générées par l'IA pull requestset des défenses contre les menaces émergentes telles que le slopsquatting, où des attaquants enregistrent des noms de paquets que les assistants de codage IA interprètent de manière erronée, et les logiciels malveillants opérationnels générés par l'IA que CrowdStrike signale en circulation. Les organisations qui étiquettent déjà les logiciels assistés par l'IA commitLes responsables et les responsables des relations publiques, dans leurs directives de développement internes, considéreront cette adaptation comme progressive plutôt que comme un nouveau programme de travail.

La version 2.0 devrait renforcer la surveillance en temps réel et les exigences relatives au cycle de vie des identifiants. Feuille de route organisationnelle réaliste : combler les lacunes restantes de niveau 3 d’ici la fin du deuxième trimestre 2026, notamment : SLSA provenance intégrées dans standard CI/CDDes contrôles manuels sont mis en place pour les déploiements en production, ainsi qu'un fournisseur d'identité centralisé, avant de passer en mode maintenance. Chaque nouveau dépôt est conforme dès le départ, et chaque audit trimestriel permet de détecter rapidement les écarts.

Un grand merci à Farshad Abasi, Cameron Walters et au groupe de travail OWASP SPVS. Des projets comme celui-ci facilitent l'accès à la sécurité pour toutes les organisations souhaitant une approche systématique plutôt que réactive en matière de sécurité de la chaîne d'approvisionnement.

Points clés à retenir

OWASP SPVS

Quelques éléments qui s'appliquent au-delà de notre contexte spécifique :

  • Pour l'essayer : Téléchargez le fichier CSV des exigences SPVS et répertoriez vos commandes actuelles dans un tableur. Vous saurez en 24 heures si elles sont conformes.
  • Choisissez un niveau cible et atteignez-le avant de passer au suivant. Le passage de L1 à L2 puis à L3 est une fonctionnalité, pas une limitation.
  • Le pipeline est la cible. Les contrôles centrés sur l'application sont nécessaires mais non suffisants ; traitez le pipeline comme surface d'attaque de premier ordre.
  • Vérifier l'ensemble pipeline, pas une seule pièce. La maîtrise de l'analyse des dépendances ne compense pas une gouvernance des versions défaillante ni des environnements de construction non surveillés.
  • Les tableurs sont des instantanés ; la dérive est continue. Mettez en place une automatisation, même un outil interne modeste, pour détecter les écarts entre les audits.
  • Le travail d'organisation est plus difficile que le travail technique. Prévoyez du temps pour la discussion et le test pilote avant le déploiement, et expliquez la menace spécifique que chaque contrôle bloque.

Pour en savoir plus

À propos de l’auteur

Cofondateur et responsable de la sécurité des opérations (CSRO)

Luis Rodriguez Il est cofondateur et directeur de la recherche en sécurité chez Xygeni Security. Fort de plus de 20 ans d'expérience dans la sécurité des applications, il se concentre sur la protection AppSec et les capacités d'analyse de code avancées qui aident les équipes à réduire les risques liés au déploiement.

sca-tools-logiciel-outils-d'analyse-de-composition
Priorisez, corrigez et sécurisez vos risques logiciels
Essai gratuit 7 jours
Pas de carte bleue requise

Sécurisez le développement et la livraison de vos logiciels

avec la suite de produits Xygeni