<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Remediation - RiskInsight</title>
	<atom:link href="https://www.riskinsight-wavestone.com/tag/remediation-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/tag/remediation-2/</link>
	<description>Le blog cybersécurité des consultants Wavestone</description>
	<lastBuildDate>Wed, 08 Jul 2026 07:54:49 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>Remediation - RiskInsight</title>
	<link>https://www.riskinsight-wavestone.com/tag/remediation-2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</title>
		<link>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/#respond</comments>
		
		<dc:creator><![CDATA[Meriem Abidi]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 07:54:48 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[artefacts]]></category>
		<category><![CDATA[artifactory]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[CI/CD attacks]]></category>
		<category><![CDATA[CI/CD security]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud security]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[Remediation]]></category>
		<category><![CDATA[runners]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30370</guid>

					<description><![CDATA[<p>Dans les environnements DevOps modernes, les pipelines CI/CD automatisent le développement, les tests et le déploiement du code, permettant une livraison rapide et scalable tout en élargissant significativement la surface d’attaque. Les audits CI/CD réalisés en 2025 et 2026 ont...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/">Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Dans les <strong>environnements DevOps modernes</strong>, les <em>pipelines</em> CI/CD automatisent le développement, les tests et le déploiement du code, permettant une livraison rapide et scalable tout en élargissant significativement la surface d’attaque.</p>
<p style="text-align: justify;">Les audits CI/CD réalisés en 2025 et 2026 ont révélé que des <strong>identifiants exposés </strong>dans des <strong>dépôts</strong>, des <strong><em>runners</em> mal configurés</strong>, des <strong>stockages d’artefacts non sécurisés </strong>et des <strong>rôles cloud trop permissifs </strong>constituent autant de vecteurs d&rsquo;attaque que des acteurs malveillants peuvent exploiter afin d&rsquo;obtenir un accès persistant et fortement privilégié à l&rsquo;ensemble de l&rsquo;infrastructure.</p>
<p style="text-align: justify;">Une vue d’ensemble des outils DevOps est illustrée ci-dessous :</p>
<figure id="attachment_30332" aria-describedby="caption-attachment-30332" style="width: 911px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="size-full wp-image-30332" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps.png" alt="Outils aux usages et fonctions multiples pour le DevOps" width="911" height="422" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-412x191.png 412w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-71x33.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-768x356.png 768w" sizes="(max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30332" class="wp-caption-text">Outils aux usages et fonctions multiples pour le DevOps</figcaption></figure>
<p style="text-align: justify;">Une compromission à n’importe quelle étape du <em>pipeline</em> peut ouvrir une voie vers des systèmes plus sensibles.</p>
<figure id="attachment_30358" aria-describedby="caption-attachment-30358" style="width: 911px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-30358" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation.png" alt="Outils DevOps pouvant constituer un moyen rapide pour les attaquants d’obtenir un accès à privilèges élevés sur le système d’information" width="911" height="380" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-437x182.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-71x30.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-768x320.png 768w" sizes="(max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30358" class="wp-caption-text">Outils DevOps pouvant constituer un moyen rapide pour les attaquants d’obtenir un accès à privilèges élevés sur le système d’information</figcaption></figure>
<p style="text-align: justify;">Cet article décrit <strong>une chaîne d’attaque CI/CD représentative visant un environnement CI/CD, </strong>fondée sur des scénarios observés en conditions réelles. Il met en évidence les vecteurs d&rsquo;attaque les plus couramment exploités ainsi que les principales mesures de durcissement permettant de réduire la surface d&rsquo;attaque à chaque étape du pipeline, depuis le code source jusqu&rsquo;au déploiement en production.</p>
<p> </p>
<h2>La chaîne d’attaque: de la reconnaissance à la persistance</h2>
<h3>Reconnaissance et accès initial</h3>
<p style="text-align: justify;">La chaîne d’attaque débute généralement par <strong>une attaque de phishing ciblant les développeurs</strong> afin de <strong>voler des identifiants et des codes MFA</strong>, bien que le MFA puisse lui-même être contourné via le vol de <strong>jetons d’accès</strong> ou de <strong>détournement de sessions.</strong></p>
<figure id="attachment_30334" aria-describedby="caption-attachment-30334" style="width: 911px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-30334" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie.png" alt="Attaque de Phishing réussie" width="911" height="479" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-363x191.png 363w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-768x404.png 768w" sizes="(max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30334" class="wp-caption-text">Attaque de Phishing réussie</figcaption></figure>
<p style="text-align: justify;">Il convient de noter que la <strong>compromission d’identifiants seule </strong>n’est <strong>pas toujours suffisante</strong> pour accéder directement à des portails administratifs sensibles. Les <strong>contrôles de sécurité</strong> autour des interfaces d’administration <strong>Microsoft 365</strong> ont été <strong>renforcés</strong> par des mécanismes de MFA ainsi que, le cas échéant, par des politiques d’accès conditionnel, limitant l’impact du phishing sur les accès hautement privilégiés.</p>
<p style="text-align: justify;">Cependant, <strong>dans les environnements d’entreprise modernes</strong> où <strong>la majorité des applications reposent sur le Single Sign-On (SSO),</strong> la compromission d’une session Microsoft (par exemple via le <strong>vol</strong> de <strong>cookies</strong> de <strong>session</strong>) peut donner aux attaquants accès à un large éventail de services interconnectés, incluant les dépôts de code et les plateformes CI/CD. Les attaquants utilisent généralement ce point d’entrée initial pour identifier les environnements de développement et <strong>établir une persistance</strong> via des mécanismes tels que les <strong>Jetons d&rsquo;accès personnels (PAT).</strong></p>
<p style="text-align: justify;">Un risque souvent négligé survient lorsqu’un <strong>compte utilisateur est désactivé</strong> au niveau du fournisseur d’identité (ex. <strong>Entra ID</strong>) mais n’est <strong>pas entièrement désactivé </strong>dans les plateformes de dépôt. Dans ce cas, <strong>des PATs précédemment émis</strong> peuvent rester valides, permettant à un attaquant de conserver un accès malgré la révocation du compte.</p>
<p style="text-align: justify;">D’autres vecteurs d’entrée incluent <strong>l’exploitation de CVE connues</strong> ainsi qu&rsquo;une mauvaise gestion des identifiants. De nombreuses vulnérabilités majeures sur les outils DevOps sont régulièrement découvertes, ce qui souligne la nécessité d’une gestion continue des vulnérabilités. <strong>L’exploitation</strong> d’une <strong>vulnérabilité critique</strong> peut directement <strong>fournir un accès privilégié à un outil de la chaîne</strong>.</p>
<p style="text-align: justify;">Exemples :</p>
<ul>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2024-23897"><strong>CVE-2024-23897</strong></a></span><strong> (Jenkins)</strong>, permettant à des attaquants non authentifiés de lire des fichiers arbitraires présents sur le contrôleur Jenkins, exposant ainsi des secrets sensibles,</li>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2023-7028"><strong>CVE-2023-7028</strong></a></span><strong> (GitLab)</strong>, dans laquelle les emails de réinitialisation de mot de passe pouvaient être envoyés vers une adresse électronique non vérifiée.</li>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2023-36561"><strong>CVE-2023-36561</strong></a></span><strong> (Azure DevOps Server)</strong>, une vulnérabilité d&rsquo;élévation de privilèges permettant à un attaquant d&rsquo;obtenir un accès non autorisé à certaines fonctionnalités d&rsquo;Azure DevOps Server, avec un impact potentiel sur les pipelines, les secrets et les ressources des projets.</li>
</ul>
<p> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Renforcer les contrôles d’accès aux dépôts de code source</u></strong></p>
<p style="text-align: justify;">Afin de réduire les risques liés à l&rsquo;accès initial, les organisations doivent mettre en œuvre des contrôles permettant d&#8217;empêcher les accès non autorisés, de détecter les mécanismes de persistance et de renforcer la gouvernance des identités.</p>
<p style="text-align: justify;"><em><u>Appliquer des politiques d’accès strictes et réduire l’exposition réseau</u></em></p>
<ul style="text-align: justify;">
<li>Eviter l’utilisation des <strong>comptes génériques ou partagés</strong>,</li>
<li>Utiliser des <strong>identités développeurs dédiées</strong>, séparées des comptes bureautiques standards (messagerie et outils collaboratifs), afin de réduire l’exposition au phishing et l’impact d’une compromission dans les environnements CI/CD,</li>
<li><strong>Imposer des mécanismes MFA résistants au phishing</strong> (clés FIDO2, certificats, etc),</li>
<li><strong>Mettre en place des politiques d’accès conditionnel</strong> basées sur des critères contextuels (localisation réseau, conformité des appareils).</li>
</ul>
<p style="text-align: justify;"><em><u>Mettre en place des mécanismes de détection de persistance</u></em></p>
<ul style="text-align: justify;">
<li><strong>Surveiller</strong> la création ou l’utilisation suspecte de <strong>PAT</strong> dans GitLab, ainsi que les activités anormales (ex. <strong>déploiements à des horaires inhabituels</strong>),</li>
<li>Surveiller l’ajout de <strong>nouvelles méthodes d’authentification dans Entra ID</strong>, notamment les méthodes sans mot de passe, après un événement de phishing.</li>
</ul>
<p style="text-align: justify;"><em><u>Réviser périodiquement les accès et supprimer les comptes inutilisés</u></em></p>
<ul>
<li style="text-align: justify;">Désactiver ou supprimer les <strong>comptes inutilisés ou inactifs,</strong></li>
<li style="text-align: justify;">Révoquer les accès des <strong>collaborateurs sortis de l’organisation</strong> sur tous les systèmes,</li>
<li style="text-align: justify;">Réaliser des revues d’accès périodiques, <strong>au minimum tous les six mois</strong> pour les <strong>utilisateurs</strong> <strong>à risque élevé.</strong></li>
</ul>
<p> </p>
<h3>Compromission des dépôts de code et des <em>pipelines</em></h3>
<p style="text-align: justify;"><strong>Les dépôts de code</strong> sont souvent <strong>directement intégrés aux <em>pipelines</em> CI/CD</strong>, ce qui signifie que toute modification du code peut déclencher automatiquement des processus de <em>build</em> et de déploiement. Ainsi, la compromission d’un compte développeur peut influencer la manière dont les applications sont construites et déployées.</p>
<p style="text-align: justify;">Pour <strong>réduire le risque de modifications non autorisées en production</strong>, les organisations <strong>protègent</strong> généralement les <strong>branches de production</strong> (ex. main ou master) via des <em>pull requests</em>, des validations et des contrôles automatisés. En revanche, les <strong>branches de développement</strong> sont souvent <strong>moins strictement contrôlées</strong> afin de favoriser la rapidité de développement et de test.</p>
<p style="text-align: justify;">Dans le scénario observé, l’attaquant <strong>cible la branche de développement</strong> et modifie le fichier de configuration du <em>pipeline</em> (gitlab-ci.yml), en y injectant <strong>une commande malveillante</strong> (visant à établir un accès distant) au sein d’un <strong><em>job</em> existant</strong>. Lors de l&rsquo;exécution du <em>pipeline</em>, cette commande est exécutée sur le <em>runner</em> CI/CD, ce qui permet à l&rsquo;attaquant d&rsquo;obtenir un accès distant à ce dernier.</p>
<figure id="attachment_30336" aria-describedby="caption-attachment-30336" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30336" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD.png" alt="Établissement d’un accès distant depuis l’environnement d’exécution CICD" width="911" height="574" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-303x191.png 303w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-62x39.png 62w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-768x484.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30336" class="wp-caption-text">Établissement d’un accès distant depuis l’environnement d’exécution CICD</figcaption></figure>
<p style="text-align: justify;"><strong>Une fois dans le <em>runner</em> CI/CD</strong>, l’attaquant peut alors <strong>exécuter du code arbitraire sur le <em>runner </em>CI/CD</strong> et, entre autres, énumérer les variables d’environnement contenant des <strong>paramètres de configurations et les secrets définis dans le projet GitLab</strong>.</p>
<p style="text-align: justify;">Cependant, il arrive que certains <strong>composants</strong> de la chaîne CI/CD <strong>ne sont pas dupliqués entre environnements</strong> pour des <strong>raisons de coûts. </strong>Dans ce cas précis, les secrets GitLab ne sont pas segmentés entre les environnements de production et de développement. Ainsi l’attaquant est en capacité de<strong> lister les secrets de production depuis le <em>runner </em>CI/CD de développement</strong>.</p>
<p style="text-align: justify;">Un exemple de <strong>variables</strong> <strong>d’environnement</strong> rencontrées dans les <em>pipelines</em> CI/CD est présenté ci-dessous.</p>
<figure id="attachment_30338" aria-describedby="caption-attachment-30338" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30338" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement.png" alt="Exemple de variables de production accessibles depuis un environnement de développement" width="911" height="404" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-431x191.png 431w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-768x341.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30338" class="wp-caption-text">Exemple de variables de production accessibles depuis un environnement de développement</figcaption></figure>
<p style="text-align: justify;">Ce flux d’attaque montre comment la manipulation de <em>pipeline</em> permet l’exécution de code dans le <em>runner</em> et l’extraction de variables sensibles de production depuis un environnement de développement.</p>
<figure id="attachment_30340" aria-describedby="caption-attachment-30340" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30340" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code.png" alt="Manipulation du dépôt de code" width="911" height="396" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-437x191.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-768x334.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30340" class="wp-caption-text">Manipulation du dépôt de code</figcaption></figure>
<p style="text-align: justify;">Parmi les identifiants récupérés dans l&rsquo;environnement CI/CD compromis<strong>, l&rsquo;attaquant obtient un jeton d&rsquo;accès à Nexus, système de gestion d&rsquo;artefacts</strong> utilisé pour stocker et distribuer les artefacts de <em>build</em> de confiance consommés par les pipelines situés en aval.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Durcir la sécurité des dépôts de code</u></strong></p>
<p style="text-align: justify;">La sécurisation du dépôt de code est essentielle pour empêcher l’exploitation des <em>pipelines</em> CI/CD après un accès initial, car les dépôts contrôlent directement le <em>build</em> et le déploiement.</p>
<p style="text-align: justify;"><em><u>Durcir les dépôts pour limiter les déclenchements de pipeline</u></em></p>
<ul style="text-align: justify;">
<li>Configurer des <strong>branches protégées</strong> pour les branches de déploiement,</li>
<li><strong>Mettre en place des workflows d’approbation multi-niveaux</strong> pour les <em>merge requests</em> déclenchant des <em>pipelines</em> et <strong>interdire</strong> <strong>l’auto-approbation</strong>,</li>
<li>Utiliser la <strong>propriété du code (<em>ownership</em>)</strong> pour <strong>assigner</strong> et <strong>exiger</strong> <strong>l’approbation</strong> des <strong>responsables</strong> désignés sur les <strong>fichiers</strong> <strong>sensibles</strong> (ex. configuration CI/CD).</li>
</ul>
<p style="text-align: justify;"><em><u>Limiter la visibilité et les permissions</u></em></p>
<ul style="text-align: justify;">
<li><strong>Limiter les droits d’écriture</strong> aux seuls utilisateurs qui en ont besoin,</li>
<li><strong>Restreindre la visibilité des projets</strong> selon le <strong>principe du besoin de savoir</strong> (interne ou privé recommandé).</li>
</ul>
<p style="text-align: justify;"><em><u>Mettre en place une bonne hygiène de gestion des secrets</u></em></p>
<ul style="text-align: justify;">
<li><strong>Configurer des secrets CI/CD scopés au niveau projet</strong> et privilégier des identifiants éphémères,</li>
<li><strong>Détecter les secrets en clair le plus tôt possible</strong> (au moment du <em>commit</em> ou avant la publication du code) et les révoquer immédiatement en cas d’exposition,</li>
<li>Réaliser <strong>des revues périodiques</strong> (ex. audits internes, exercices de red team) sur des plateformes telles que les dépôts Git, Jira ou Confluence afin d&rsquo;identifier d&rsquo;éventuelles fuites de secrets passées inaperçues.</li>
</ul>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Renforcer la sécurité des <em>runners</em> auto-hébergés</u></strong></p>
<p style="text-align: justify;">Les <em>runners</em> sont des composants critiques des <em>pipelines</em> CI/CD car ils exécutent le code et manipulent des données sensibles. S’ils sont compromis, ils peuvent permettre des mouvements latéraux, l’accès aux secrets ou la prise de contrôle de l’environnement.</p>
<p style="text-align: justify;"><em><u>Réduire l’exposition réseau et le périmètre d’exécution</u></em></p>
<ul style="text-align: justify;">
<li><strong>Restreindre le trafic réseau des <em>runners</em></strong> uniquement à ce qui est nécessaire à l’exécution des pipelines, et appliquer des <strong>contrôles réseau</strong> tels que des <strong><em>proxies</em></strong> et de la <strong>segmentation</strong> afin d’empêcher tout accès Internet non contrôlé et limiter les mouvements latéraux au sein des réseaux internes,</li>
<li><strong>Restreindre les déclenchements</strong> depuis des dépôts non fiables ou personnels.</li>
</ul>
<p style="text-align: justify;"><em><u>Considérer les runners comme des systèmes sensibles</u></em></p>
<ul style="text-align: justify;">
<li>Considérer les <em>runners</em> comme des serveurs critiques (Application régulière des <strong>correctifs</strong> du <strong>système d’exploitation</strong> et <strong>durcissement</strong>),</li>
<li>Déployer des solutions de <strong><em>Endpoint Detection and Response (EDR)</em></strong> pour la surveillance des processus, y compris dans les environnements conteneurisés.</li>
</ul>
<p style="text-align: justify;"><em><u>Utiliser des runners dédiés et éphémères</u></em></p>
<ul style="text-align: justify;">
<li>Privilégier des <strong><em>runners</em> dédiés par projet ou environnement</strong>. Le partage de <em>runners</em> entre plusieurs contextes augmente le risque de contamination inter-projets et d’escalade de privilèges,</li>
<li>Utiliser des <strong><em>runners</em> éphémères / autoscalés</strong> détruits après chaque job,</li>
<li>S’assurer que les <strong><em>runners</em> basés sur VM</strong> soient également <strong>éphémères</strong> et <strong>isolés</strong> afin qu’aucune donnée ou accès résiduel ne persiste entre les exécutions. En complément, s’appuyer <strong>uniquement sur des images de base durcies et de confiance</strong> (par exemple des <strong>golden</strong> <strong>images</strong> pour les <em>runners</em> VM et des images conteneurs approuvées), afin d’éviter toute exécution dans des environnements compromis ou non vérifiés.</li>
</ul>
<p style="text-align: justify;"><em><u>Sécuriser les runners containerisés</u></em></p>
<ul style="text-align: justify;">
<li><strong>N’autoriser que des images approuvées et de confiance dans les exécutions de pipelines</strong> afin d’éviter l’introduction de code malveillant via des images compromises ou non vérifiées,</li>
<li>Appliquer le <strong>principe du moindre privilège</strong> dans les environnements d’exécution conteneurisés,</li>
<li><strong>Éviter le mode privilégié</strong> et supprimer les capacités Linux inutiles,</li>
<li>Utiliser des moteurs de <strong><em>build</em> sécurisés (BuildKit / Buildah)</strong> lorsque le <strong>Docker-in-Docker</strong> est requis.</li>
</ul>
<p style="text-align: justify;"><em><u>Durcir les runners cloud</u></em></p>
<ul>
<li style="text-align: justify;">Lors de l’utilisation de <strong><em>runners</em> managés dans le cloud</strong>, appliquer une <strong>isolation stricte</strong> et un <strong>périmètre d’identité</strong>, <strong>restreindre l’accès aux métadonnées</strong> afin d’éviter l’exposition d’identifiants depuis l’infrastructure sous-jacente, et s’assurer que les rôles CI/CD sont gouvernés par des <strong>politiques IAM strictes en moindre privilège</strong> afin d’éviter des permissions excessives.</li>
</ul>
<p> </p>
<h3>Empoisonnement d’artefacts et attaques sur les dépendances</h3>
<p style="text-align: justify;">Dans les environnements de livraison logicielle, <strong>les systèmes de gestion d’artefacts</strong> stockent et distribuent les <strong>sorties générées par les pipelines CI/CD</strong>. Ces sorties, appelées <strong>artefacts</strong>, représentent les <strong>résultats packagés</strong> du processus de <em>build</em>, tels que des binaires compilés, des packages applicatifs ou des images de déploiement.</p>
<p style="text-align: justify;"><strong>Les artefacts</strong> sont <strong>stockés de manière centralisée</strong> afin d’assurer le versioning, la traçabilité et la réutilisation à travers plusieurs pipelines. En plus des <strong>sorties spécifiques aux applications</strong>, ces dépôts hébergent souvent également des <strong>composants partagés tels que des golden images</strong>, des <strong>bibliothèques réutilisables</strong> ou des <strong>dépendances <em>runtime</em> communes</strong>. Comme ils proviennent de processus de <em>build</em> considérés comme fiables, les <strong>artefacts</strong> sont généralement supposés sûrs et <strong>largement consommés par les pipelines</strong> <strong>en aval</strong> sans validation supplémentaire.</p>
<p style="text-align: justify;">Dans le scénario observé, <strong>l’attaquant</strong> <strong>utilise</strong> des <strong>identifiants</strong> précédemment obtenus pour <strong>s’authentifier</strong> au <strong>dépôt</strong> <strong>d’artefacts</strong> (<strong>Nexus</strong> dans cet exemple) avec des <strong>permissions</strong> <strong>excessives</strong> (lecture/écriture sur plusieurs catégories, plutôt que limitées à un périmètre applicatif unique), et obtient ainsi un accès à la fois aux artefacts de production et aux artefacts partagés.</p>
<p style="text-align: justify;">Parmi ces derniers, l’attaquant identifie un <strong>binaire</strong> <strong>Terraform</strong> <strong>légitime</strong> utilisé dans le processus de déploiement d’infrastructure (appelé ici le <strong>binaire</strong> <strong>tofu</strong>), qui est couramment approuvé et consommé par les pipelines CI/CD pour provisionner et gérer les ressources cloud.</p>
<figure id="attachment_30342" aria-describedby="caption-attachment-30342" style="width: 1394px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30342" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure.png" alt="Binaire légitime utilisé pour le déploiement d’infrastructure" width="1394" height="949" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure.png 1394w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-281x191.png 281w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-57x39.png 57w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-768x523.png 768w" sizes="auto, (max-width: 1394px) 100vw, 1394px" /><figcaption id="caption-attachment-30342" class="wp-caption-text">Binaire légitime utilisé pour le déploiement d’infrastructure</figcaption></figure>
<p style="text-align: justify;">L’attaquant <strong>télécharge</strong> <strong>cet artefact localement</strong> et en <strong>modifie le contenu</strong> en injectant une <strong>logique malveillante</strong> tout en conservant sa fonctionnalité d’origine, et y <strong>intègre un comportement caché</strong> conçu pour interagir avec les services <strong>AWS Identity and Access Management (IAM)</strong> et <strong>AWS Security Token Service (STS)</strong> afin de récupérer des identifiants.</p>
<figure id="attachment_30344" aria-describedby="caption-attachment-30344" style="width: 827px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30344" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant.png" alt="Logique de gestion des identifiants AWS IAM et STS dans le binaire Terraform malveillant" width="827" height="716" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant.png 827w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-221x191.png 221w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-45x39.png 45w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-768x665.png 768w" sizes="auto, (max-width: 827px) 100vw, 827px" /><figcaption id="caption-attachment-30344" class="wp-caption-text">Logique de gestion des identifiants AWS IAM et STS dans le binaire Terraform malveillant</figcaption></figure>
<p style="text-align: justify;">Le binaire modifié est ensuite <strong>téléversé de nouveau</strong> <strong>dans</strong> <strong>Nexus</strong>, remplaçant la version légitime par un <strong>artefact compromis.</strong></p>
<figure id="attachment_30346" aria-describedby="caption-attachment-30346" style="width: 744px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30346" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant.png" alt="Upload du binaire malveillant" width="744" height="613" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant.png 744w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant-232x191.png 232w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant-47x39.png 47w" sizes="auto, (max-width: 744px) 100vw, 744px" /><figcaption id="caption-attachment-30346" class="wp-caption-text">Upload du binaire malveillant</figcaption></figure>
<p style="text-align: justify;">À partir de ce moment, <strong>tout pipeline CI/CD consommant cet artefact</strong> récupère automatiquement le <strong>binaire compromis</strong> lors de la résolution des dépendances, car il est toujours considéré comme fiable.</p>
<figure id="attachment_30348" aria-describedby="caption-attachment-30348" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30348" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus.png" alt="Téléchargement du binaire malveillant depuis Nexus" width="911" height="473" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-368x191.png 368w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-768x399.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30348" class="wp-caption-text">Téléchargement du binaire malveillant depuis Nexus</figcaption></figure>
<p style="text-align: justify;">Lors de son exécution, <strong>le binaire compromis active la charge malveillante intégrée</strong>, dont l’objectif est de <strong>récupérer le jeton d’accès AWS</strong> utilisé par le <strong>contexte d’exécution Terraform</strong> et de l’envoyer vers un serveur contrôlé par l’attaquant pour exfiltration. Il génère ensuite une <strong>sortie obfusquée</strong> <strong>encodée en Base32</strong>. Le décodage permet de reconstruire un objet JSON contenant des identifiants AWS (AccessKeyId, SecretAccessKey et SessionToken).</p>
<figure id="attachment_30350" aria-describedby="caption-attachment-30350" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30350" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS.png" alt="Payload Base32 décodé révélant des identifiants AWS" width="911" height="494" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-352x191.png 352w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-768x416.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30350" class="wp-caption-text">Payload Base32 décodé révélant des identifiants AWS</figcaption></figure>
<p style="text-align: justify;">L’attaquant configure ensuite ces identifiants localement et utilise <strong>AWS STS</strong> (appel API GetCallerIdentity) pour confirmer l’usurpation d’identité du <em>runner</em> CI/CD.</p>
<figure id="attachment_30352" aria-describedby="caption-attachment-30352" style="width: 910px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30352" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS.png" alt="Accès AWS" width="910" height="182" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS.png 910w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-437x87.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-71x14.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-768x154.png 768w" sizes="auto, (max-width: 910px) 100vw, 910px" /><figcaption id="caption-attachment-30352" class="wp-caption-text">Accès AWS</figcaption></figure>
<p style="text-align: justify;">Cette illustration montre la chaîne d’attaque : compromission d’artefact, injection de logique malveillante, propagation via les pipelines CI/CD et vol final d’identifiants AWS menant à la compromission de l’environnement.</p>
<figure id="attachment_30354" aria-describedby="caption-attachment-30354" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30354" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances.png" alt="Compromission Artifactory - corruption des dépendances" width="911" height="450" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-387x191.png 387w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-71x35.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-768x379.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30354" class="wp-caption-text">Compromission Artifactory &#8211; corruption des dépendances</figcaption></figure>
<p style="text-align: justify;">En conséquence, l’attaquant obtient un accès non autorisé aux ressources AWS sous une identité légitime.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Améliorer la gestion des accès à l’Artifactory</u></strong></p>
<p style="text-align: justify;">Les dépôts d’artefacts tels que Nexus sont des composants clés des pipelines CI/CD utilisés pour stocker et distribuer les dépendances et artefacts de <em>build</em>. Ce sont des cibles à forte valeur pour les attaques de chaîne d’approvisionnement.</p>
<p style="text-align: justify;">La sécurité nécessite des contrôles d’accès forts, une gouvernance des dépendances et une surveillance continue de l’intégrité.</p>
<p style="text-align: justify;"><em><u>Durcir la plateforme d’artefacts</u></em></p>
<ul style="text-align: justify;">
<li><strong>Autoriser une large lecture du dépôt uniquement sous deux conditions :</strong> depuis le service nécessaire (CI/CD) et si une gestion de mots de passe dans les dépendances existe,</li>
<li>Restreindre fortement les <strong>permissions d’écriture,</strong></li>
<li>Modifier les <strong>identifiants par défaut.</strong></li>
</ul>
<p style="text-align: justify;"><em><u>Analyse de composition logicielle (SCA)</u></em></p>
<ul style="text-align: justify;">
<li><strong>Appliquer une analyse de composition logicielle</strong> aux <strong>dépendances internes</strong> (stockées dans des dépôts locaux) ainsi qu’aux <strong>dépendances externes</strong> (récupérées depuis des dépôts distants ou proxy) afin de détecter les vulnérabilités connues et les composants obsolètes.</li>
</ul>
<p style="text-align: justify;"><em><u>Restreindre les sources d’artefacts</u></em></p>
<ul>
<li style="text-align: justify;"><strong>Maintenir une whitelist de dépôts de confiance</strong> afin de garantir que seules des sources approuvées sont utilisées,</li>
<li style="text-align: justify;"><strong>Appliquer des contrôles au niveau des dépôts </strong>pour exclure les versions non approuvées ou vulnérables, par exemple dans Nexus ou via des règles d’exclusion dans <strong>JFrog</strong> Artifactory,</li>
<li style="text-align: justify;"><strong>Empêcher les pipelines CI/CD d’accéder à des sources externes</strong> <strong>non</strong> <strong>fiables</strong> en imposant des frontières strictes entre dépôts.</li>
</ul>
<p> </p>
<h3>Compromission cloud via abus des workloads CI/CD</h3>
<p style="text-align: justify;">Dans les environnements cloud, <strong>les <em>runners</em> CI/CD</strong> sont généralement associés à des <strong>rôles IAM privilégiés</strong> pour effectuer des opérations de déploiement, incluant la création, modification et suppression de ressources d’infrastructure. Ces rôles incluent souvent des <strong>permissions larges</strong> telles que <strong>AdministratorAccess</strong> ou des politiques personnalisées trop permissives, permettant au <em>runner</em> d’interagir avec un large ensemble de services AWS, incluant les services de calcul, le stockage et la gestion des identités.</p>
<p style="text-align: justify;">Lorsqu’un <strong><em>runner</em> CI/CD est compromis</strong>, un attaquant peut <strong>directement abuser de ces privilèges</strong> sans nécessiter d’escalade supplémentaire. Cela peut conduire à un <strong>accès immédiat</strong> à des ressources sensibles telles que des <strong>buckets S3</strong> ou <strong>des bases de données RDS</strong>, permettant <strong>l’exfiltration de données</strong>. L’attaquant peut également exploiter les <strong>permissions</strong> <strong>IAM</strong> pour assumer d’autres rôles dans <strong>d’autres comptes ou projets AWS</strong>, facilitant les mouvements latéraux au sein de l’organisation. En outre, <strong>l’accès aux services de <em>compute</em> </strong>peut être utilisé pour déployer, modifier ou maintenir des charges malveillantes, aboutissant finalement à une <strong>compromission</strong> <strong>complète</strong> de <strong>l’environnement cloud</strong>.</p>
<p> </p>
<h2>De la compromission initiale du développeur à la prise de contrôle cloud : vue complète de la chaîne CI/CD</h2>
<p style="text-align: justify;">la chaîne d’attaque CI/CD commence par la compromission initiale du développeur jusqu’à la prise de contrôle complète de l’environnement cloud.</p>
<p style="text-align: justify;">L’illustration suivante met en évidence <strong>les opportunités clés de détection et de surveillance à travers l’écosystème CI/CD.</strong> Elle montre comment les données de télémétrie de sécurité peuvent être collectées et corrélées tout au long des <strong>différentes étapes de la chaîne d&rsquo;attaque CI/CD</strong>, depuis les <strong>activités de développement </strong>jusqu&rsquo;aux <strong><em>runners</em></strong> <strong>CI/CD</strong>, aux <strong>dépôts d&rsquo;artefacts</strong> et aux <strong>opérations IAM dans le cloud</strong>.</p>
<figure id="attachment_30356" aria-describedby="caption-attachment-30356" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30356" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection.png" alt="Chaîne d’attaque - Détection" width="911" height="409" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-425x191.png 425w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-71x32.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-768x345.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30356" class="wp-caption-text">Chaîne d’attaque &#8211; Détection</figcaption></figure>
<p style="text-align: justify;">Dans l’ensemble, bien que les pipelines CI/CD élargissent significativement la surface d’attaque, ils offrent également de multiples points d’interception stratégiques où une journalisation centralisée et une surveillance de sécurité peuvent permettre une détection précoce et une réponse aux activités malveillantes.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">En conclusion, pour obtenir <strong>un <em>pipeline</em> CI/CD sécurisé</strong>, la sécurité doit être pensée de bout en bout, des environnements développeurs jusqu’aux systèmes de production.</p>
<p style="text-align: justify;"><strong>Les développeurs sont le premier maillon de la chaîne</strong>, et la sécurisation de leurs comptes est essentielle. Cela doit être complété par de bonnes pratiques telles que la gestion sécurisée des secrets et la sensibilisation régulière à la sécurité.</p>
<p style="text-align: justify;">Il est également crucial d’assurer une <strong>bonne isolation entre environnements</strong> et d’appliquer strictement le <strong>principe du moindre privilège</strong>, aussi bien pour les <strong>utilisateurs</strong> que pour les <strong>comptes</strong> <strong>de</strong> <strong>service</strong>.</p>
<p style="text-align: justify;">Les problèmes de sécurité ne peuvent pas être corrigés par de simples correctifs si la conception globale du <em>pipeline</em> est faible.</p>
<p style="text-align: justify;">Enfin, <strong>les cas d’usage de déploiement</strong> doivent être définis clairement dès le départ, car ils influencent directement l’architecture et les choix IAM.</p>
<p style="text-align: justify;">Au-delà des aspects techniques, <strong>la sécurité CI/CD doit être évaluée en continu via des audits techniques réguliers</strong> ainsi que des <strong>revues organisationnelles</strong> du cycle de développement afin de maintenir les risques sous contrôle.</p>
<p style="text-align: justify;">Pour une perspective plus large et des <strong>recommandations de haut niveau</strong> sur le positionnement du CI/CD comme pilier du système d’information, voir l’article RiskInsight : « <a href="https://www.riskinsight-wavestone.com/2025/09/ci-cd-la-nouvelle-pierre-angulaire-du-si/"><span style="color: #808080;">CI/CD: the new cornerstone of the information system</span></a><span style="color: #808080;"> </span>».</p>
<p> </p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/">Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
