{"id":561,"date":"2026-01-19T10:10:45","date_gmt":"2026-01-19T09:10:45","guid":{"rendered":"https:\/\/secure-pipelines.com\/?p=561"},"modified":"2026-03-24T13:01:06","modified_gmt":"2026-03-24T12:01:06","slug":"ci-cd-pipelines-primary-attack-surface","status":"publish","type":"post","link":"https:\/\/secure-pipelines.com\/fr\/threats-attacks\/ci-cd-pipelines-primary-attack-surface\/","title":{"rendered":"Pourquoi les pipelines CI\/CD sont devenus la nouvelle surface d\u2019attaque principale"},"content":{"rendered":"<p>Pendant des ann\u00e9es, les programmes de s\u00e9curit\u00e9 applicative se sont concentr\u00e9s sur les environnements de production : durcissement des serveurs, correction des vuln\u00e9rabilit\u00e9s, d\u00e9ploiement de WAFs et surveillance du comportement en temps r\u00e9el. Cette approche \u00e9tait logique lorsque la plupart des compromissions significatives se produisaient <em>apr\u00e8s<\/em> le d\u00e9ploiement, en exploitant les faiblesses des applications en cours d&rsquo;ex\u00e9cution.<\/p>\n<p>Mais les attaquants modernes contournent de plus en plus les d\u00e9fenses de production. Au lieu d&rsquo;attaquer l&rsquo;application au moment de l&rsquo;ex\u00e9cution, ils compromettent les syst\u00e8mes qui <strong>construisent<\/strong>, <strong>empaquettent<\/strong> et <strong>livrent<\/strong> les logiciels : les pipelines CI\/CD et la supply chain logicielle qui les sous-tend.<\/p>\n<p>Dans de nombreuses organisations, les pipelines CI\/CD constituent d\u00e9sormais une cible plus pr\u00e9cieuse et plus fragile que la production elle-m\u00eame. La raison est simple : les pipelines se situent \u00e0 l&rsquo;intersection de la confiance, des privil\u00e8ges et de la distribution. Si les attaquants parviennent \u00e0 contr\u00f4ler le pipeline, ils peuvent contr\u00f4ler ce qui atteint la production \u2014 et ce qui atteint les utilisateurs.<\/p>\n<p>Cet article explique pourquoi les pipelines sont devenus une surface d&rsquo;attaque principale, ce que les incidents r\u00e9cents de supply chain nous enseignent, en quoi la s\u00e9curit\u00e9 des pipelines diff\u00e8re de la s\u00e9curit\u00e9 en production, et quelles erreurs de conception courantes rendent les pipelines vuln\u00e9rables. La conclusion est claire : <strong>le pipeline est une fronti\u00e8re de confiance<\/strong>, et il doit \u00eatre con\u00e7u en cons\u00e9quence.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">L&rsquo;\u00e9volution des attaques logicielles<\/h2>\n<p>Les menaces classiques de s\u00e9curit\u00e9 applicative ciblaient les vuln\u00e9rabilit\u00e9s en production : injection SQL, RCE, SSRF, contournement d&rsquo;authentification et escalade de privil\u00e8ges. Les d\u00e9fenseurs ont pass\u00e9 deux d\u00e9cennies \u00e0 augmenter le co\u00fbt de ces attaques gr\u00e2ce \u00e0 :<\/p>\n<ul class=\"wp-block-list\">\n<li>Une meilleure gestion des correctifs, l&rsquo;analyse des d\u00e9pendances et la gestion des vuln\u00e9rabilit\u00e9s<\/li>\n<li>Des contr\u00f4les de s\u00e9curit\u00e9 cloud-native et une infrastructure manag\u00e9e<\/li>\n<li>Une meilleure isolation (conteneurs, sandboxes, segmentation)<\/li>\n<li>Des capacit\u00e9s centralis\u00e9es de journalisation et de d\u00e9tection<\/li>\n<\/ul>\n<p>En cons\u00e9quence, les adversaires se sont adapt\u00e9s. Si la production devient plus difficile \u00e0 exploiter directement, les attaquants cherchent un levier ailleurs \u2014 et le processus de livraison logicielle offre ce levier.<\/p>\n<p>Au lieu de se demander \u00ab Comment p\u00e9n\u00e9trer ce syst\u00e8me en cours d&rsquo;ex\u00e9cution ? \u00bb, les attaquants se demandent de plus en plus :<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Comment faire en sorte que mon code soit livr\u00e9 comme s&rsquo;il \u00e9tait l\u00e9gitime ?<\/p>\n<\/blockquote>\n<p>Lorsque cela se produit, les d\u00e9fenses con\u00e7ues pour les compromissions en production peuvent devenir sans objet. Une mise \u00e0 jour malveillante d\u00e9livr\u00e9e par des canaux l\u00e9gitimes n&rsquo;est pas une \u00ab br\u00e8che \u00bb au sens traditionnel \u2014 elle peut ressembler \u00e0 une op\u00e9ration normale.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Trois incidents qui illustrent cette \u00e9volution<\/h2>\n<p>Les incidents majeurs de supply chain ne se sont pas produits parce que les d\u00e9fenses en production \u00e9taient faibles. Ils se sont produits parce que les attaquants ont compromis des m\u00e9canismes de livraison situ\u00e9s en amont de la production. Les d\u00e9tails diff\u00e8rent, mais le sch\u00e9ma est constant : compromettre une \u00e9tape de build ou de distribution de confiance, et vous h\u00e9ritez de cette confiance \u00e0 grande \u00e9chelle.<\/p>\n<h3 class=\"wp-block-heading\">SolarWinds : compromettre le build et atteindre tout le monde<\/h3>\n<p>Lors de l&rsquo;incident SolarWinds, les attaquants ont r\u00e9ussi \u00e0 injecter du code malveillant dans les mises \u00e0 jour logicielles. La caract\u00e9ristique d\u00e9terminante n&rsquo;\u00e9tait pas un serveur unique exploit\u00e9 \u2014 c&rsquo;\u00e9tait la capacit\u00e9 de distribuer un logiciel backdoor\u00e9 via un canal de mise \u00e0 jour de confiance.<\/p>\n<p>Le retour sur investissement de l&rsquo;attaquant \u00e9tait massif : compromettre le pipeline de build ou de release une seule fois, puis laisser les clients installer votre payload \u00e0 votre place.<\/p>\n<h3 class=\"wp-block-heading\">Codecov : compromettre l&rsquo;outillage CI et voler des secrets \u00e0 grande \u00e9chelle<\/h3>\n<p>Lors de l&rsquo;incident Codecov, une compromission a affect\u00e9 la mani\u00e8re dont les environnements CI g\u00e9raient un script. L&rsquo;impact pratique : les syst\u00e8mes CI ex\u00e9cut\u00e9s dans de nombreuses organisations ont divulgu\u00e9 des informations sensibles.<\/p>\n<p>Les environnements CI sont extr\u00eamement sensibles car ils contiennent g\u00e9n\u00e9ralement :<\/p>\n<ul class=\"wp-block-list\">\n<li>Des tokens de d\u00e9p\u00f4t<\/li>\n<li>Des identifiants cloud<\/li>\n<li>Des cl\u00e9s de signature ou un acc\u00e8s aux services de signature<\/li>\n<li>Des secrets de d\u00e9ploiement<\/li>\n<\/ul>\n<p>Cet incident souligne que l&rsquo;outillage CI n&rsquo;est pas \u00ab juste de l&rsquo;automatisation \u00bb \u2014 c&rsquo;est un syst\u00e8me de traitement de secrets \u00e0 haute valeur.<\/p>\n<h3 class=\"wp-block-heading\">3CX : compromettre un fournisseur et instrumentaliser la confiance<\/h3>\n<p>L&rsquo;incident 3CX a d\u00e9montr\u00e9 une autre dynamique de supply chain : compromettre un fournisseur et instrumentaliser la confiance pour distribuer des logiciels malveillants aux clients en aval.<\/p>\n<p>Du point de vue de la d\u00e9fense, la le\u00e7on ne se limite pas aux fournisseurs. En interne, votre pipeline CI\/CD est en fait un \u00ab fournisseur \u00bb pour votre environnement de production et pour vos utilisateurs : la production fait confiance aux sorties du pipeline.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Pourquoi le pipeline est plus attractif que la production<\/h2>\n<p>Les attaquants choisissent leurs cibles en fonction de l&rsquo;effet de levier. Les pipelines CI\/CD offrent un effet de levier que les syst\u00e8mes de production \u00e9galent rarement.<\/p>\n<h3 class=\"wp-block-heading\">1) Les pipelines agr\u00e8gent la confiance<\/h3>\n<p>Un pipeline est le tissu connectif entre :<\/p>\n<ul class=\"wp-block-list\">\n<li>Les d\u00e9p\u00f4ts de code source (Git)<\/li>\n<li>Les registres de d\u00e9pendances (npm, PyPI, Maven, etc.)<\/li>\n<li>Les syst\u00e8mes de build et les runners<\/li>\n<li>Les d\u00e9p\u00f4ts d&rsquo;artefacts (registres de conteneurs, d\u00e9p\u00f4ts de packages)<\/li>\n<li>Les syst\u00e8mes de signature et les m\u00e9tadonn\u00e9es de provenance<\/li>\n<li>Les cibles de d\u00e9ploiement (Kubernetes, comptes cloud, serveurs de production)<\/li>\n<\/ul>\n<p>Compromettre la production vous donne g\u00e9n\u00e9ralement acc\u00e8s \u00e0 <em>un seul<\/em> environnement. Compromettre le pipeline peut vous donner :<\/p>\n<ul class=\"wp-block-list\">\n<li>Un acc\u00e8s \u00e0 de multiples environnements via les identifiants d&rsquo;automatisation<\/li>\n<li>Le contr\u00f4le des artefacts de release<\/li>\n<li>Une influence sur ce qui est d\u00e9ploy\u00e9 et quand<\/li>\n<\/ul>\n<p>Les pipelines sont des \u00ab multiplicateurs de confiance \u00bb : ils peuvent prendre des entr\u00e9es non fiables et produire des sorties de confiance. Si les attaquants contr\u00f4lent cette transformation, ils contr\u00f4lent la confiance.<\/p>\n<h3 class=\"wp-block-heading\">2) Les pipelines fonctionnent avec des privil\u00e8ges \u00e9lev\u00e9s par conception<\/h3>\n<p>L&rsquo;automatisation n\u00e9cessite des privil\u00e8ges. Les pipelines requi\u00e8rent souvent des permissions pour :<\/p>\n<ul class=\"wp-block-list\">\n<li>Lire et \u00e9crire dans les d\u00e9p\u00f4ts (y compris les tags et les releases)<\/li>\n<li>T\u00e9l\u00e9charger des d\u00e9pendances et publier des artefacts<\/li>\n<li>Acc\u00e9der aux secrets pour la signature ou le d\u00e9ploiement<\/li>\n<li>D\u00e9ployer en staging ou en production<\/li>\n<\/ul>\n<p>Dans de nombreuses organisations, les identit\u00e9s de pipeline deviennent des \u00ab super identit\u00e9s \u00bb au fil du temps, car il est plus facile d&rsquo;accorder un acc\u00e8s large que de concevoir des permissions granulaires.<\/p>\n<p>Cela cr\u00e9e une strat\u00e9gie pr\u00e9visible pour l&rsquo;attaquant : compromettre l&rsquo;identit\u00e9 du pipeline au lieu de combattre les d\u00e9fenses de production.<\/p>\n<h3 class=\"wp-block-heading\">3) La compromission de pipeline passe mieux \u00e0 l&rsquo;\u00e9chelle<\/h3>\n<p>La compromission en production passe souvent mal \u00e0 l&rsquo;\u00e9chelle : vous devez exploiter les cibles de mani\u00e8re r\u00e9p\u00e9t\u00e9e, g\u00e9rer la variabilit\u00e9 entre les environnements et maintenir la persistance par cible.<\/p>\n<p>La compromission de pipeline passe efficacement \u00e0 l&rsquo;\u00e9chelle : injecter une seule fois, distribuer partout. Si vous pouvez modifier une \u00e9tape de build, un chemin de r\u00e9solution de d\u00e9pendances ou un artefact de release, vous pouvez compromettre de nombreux syst\u00e8mes tout en paraissant l\u00e9gitime.<\/p>\n<h3 class=\"wp-block-heading\">4) La d\u00e9tection est plus difficile car \u00ab tout semble normal \u00bb<\/h3>\n<p>Les outils de s\u00e9curit\u00e9 en production recherchent des comportements suspects au moment de l&rsquo;ex\u00e9cution : appels r\u00e9seau inattendus, escalades de privil\u00e8ges, processus anormaux. Mais si du code malveillant est livr\u00e9 sous forme de release normale, il s&rsquo;ex\u00e9cute dans le cadre du comportement attendu de l&rsquo;application.<\/p>\n<p>Sans contr\u00f4les d&rsquo;int\u00e9grit\u00e9 solides et sans provenance, les d\u00e9fenseurs peuvent avoir du mal \u00e0 r\u00e9pondre \u00e0 cette question :<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Ce binaire ou ce conteneur est-il r\u00e9ellement ce que nous avions l&rsquo;intention de construire ?<\/p>\n<\/blockquote>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">S\u00e9curit\u00e9 du pipeline vs s\u00e9curit\u00e9 en production<\/h2>\n<p>Une id\u00e9e re\u00e7ue courante est que la s\u00e9curit\u00e9 du pipeline est simplement \u00ab la s\u00e9curit\u00e9 en production appliqu\u00e9e plus t\u00f4t dans le cycle de vie \u00bb. Cette vision est incompl\u00e8te. La s\u00e9curit\u00e9 du pipeline et la s\u00e9curit\u00e9 en production prot\u00e8gent des garanties diff\u00e9rentes.<\/p>\n<h3 class=\"wp-block-heading\">La s\u00e9curit\u00e9 en production r\u00e9pond \u00e0 :<\/h3>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Que fait ce syst\u00e8me en ce moment, et est-ce malveillant ?<\/p>\n<\/blockquote>\n<h3 class=\"wp-block-heading\">La s\u00e9curit\u00e9 du pipeline r\u00e9pond \u00e0 :<\/h3>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Pourquoi devrions-nous faire confiance \u00e0 ce logiciel ?<\/p>\n<\/blockquote>\n<p>Si le pipeline est compromis, les d\u00e9fenses en production pourraient fid\u00e8lement prot\u00e9ger une application malveillante, car du point de vue du syst\u00e8me, c&rsquo;est \u00ab l&rsquo;application \u00bb. La v\u00e9ritable d\u00e9faillance s&rsquo;est produite en amont, au point o\u00f9 la confiance a \u00e9t\u00e9 \u00e9tablie.<\/p>\n<p>C&rsquo;est pourquoi la s\u00e9curit\u00e9 de la supply chain se concentre sur :<\/p>\n<ul class=\"wp-block-list\">\n<li>L&rsquo;int\u00e9grit\u00e9 des sorties de build<\/li>\n<li>La provenance (qui ou quoi l&rsquo;a construit, o\u00f9 et comment)<\/li>\n<li>Les portes de v\u00e9rification avant le d\u00e9ploiement<\/li>\n<li>La r\u00e9duction de la capacit\u00e9 \u00e0 alt\u00e9rer les \u00e9tapes de build et de release<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">O\u00f9 les pipelines sont r\u00e9ellement vuln\u00e9rables<\/h2>\n<p>Pour s\u00e9curiser les pipelines, nous devons \u00eatre pr\u00e9cis sur les points d&rsquo;attaque. \u00ab CI\/CD \u00bb n&rsquo;est pas un composant unique. C&rsquo;est une cha\u00eene de composants et de transitions de confiance. Voici les points d&rsquo;attaque les plus courants.<\/p>\n<h3 class=\"wp-block-heading\">Source : pull requests et contributions non fiables<\/h3>\n<p>De nombreux pipelines ex\u00e9cutent du code provenant de pull requests. Si le pipeline traite le code des PR comme \u00e9tant de confiance (ou divulgue des secrets aux builds de PR), les attaquants peuvent exfiltrer des identifiants ou modifier les sorties de build.<\/p>\n<h3 class=\"wp-block-heading\">D\u00e9pendances : confiance transitive \u00e0 l&rsquo;\u00e9chelle d&rsquo;Internet<\/h3>\n<p>Les builds modernes r\u00e9cup\u00e8rent des centaines ou des milliers de d\u00e9pendances tierces. Une d\u00e9pendance compromise, un package de typosquatting ou une confusion de d\u00e9pendances peuvent d\u00e9tourner l&rsquo;ex\u00e9cution \u00e0 l&rsquo;int\u00e9rieur de l&rsquo;environnement de build \u2014 souvent sans toucher votre code source.<\/p>\n<h3 class=\"wp-block-heading\">Configuration du pipeline : du \u00ab code \u00bb souvent moins bien r\u00e9vis\u00e9<\/h3>\n<p>Les d\u00e9finitions CI (workflows YAML, templates partag\u00e9s, actions r\u00e9utilisables) contr\u00f4lent l&rsquo;ex\u00e9cution. Un changement subtil peut :<\/p>\n<ul class=\"wp-block-list\">\n<li>\u00c9tendre les permissions<\/li>\n<li>Introduire une exfiltration de donn\u00e9es<\/li>\n<li>Changer les sources d&rsquo;artefacts<\/li>\n<li>D\u00e9sactiver les contr\u00f4les de s\u00e9curit\u00e9<\/li>\n<\/ul>\n<p>Pourtant, la configuration CI re\u00e7oit parfois une r\u00e9vision moins rigoureuse que le code applicatif.<\/p>\n<h3 class=\"wp-block-heading\">Runners : l&rsquo;environnement d&rsquo;ex\u00e9cution est une fronti\u00e8re de s\u00e9curit\u00e9<\/h3>\n<p>Les runners h\u00e9berg\u00e9s, les runners auto-h\u00e9berg\u00e9s et les conteneurs \u00e9ph\u00e9m\u00e8res ont tous des profils de risque diff\u00e9rents. Mais le point essentiel est universel : les runners ex\u00e9cutent des entr\u00e9es non fiables. Si les runners ne sont pas correctement isol\u00e9s, ils deviennent un point d&rsquo;ancrage pour l&rsquo;attaquant.<\/p>\n<h3 class=\"wp-block-heading\">Artefacts : l&rsquo;int\u00e9grit\u00e9 et la provenance sont souvent pr\u00e9sum\u00e9es, jamais prouv\u00e9es<\/h3>\n<p>De nombreuses organisations partent du principe que \u00ab si \u00e7a vient du CI, c&rsquo;est s\u00fbr \u00bb. C&rsquo;est pr\u00e9cis\u00e9ment l&rsquo;hypoth\u00e8se que les attaquants exploitent. Sans signatures, attestations et portes de v\u00e9rification, l&rsquo;int\u00e9grit\u00e9 des artefacts est fragile.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Erreurs courantes de conception des pipelines<\/h2>\n<p>La plupart des compromissions de pipelines r\u00e9ussissent en raison d&rsquo;erreurs d&rsquo;ing\u00e9nierie pr\u00e9visibles \u2014 g\u00e9n\u00e9ralement motiv\u00e9es par la rapidit\u00e9, la commodit\u00e9 ou un manque de clart\u00e9 dans la responsabilit\u00e9. Ces erreurs cr\u00e9ent des violations de confiance silencieuses.<\/p>\n<h3 class=\"wp-block-heading\">Erreur n\u00b01 : Traiter les runners CI comme \u00ab internes et de confiance \u00bb<\/h3>\n<p>Les runners fonctionnent souvent au sein de r\u00e9seaux de confiance et ont acc\u00e8s \u00e0 des ressources sensibles. Mais ils ex\u00e9cutent du code qui peut \u00eatre influenc\u00e9 par des contributeurs externes, des d\u00e9pendances ou des actions tierces. Si le runner est compromis, l&rsquo;attaquant peut :<\/p>\n<ul class=\"wp-block-list\">\n<li>Voler des secrets depuis les variables d&rsquo;environnement<\/li>\n<li>Extraire des tokens depuis la configuration locale<\/li>\n<li>Modifier les sorties de build<\/li>\n<li>Persister via les caches, les images ou les volumes partag\u00e9s<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">Erreur n\u00b02 : Des identit\u00e9s de pipeline sur-privil\u00e9gi\u00e9es<\/h3>\n<p>Les tokens \u00e0 permissions larges (par exemple, des tokens de d\u00e9p\u00f4t \u00ab write-all \u00bb, des identifiants cloud multi-environnements) sont courants. Ils facilitent l&rsquo;automatisation \u2014 mais ils offrent aussi aux attaquants un chemin rapide vers l&rsquo;impact.<\/p>\n<h3 class=\"wp-block-heading\">Erreur n\u00b03 : Des fronti\u00e8res faibles entre les \u00e9tapes du pipeline<\/h3>\n<p>Si une \u00e9tape pr\u00e9coce peut influencer les artefacts utilis\u00e9s par les \u00e9tapes ult\u00e9rieures sans v\u00e9rification d&rsquo;int\u00e9grit\u00e9, l&#8217;empoisonnement d&rsquo;artefacts devient trivial. Cela inclut :<\/p>\n<ul class=\"wp-block-list\">\n<li>Des caches de build non v\u00e9rifi\u00e9s<\/li>\n<li>Des espaces de travail partag\u00e9s entre les jobs<\/li>\n<li>Des artefacts transmis entre les \u00e9tapes sans contr\u00f4le<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">Erreur n\u00b04 : Des composants tiers non contr\u00f4l\u00e9s<\/h3>\n<p>Les actions r\u00e9utilisables, les plugins et les templates sont puissants. Mais ils ajoutent aussi un risque de supply chain au sein m\u00eame du CI. Si les composants tiers ne sont pas \u00e9pingl\u00e9s, r\u00e9vis\u00e9s et contraints, ils deviennent un vecteur d&rsquo;ex\u00e9cution.<\/p>\n<h3 class=\"wp-block-heading\">Erreur n\u00b05 : Des \u00ab contr\u00f4les de s\u00e9curit\u00e9 \u00bb qui ne bloquent pas le d\u00e9ploiement<\/h3>\n<p>L&rsquo;analyse de s\u00e9curit\u00e9 qui ne bloque pas les releases est souvent consid\u00e9r\u00e9e comme \u00ab suffisante \u00bb. Du point de vue de l&rsquo;attaquant, elle est sans importance. Les contr\u00f4les doivent \u00eatre ex\u00e9cutoires : ils doivent affecter ce qui peut \u00eatre construit, sign\u00e9 et d\u00e9ploy\u00e9.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Le pipeline est une fronti\u00e8re de confiance<\/h2>\n<p>Le bon mod\u00e8le mental n&rsquo;est pas \u00ab le CI\/CD comme automatisation \u00bb. C&rsquo;est <strong>le CI\/CD comme fronti\u00e8re de confiance<\/strong>.<\/p>\n<p>Une fronti\u00e8re de confiance est l&rsquo;endroit o\u00f9 des entr\u00e9es non fiables deviennent des sorties de confiance. C&rsquo;est exactement ce que fait un pipeline :<\/p>\n<ul class=\"wp-block-list\">\n<li>Il prend du code source (potentiellement influenc\u00e9 par de nombreux acteurs)<\/li>\n<li>Il r\u00e9sout les d\u00e9pendances (souvent depuis des \u00e9cosyst\u00e8mes externes)<\/li>\n<li>Il ex\u00e9cute les instructions de build<\/li>\n<li>Il produit des artefacts auxquels la production fera confiance<\/li>\n<\/ul>\n<p>Si vous ne rendez pas la confiance explicite, vous obtenez une confiance implicite. La confiance implicite est ce que les attaquants mon\u00e9tisent.<\/p>\n<p>Concevoir le pipeline comme une fronti\u00e8re de confiance signifie :<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Des fronti\u00e8res d&rsquo;\u00e9tapes explicites<\/strong> avec isolation et v\u00e9rification entre elles<\/li>\n<li><strong>Le moindre privil\u00e8ge<\/strong> pour les identit\u00e9s de pipeline, par job et par environnement<\/li>\n<li><strong>Une ex\u00e9cution \u00e9ph\u00e9m\u00e8re<\/strong> (ou une isolation forte) pour les runners et les builds<\/li>\n<li><strong>L&rsquo;int\u00e9grit\u00e9 cryptographique<\/strong> des artefacts (signature et v\u00e9rification)<\/li>\n<li><strong>La provenance<\/strong> et les attestations v\u00e9rifiables au moment du d\u00e9ploiement<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Ce que doit inclure une strat\u00e9gie de s\u00e9curit\u00e9 moderne<\/h2>\n<p>Si les pipelines sont des surfaces d&rsquo;attaque principales, les programmes de s\u00e9curit\u00e9 doivent investir en cons\u00e9quence. Non pas en ajoutant plus de \u00ab contr\u00f4les \u00bb, mais en int\u00e9grant des garanties solides dans le processus de livraison.<\/p>\n<h3 class=\"wp-block-heading\">1) Mod\u00e9liser les menaces du pipeline (pas seulement de l&rsquo;application)<\/h3>\n<p>Cartographiez les fronti\u00e8res de confiance : entr\u00e9es de PR, r\u00e9solution de d\u00e9pendances, runners, stockage d&rsquo;artefacts, signature et d\u00e9ploiement. Identifiez o\u00f9 une influence non fiable peut s&rsquo;introduire.<\/p>\n<h3 class=\"wp-block-heading\">2) R\u00e9duire agressivement les privil\u00e8ges et le p\u00e9rim\u00e8tre<\/h3>\n<p>Utilisez des identit\u00e9s scop\u00e9es par job, des identifiants scop\u00e9s par environnement, des tokens \u00e0 dur\u00e9e de vie courte et des fronti\u00e8res de permissions explicites. \u00c9vitez les \u00ab super utilisateurs de pipeline \u00bb.<\/p>\n<h3 class=\"wp-block-heading\">3) Durcir les runners et les environnements d&rsquo;ex\u00e9cution<\/h3>\n<p>Privil\u00e9giez les runners \u00e9ph\u00e9m\u00e8res lorsque c&rsquo;est possible. Si vous utilisez des runners auto-h\u00e9berg\u00e9s, isolez-les : restrictions r\u00e9seau, contr\u00f4les du syst\u00e8me de fichiers, pas d&rsquo;\u00e9tat partag\u00e9 persistant, et une s\u00e9gr\u00e9gation stricte entre les charges de travail non fiables et fiables.<\/p>\n<h3 class=\"wp-block-heading\">4) Rendre l&rsquo;int\u00e9grit\u00e9 v\u00e9rifiable, pas pr\u00e9sum\u00e9e<\/h3>\n<p>Signez les artefacts, g\u00e9n\u00e9rez des attestations et v\u00e9rifiez-les avant le d\u00e9ploiement. Assurez-vous que la production fait confiance \u00e0 la <em>v\u00e9rification<\/em>, et non simplement au fait que \u00ab le CI l&rsquo;a produit \u00bb.<\/p>\n<h3 class=\"wp-block-heading\">5) Valider les changements de pipeline comme les changements de production<\/h3>\n<p>Traitez la configuration CI comme du code \u00e0 haut risque. Utilisez des code owners, des revues et l&rsquo;application de politiques pour emp\u00eacher l&rsquo;expansion silencieuse des privil\u00e8ges ou l&rsquo;injection d&rsquo;\u00e9tapes non fiables.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n<p>Les pipelines CI\/CD sont discr\u00e8tement devenus certains des composants les plus critiques \u2014 et les plus exploit\u00e9s \u2014 des \u00e9cosyst\u00e8mes logiciels modernes. Ils agr\u00e8gent la confiance, fonctionnent avec des privil\u00e8ges \u00e9lev\u00e9s et offrent aux attaquants un chemin \u00e0 fort effet de levier pour un impact \u00e0 grande \u00e9chelle.<\/p>\n<p>L&rsquo;\u00e9tape la plus importante est de changer le mod\u00e8le mental :<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Un pipeline CI\/CD n&rsquo;est pas \u00ab juste de l&rsquo;automatisation \u00bb. C&rsquo;est une fronti\u00e8re de confiance.<\/p>\n<\/blockquote>\n<p>Les organisations qui con\u00e7oivent leurs pipelines avec des fronti\u00e8res de confiance explicites \u2014 par l&rsquo;isolation, le moindre privil\u00e8ge, l&rsquo;int\u00e9grit\u00e9 et la provenance \u2014 seront bien mieux positionn\u00e9es pour se d\u00e9fendre contre la prochaine g\u00e9n\u00e9ration d&rsquo;attaques sur la supply chain logicielle.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<div class=\"secure-pipelines-author-box\" >\n        <strong>\u00c0 propos de l&rsquo;auteur<\/strong><\/p>\n<p>Cet article est r\u00e9dig\u00e9 par un architecte senior DevSecOps et s\u00e9curit\u00e9 fort de plus de 15 ans d&rsquo;exp\u00e9rience en ing\u00e9nierie logicielle et en s\u00e9curit\u00e9 applicative. Le contenu refl\u00e8te une approche pragmatique, orient\u00e9e ing\u00e9nierie, ancr\u00e9e dans les contraintes du monde r\u00e9el.<\/p>\n<\/p><\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Pourquoi les pipelines CI\/CD sont-ils une surface d'attaque majeure ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Les pipelines CI\/CD agr\u00e8gent la confiance, fonctionnent avec des privil\u00e8ges \u00e9lev\u00e9s et distribuent des logiciels \u00e0 grande \u00e9chelle. Compromettre un pipeline permet aux attaquants d'injecter du code malveillant avant le d\u00e9ploiement, contournant ainsi de nombreuses d\u00e9fenses en production.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"En quoi la s\u00e9curit\u00e9 du pipeline diff\u00e8re-t-elle de la s\u00e9curit\u00e9 en production ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"La s\u00e9curit\u00e9 en production se concentre sur la d\u00e9tection de comportements malveillants apr\u00e8s le d\u00e9ploiement, tandis que la s\u00e9curit\u00e9 du pipeline vise \u00e0 garantir que le logiciel construit et livr\u00e9 est digne de confiance d\u00e8s le d\u00e9part.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Quelles sont les erreurs courantes de s\u00e9curit\u00e9 des pipelines CI\/CD ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Les erreurs courantes incluent des identit\u00e9s de pipeline sur-privil\u00e9gi\u00e9es, une isolation insuffisante des runners, des actions tierces non v\u00e9rifi\u00e9es, l'absence de contr\u00f4les d'int\u00e9grit\u00e9 des artefacts et une r\u00e9vision insuffisante des changements de configuration CI\/CD.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Comment les organisations peuvent-elles s\u00e9curiser leurs pipelines CI\/CD ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Les organisations doivent traiter les pipelines comme des fronti\u00e8res de confiance, appliquer le moindre privil\u00e8ge aux identit\u00e9s de pipeline, isoler les environnements de build, signer et v\u00e9rifier les artefacts, et valider les changements de configuration des pipelines.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pendant des ann\u00e9es, les programmes de s\u00e9curit\u00e9 applicative se sont concentr\u00e9s sur les environnements de production : durcissement des serveurs, correction des vuln\u00e9rabilit\u00e9s, d\u00e9ploiement de WAFs et surveillance du comportement en temps r\u00e9el. Cette approche \u00e9tait logique lorsque la plupart des compromissions significatives se produisaient apr\u00e8s le d\u00e9ploiement, en exploitant les faiblesses des applications en &#8230; <a title=\"Pourquoi les pipelines CI\/CD sont devenus la nouvelle surface d\u2019attaque principale\" class=\"read-more\" href=\"https:\/\/secure-pipelines.com\/fr\/threats-attacks\/ci-cd-pipelines-primary-attack-surface\/\" aria-label=\"En savoir plus sur Pourquoi les pipelines CI\/CD sont devenus la nouvelle surface d\u2019attaque principale\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54,49],"tags":[],"post_folder":[],"class_list":["post-561","post","type-post","status-publish","format-standard","hentry","category-threats-attacks","category-ci-cd-security"],"_links":{"self":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/comments?post=561"}],"version-history":[{"count":1,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/561\/revisions"}],"predecessor-version":[{"id":562,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/561\/revisions\/562"}],"wp:attachment":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/media?parent=561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/categories?post=561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/tags?post=561"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/post_folder?post=561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}