{"id":2210,"date":"2026-03-29T11:54:51","date_gmt":"2026-03-29T11:54:51","guid":{"rendered":"https:\/\/www.almtoolbox.com\/fr\/blog\/?p=2210"},"modified":"2026-04-20T12:04:22","modified_gmt":"2026-04-20T12:04:22","slug":"how-gitlab-prevents-supply-chain-attacks-malwares","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/fr\/blog\/how-gitlab-prevents-supply-chain-attacks-malwares\/","title":{"rendered":"Comment GitLab aide \u00e0 pr\u00e9venir les attaques de la cha\u00eene d&#8217;approvisionnement et l&#8217;intrusion de malwares dans les environnements de d\u00e9veloppement"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2023\/09\/gitlab-superhero-banner1-1024x516.jpg\" alt=\"gitlab devsecops appsec alm-toolbox\" class=\"wp-image-6952\"\/><\/figure>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><\/figure>\n<\/div>\n\n\n\n<div style=\"height:29px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>L&#8217;utilisation de <em>GitLab<\/em> comme plateforme DevOps de bout en bout vous aide \u00e0 pr\u00e9venir les attaques de la cha\u00eene d&#8217;approvisionnement (comme la r\u00e9cente compromission de <em>PyPI litellm<\/em>) et \u00e0 bloquer l&#8217;intrusion de malwares dans votre environnement en <strong>appliquant des contr\u00f4les directement dans le pipeline CI\/CD, le flux de d\u00e9pendances et la couche d&#8217;identit\u00e9<\/strong>.<\/p>\n\n\n\n<p>Voici comment cela se traduit concr\u00e8tement par rapport \u00e0 votre mod\u00e8le de menace.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#fffdd3\"><em><strong>Remarque :<\/strong> La mise en \u0153uvre de ces pratiques n\u00e9cessite une instance GitLab (Auto-h\u00e9berg\u00e9e ou SaaS) et un abonnement <strong>GitLab Ultimate<\/strong>. <br>De plus, une compr\u00e9hension de base des concepts DevOps, DevSecOps ou AppSec est recommand\u00e9e. <br>Si vous avez besoin d&#8217;aide concernant les licences ou l&#8217;impl\u00e9mentation technique, n&#8217;h\u00e9sitez pas \u00e0 contacter notre \u00e9quipe \u00e0 <a href=\"mailto:gitlab@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">gitlab@almtoolbox.com<\/a> ou \u00e0 nous appeler.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Bloquer les d\u00e9pendances malveillantes ou vuln\u00e9rables<\/strong><\/h2>\n\n\n\n<p>Lorsqu&#8217;un paquet comme litellm est empoisonn\u00e9 et publi\u00e9 sur PyPI, GitLab peut r\u00e9duire ou emp\u00eacher l&#8217;impact via :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Analyse des d\u00e9pendances (Dependency Scanning)<\/strong> : Inspecte automatiquement vos fichiers requirements.txt, package-lock.json, etc., et signale les paquets compromis ou pr\u00e9sentant des vuln\u00e9rabilit\u00e9s connues (y compris ceux extraits de PyPI) dans chaque pipeline.<\/li>\n\n\n\n<li><strong>Nomenclature logicielle (SBOM) et graphe de d\u00e9pendances<\/strong> : GitLab peut g\u00e9n\u00e9rer une nomenclature logicielle et suivre quels projets d\u00e9pendent de quelles versions ; vous pouvez ainsi bloquer ou corriger \u00e0 chaud les versions dangereuses avant qu&#8217;elles n&#8217;atteignent la production.<\/li>\n\n\n\n<li><strong>Proxy \/ Pare-feu de d\u00e9pendances<\/strong> : Si vous utilisez le proxy de GitLab pour votre flux PyPI\/NPM\/etc., vous pouvez restreindre les versions autoris\u00e9es et imposer l&#8217;utilisation exclusive de sources amont \u00ab approuv\u00e9es \u00bb.<\/li>\n<\/ul>\n\n\n\n<p><strong>Impact pratique<\/strong> : M\u00eame si quelqu&#8217;un \u00e9crit pip install litellm dans un fichier requirements.txt, GitLab peut faire \u00e9chouer la t\u00e2che ou bloquer la compilation si la version install\u00e9e figure dans votre politique de vuln\u00e9rabilit\u00e9s\/liste blanche.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. S\u00e9curiser le pipeline CI\/CD lui-m\u00eame<\/strong><\/h2>\n\n\n\n<p>L&#8217;attaque de type litellm a mis en \u00e9vidence un mod\u00e8le o\u00f9 <strong>des biblioth\u00e8ques malveillantes dans le CI\/CD exfiltrent des jetons et des secrets<\/strong> ; GitLab att\u00e9nue ce risque par :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>La protection du fichier .gitlab-ci.yml et des variables<\/strong> :\n<ul class=\"wp-block-list\">\n<li>L&#8217;exigence de branches prot\u00e9g\u00e9es, des modifications du fichier .gitlab-ci.yml contr\u00f4l\u00e9es par des CODEOWNERS, et un acc\u00e8s strict bas\u00e9 sur les r\u00f4les afin que les attaquants ne puissent pas injecter de t\u00e2ches malveillantes.<\/li>\n\n\n\n<li>L&#8217;utilisation de variables prot\u00e9g\u00e9es et de secrets masqu\u00e9s pour que seuls les pipelines approuv\u00e9s puissent y acc\u00e9der.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>La s\u00e9curisation des runners<\/strong> :\n<ul class=\"wp-block-list\">\n<li>L&#8217;utilisation de \u00ab runners prot\u00e9g\u00e9s \u00bb et de runners par projet afin que le piratage d&#8217;un projet n&#8217;accorde pas un acc\u00e8s \u00e9tendu \u00e0 l&#8217;ensemble de votre CI\/CD.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>La d\u00e9tection des secrets<\/strong> : Analyse les commits et les requ\u00eates de fusion pour d\u00e9tecter les cl\u00e9s API, les jetons ou les secrets valid\u00e9s accidentellement ; cela \u00e9vite qu&#8217;ils n&#8217;arrivent dans la branche principale.<\/li>\n<\/ul>\n\n\n\n<p><strong>Impact pratique<\/strong> : Si un attaquant parvient \u00e0 injecter un script malveillant dans une t\u00e2che, une port\u00e9e plus stricte des variables et l&#8217;isolement des runners limitent les donn\u00e9es qu&#8217;il peut voler ou sa capacit\u00e9 \u00e0 se propager.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Emp\u00eacher l&#8217;intrusion de code de type malware dans votre environnement<\/strong><\/h2>\n\n\n\n<p>GitLab agit comme une \u00ab barri\u00e8re \u00bb avant que le code et les artefacts n&#8217;atteignent la production :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L&#8217;int\u00e9gration de la s\u00e9curit\u00e9 en amont (Shift-left) dans chaque pipeline<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Les analyses SAST (vuln\u00e9rabilit\u00e9s au niveau du code), DAST (\u00e0 l&#8217;ex\u00e9cution), des conteneurs et de la conformit\u00e9 des licences s&#8217;ex\u00e9cutent dans chaque t\u00e2che afin de d\u00e9tecter tr\u00e8s t\u00f4t les sch\u00e9mas de type cheval de Troie, les portes d\u00e9rob\u00e9es ou les codes \u00e0 l&#8217;apparence malveillante.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Des barri\u00e8res d&#8217;approbation avant le d\u00e9ploiement<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Vous pouvez imposer des approbations, des barri\u00e8res bas\u00e9es sur les analyses de s\u00e9curit\u00e9 et \u00ab exiger la r\u00e9ussite du pipeline \u00bb pour les environnements de production, afin qu&#8217;un commit ou une d\u00e9pendance malveillante ne puisse pas \u00eatre d\u00e9ploy\u00e9 silencieusement.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>La tra\u00e7abilit\u00e9 et les journaux d&#8217;audit<\/strong> :\n<ul class=\"wp-block-list\">\n<li>GitLab garde une trace de chaque modification, fusion, ex\u00e9cution de pipeline et d\u00e9ploiement, ce qui facilite la recherche de l&#8217;origine d&#8217;un malware (par exemple, via un paquet install\u00e9 par tox) et permet de revenir en arri\u00e8re ou de le bloquer.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Impact pratique<\/strong> : Toute modification de \u00ab type malware \u00bb (par exemple, un nouveau paquet qui commence \u00e0 appeler des terminaux de communication \u00e9tranges ou \u00e0 modifier des fichiers) doit soit \u00eatre intercept\u00e9e par une analyse, soit bloqu\u00e9e par une politique, soit laisser une piste d&#8217;audit claire que vous pouvez suivre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Identit\u00e9, acc\u00e8s et contr\u00f4les Zero-Trust<\/strong><\/h2>\n\n\n\n<p>Les attaques de la cha\u00eene d&#8217;approvisionnement reposent souvent sur <strong>le vol d&#8217;identifiants et des r\u00f4les trop permissifs<\/strong>. GitLab vous aide via :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Un RBAC granulaire et l&#8217;A2F<\/strong> : Imposez l&#8217;authentification \u00e0 double facteur, des r\u00f4les selon le principe du moindre privil\u00e8ge, et des approbations pour les modifications en production.<\/li>\n\n\n\n<li><strong>Les commits sign\u00e9s et les auteurs v\u00e9rifi\u00e9s<\/strong> : Exigez des commits sign\u00e9s par GPG et v\u00e9rifiez qui a r\u00e9ellement pouss\u00e9 le code ; GitLab peut rejeter les auteurs non sign\u00e9s ou non fiables, r\u00e9duisant ainsi l&#8217;usurpation d&#8217;identit\u00e9.<\/li>\n\n\n\n<li><strong>Une journalisation pr\u00eate pour l&#8217;audit<\/strong> : V\u00e9rifiez qui a modifi\u00e9 le pipeline, quelles d\u00e9pendances ont \u00e9t\u00e9 ajout\u00e9es et quels environnements ont \u00e9t\u00e9 touch\u00e9s apr\u00e8s un incident.<\/li>\n<\/ul>\n\n\n\n<p><strong>Impact pratique<\/strong> : Cela emp\u00eache plus efficacement un attaquant de pirater le compte d&#8217;un d\u00e9veloppeur ou d&#8217;injecter du code corrompu sans \u00eatre rapidement d\u00e9tect\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comment cela s&#8217;applique-t-il \u00e0 vous si vous \u00eates un architecte DevOps \/ DevSecOps ?<\/strong><\/h3>\n\n\n\n<p>En tant qu&#8217;utilisateur de GitLab, vous pouvez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Traiter GitLab comme le <strong>moteur de politiques central<\/strong> pour :\n<ul class=\"wp-block-list\">\n<li>Les versions de d\u00e9pendances autoris\u00e9es.<\/li>\n\n\n\n<li>Les analyses de s\u00e9curit\u00e9 requises.<\/li>\n\n\n\n<li>Les branches et les environnements prot\u00e9g\u00e9s.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Utiliser <strong>l&#8217;analyse des d\u00e9pendances + la SBOM + les approbations<\/strong> de GitLab pour :\n<ul class=\"wp-block-list\">\n<li>D\u00e9tecter et bloquer les paquets empoisonn\u00e9s comme litellm (m\u00eame s&#8217;ils ne figurent pas encore dans les bases de donn\u00e9es CVE).<\/li>\n\n\n\n<li>Appliquer le \u00ab blocage des d\u00e9pendances ayant un niveau CVE ou violant les politiques \u00bb dans les barri\u00e8res des requ\u00eates de fusion.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-background\" style=\"background-color:#ebf6ff\"><em><em>ALM Toolbox a aid\u00e9 des centaines de clients \u00e0 prendre en charge GitLab, \u00e0 choisir l&#8217;\u00e9dition et la licence GitLab appropri\u00e9es, ainsi qu&#8217;\u00e0 planifier la mise en \u0153uvre et le d\u00e9ploiement du produit.<\/em><br>Nous sommes partenaires officiels de GitLab depuis 2016 et d\u00e9tenons les titres d\u00e9cern\u00e9s par l&#8217;entreprise GitLab : <\/em><br><em><strong>Selected Partner, GitLab Hero<\/strong> et <strong>\u00ab GitLab Champion \u00bb<\/strong> ainsi que des certifications professionnelles officielles GitLab apr\u00e8s avoir r\u00e9ussi les examens de qualification.<br>R\u00e9cemment, nous avons \u00e9galement \u00e9t\u00e9 s\u00e9lectionn\u00e9s par le cabinet d&#8217;\u00e9tudes STKI comme <strong>\u00ab GitLab Selected Partner \u00bb<\/strong> pour 2025.<br>Vous pouvez nous contacter par e-mail \u00e0 l&#8217;adresse <strong class=\"\"><a href=\"mailto:gitlab@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">gitlab@almtoolbox.com<\/a><\/strong> ou nous appeler :<\/em><br><em>866-503-1471 (\u00c9tats-Unis \/ Canada) ou +01 84 17 53 28<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Liens connexes :<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Notre <a href=\"https:\/\/almtoolbox.com\/gitlab\">page web GitLab<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/docs.gitlab.com\" target=\"_blank\" rel=\"noreferrer noopener\">Documentation technique de GitLab<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;utilisation de GitLab comme plateforme DevOps de bout en bout vous aide \u00e0 pr\u00e9venir les attaques de la cha\u00eene d&#8217;approvisionnement (comme la r\u00e9cente compromission de PyPI litellm) et \u00e0 bloquer l&#8217;intrusion de malwares dans votre environnement en appliquant des contr\u00f4les directement dans le pipeline CI\/CD, le flux de d\u00e9pendances et la couche d&#8217;identit\u00e9. Voici comment cela se traduit concr\u00e8tement par rapport \u00e0 votre mod\u00e8le de menace. Remarque : La mise en \u0153uvre de ces pratiques n\u00e9cessite une instance GitLab [&#8230;]&hellip; <a class=\"more-link\" href=\"https:\/\/www.almtoolbox.com\/fr\/blog\/how-gitlab-prevents-supply-chain-attacks-malwares\/\">Continue reading <span class=\"screen-reader-text\">Comment GitLab aide \u00e0 pr\u00e9venir les attaques de la cha\u00eene d&#8217;approvisionnement et l&#8217;intrusion de malwares dans les environnements de d\u00e9veloppement<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":2209,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,35,10,23],"tags":[184,338,339],"class_list":["post-2210","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-devsecops","category-gitlab","category-gitlab-ci","tag-gitlab-ultimate-2","tag-pypl-litellm","tag-supply-chain"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/2210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/comments?post=2210"}],"version-history":[{"count":4,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/2210\/revisions"}],"predecessor-version":[{"id":2216,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/2210\/revisions\/2216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/media\/2209"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/media?parent=2210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/categories?post=2210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/tags?post=2210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}