Aller au contenu
Sécurité medium

Gestion des secrets : inventaire & cycle de vie (SOCLE SEC)

24 min de lecture

Un seul secret en clair qui fuite, et toute la chaîne s'effondre : jeton de publication, clé de signature, accès cloud. Le domaine Gestion des secrets (SEC) est transversal : les secrets vivent partout (postes, runners, plateforme, cloud).

Un secret n'est pas un objet statique : il est créé, stocké, lu, tourné, révoqué. Chaque étape mal gérée crée un risque : un secret en clair dans un dépôt (le vecteur le plus courant), un jeton de longue durée volé et réutilisé indéfiniment, un accès trop large qui expose tout le trousseau. La meilleure défense est de réduire la valeur d'un secret : le domaine demande de l'inventorier, le stocker en coffre chiffré (jamais en clair), scoper son accès par environnement, le faire tourner et révoquer (TTL, rotation d'urgence testée), de préférer des identités courtes (OIDC) au secret durable, et de détecter les fuites en continu pour révoquer puis tourner.

Concrètement, ces exigences parent : le secret en clair trivialement volé, le secret oublié jamais tourné après une fuite, l'accès trop large à tout le trousseau, et la fuite non détectée qui vit jusqu'à exploitation faute de scan et de réponse. Cette page couvre les 20 exigences SOCLE du domaine, des fondamentales (R1) aux souveraines (R3).

L'enjeu

Un secret fuité ou sur-scopé transforme une intrusion locale en compromission étendue.

Les erreurs les plus fréquentes sur ce périmètre :

secrets en clair (env, historique shell, fichiers)
pas de rotation ni de TTL
secret longue durée préféré à une identité OIDC courte

Six exigences forment la base : inventaire à jour, coffre (jamais en clair), accès scopés et tracés, rotation par criticité, identités courtes (OIDC), et détection de fuite.

Comment lire R1R2R3du fondamental au souverain Doitobligatoire Devraitrecommandé Chaque carte porte son énoncé, le pourquoi, la preuve attendue et ses correspondances aux standards.
Afficher
SOCLE-SEC-GEN-1 R1 Doit Essentiel Souverain

inventaire des secrets tenu à jour : type, propriétaire, emplacement, consommateurs, criticité.#

On ne protège ni ne tourne un secret qu'on a oublié : les secrets non recensés sont ceux qui fuitent. Un inventaire à jour (type, propriétaire, emplacement, consommateurs, criticité) donne la visibilité indispensable pour appliquer rotation, moindre privilège et réponse à fuite, préalable de toute gestion de secrets sérieuse.

Preuve attendue
Inventaire des secrets à jour : type, propriétaire, emplacement, consommateurs, criticité.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 6 standards · 1 menace
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-GEN-2 R1 Doit Essentiel Souverain

secrets stockés dans un coffre / gestionnaire sûr ; jamais en clair (fichiers, env persistants, historique).#

Un secret en clair (fichier, variable persistante, historique) est trivialement volé et survit là où on l'oublie. Le stocker dans un coffre/gestionnaire sûr centralise sa protection, son audit et sa rotation : il n'existe plus de copie en clair traînant sur un disque ou dans un dépôt, vecteur de fuite numéro un.

Preuve attendue
Secrets stockés en coffre ; inspection d'absence de secrets en clair.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 6 standards · 6 menaces
Menaces parées

Un secret (clé, jeton, mot de passe) est inclus par erreur dans l'image ou le paquet publié, exposé à tous ses consommateurs. La fuite se propage à chaque téléchargement de l'artefact CICD-SEC-6. Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6. La configuration d'un agent IA est modifiée pour installer une instruction ou un outil persistant, réactivé à chaque exécution. La persistance s'installe dans la configuration plutôt que dans le code (ATLAS Modify AI Agent Configuration) ATLAS (Modify AI Agent Configuration). Un agent ou un système RAG est manipulé pour collecter et exfiltrer des secrets accessibles via son contexte, ses outils ou sa configuration. Les droits étendus de l'agent en font un collecteur de credentials ATLAS. Les secrets stockés dans un coffre cloud (Secrets Manager, Key Vault) sont lus grâce à des droits excessifs ou un rôle compromis. Le coffre concentre la valeur : un accès indu y donne les clés du royaume (ATT&CK T1555.006) ATT&CK T1555.006. Une application OAuth ou intégration SaaS de confiance, au-delà du SCM/CI (CRM, support, observabilité), est compromise ou abusée : consentement OAuth détourné, jetons volés, contournement MFA, pour persister et exfiltrer des données (ex. campagne Salesloft/Drift 2025). La confiance accordée à une intégration tierce devient un accès latéral au SI ATT&CK T1671 OWASP CICD-SEC-8.

SOCLE-SEC-GEN-3 R2 Doit Essentiel Souverain

accès aux secrets scopés et tracés (moindre privilège, séparation par environnement).#

Un accès aux secrets trop large ou non tracé expose tout le trousseau et masque qui lit quoi. Des accès scopés au moindre privilège, séparés par environnement et tracés limitent ce qu'un compte compromis atteint et permettent de détecter un accès anormal, sur les éléments les plus sensibles de la chaîne.

Preuve attendue
Accès aux secrets scopés et tracés ; séparation par environnement.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 6 standards · 4 menaces
Menaces parées

Une fédération OIDC trop permissive (conditions de confiance larges, sujet non contraint) permet à un dépôt ou workflow non autorisé d'obtenir des identifiants cloud. L'identité courte censée remplacer les secrets devient elle-même un chemin d'accès CICD-SEC-6. Un agent ou un système RAG est manipulé pour collecter et exfiltrer des secrets accessibles via son contexte, ses outils ou sa configuration. Les droits étendus de l'agent en font un collecteur de credentials ATLAS. Les secrets stockés dans un coffre cloud (Secrets Manager, Key Vault) sont lus grâce à des droits excessifs ou un rôle compromis. Le coffre concentre la valeur : un accès indu y donne les clés du royaume (ATT&CK T1555.006) ATT&CK T1555.006. Une application OAuth ou intégration SaaS de confiance, au-delà du SCM/CI (CRM, support, observabilité), est compromise ou abusée : consentement OAuth détourné, jetons volés, contournement MFA, pour persister et exfiltrer des données (ex. campagne Salesloft/Drift 2025). La confiance accordée à une intégration tierce devient un accès latéral au SI ATT&CK T1671 OWASP CICD-SEC-8.

SOCLE-SEC-GEN-4 R2 Doit Essentiel Souverain

politique de rotation par criticité et durée de vie (TTL) définie ; rotation d'urgence testée.#

Un secret jamais tourné reste exploitable indéfiniment après une fuite passée inaperçue. Une politique de rotation (TTL par criticité) et une rotation d'urgence testée bornent la durée de vie d'un secret et garantissent qu'on peut le révoquer vite : un secret volé cesse de valoir avant d'avoir servi.

Preuve attendue
Politique de rotation et TTL par criticité ; compte rendu d'un test de rotation d'urgence.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 6 standards · 1 menace
Menaces parées

Un paquet compromis vole les jetons de publication des mainteneurs qui l'installent et republie automatiquement d'autres paquets, se propageant de proche en proche (cas Shai-Hulud). L'auto-propagation transforme une compromission isolée en épidémie CNCF Attack Chaining.

SOCLE-SEC-GEN-5 R2 Devrait Essentiel Souverain

identités courtes/éphémères (OIDC) privilégiées sur les secrets de longue durée.#

Un secret de longue durée est un actif à protéger, faire fuir et tourner en permanence. Privilégier des identités courtes/éphémères (OIDC) supprime le secret durable : l'identité ne vaut que le temps de l'opération, éliminant l'objet même que les attaquants cherchent à dérober dans les pipelines.

Preuve attendue
Usage d'identités courtes/éphémères (OIDC) plutôt que secrets de longue durée.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 6 standards · 2 menaces
Menaces parées

Un jeton de publication de longue durée fuite (CI, poste, dépôt) et sert à pousser des versions piégées sans interaction avec le compte. La durée de vie excessive du jeton élargit la fenêtre d'abus CICD-SEC-6. Un jeton d'accès de longue durée est volé et réutilisé tant qu'il n'est pas révoqué, sans nouvelle authentification. La durée de vie sans rotation maximise la valeur du vol CICD-SEC-6.

SOCLE-SEC-GEN-6 R2 Doit Essentiel Souverain

détection de fuite de secrets (dépôts, postes, images) et procédure de réponse.#

Des secrets fuitent en continu (dépôts publics, images, postes) ; sans détection, la fuite vit jusqu'à exploitation. Un dispositif de détection (scan dépôts, postes, images) couplé à une procédure de réponse (révoquer + tourner) raccourcit la fenêtre entre fuite et neutralisation, là où chaque heure compte.

Preuve attendue
Dispositif de détection de fuite de secrets ; procédure de réponse.
Outillage
Gitleaks TruffleHog
Correspondances & menaces parées 5 standards · 1 menace
Menaces parées

Un paquet compromis vole les jetons de publication des mainteneurs qui l'installent et republie automatiquement d'autres paquets, se propageant de proche en proche (cas Shai-Hulud). L'auto-propagation transforme une compromission isolée en épidémie CNCF Attack Chaining.

On ne protège que ce qu'on connaît : un registre à jour (type, propriétaire, emplacement, consommateurs, criticité), une découverte régulière (scan des dépôts, postes, images, historiques) et une classification par criticité.

SOCLE-SEC-INV-1 R1 Doit

registre des secrets tenu à jour : type, propriétaire, emplacement, consommateurs, criticité.#

Sans registre des secrets, on ignore lesquels existent, qui les détient et lesquels sont critiques : impossible de les piloter. Un registre à jour (type, propriétaire, emplacement, consommateurs, criticité) est le socle de toute rotation, revue d'accès et réponse à incident, comme un inventaire l'est pour les actifs.

Preuve attendue
Registre des secrets à jour : type, propriétaire, emplacement, consommateurs, criticité.
Outillage
TruffleHog
Correspondances & menaces parées 2 standards · 1 menace
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-INV-2 R2 Doit

découverte régulière des secrets (scan dépôts, postes, images, historiques).#

Un inventaire déclaratif rate les secrets oubliés dans le code, les images ou les historiques. Une découverte régulière (scan dépôts, postes, images) confronte le registre à la réalité et débusque les secrets fantômes, souvent les plus dangereux car personne ne les surveille ni ne les tourne.

Preuve attendue
Résultats de découverte régulière (scan dépôts, postes, images, historiques).
Outillage
TruffleHog
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-INV-3 R2 Devrait

classification des secrets par criticité et par type.#

Traiter tous les secrets à l'identique sur- ou sous-protège selon les cas. Les classer par criticité et par type permet d'appliquer le bon niveau de contrôle (rotation, coffre durci, accès) proportionné à l'enjeu : un secret de production critique n'est pas géré comme un jeton de test peu sensible.

Preuve attendue
Classification des secrets par criticité et par type.
Outillage
TruffleHog
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

Les secrets vivent en coffre chiffré au repos, jamais en clair (env persistant, historique shell, fichiers de projet). L'accès est scopé au strict nécessaire, séparé par environnement, tracé (qui lit quoi, quand), et refusé par défaut (deny-by-default). Au souverain, un coffre durci (scellement, séparation des rôles) protège le sensible.

SOCLE-SEC-STO-1 R1 Doit

secrets dans un coffre / gestionnaire sûr, chiffrés au repos ; jamais en clair.#

Un secret stocké en clair est lisible par quiconque accède au support. Le conserver dans un coffre chiffré au repos, jamais en clair, garantit qu'un accès au stockage ne livre pas les secrets et centralise leur protection : chiffrement et contrôle d'accès du coffre remplacent les copies dispersées et vulnérables.

Preuve attendue
Secrets en coffre chiffrés au repos ; inspection d'absence de secrets en clair.
Outillage
OpenBao/Vault
Correspondances & menaces parées 3 standards · 1 menace
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-STO-2 R1 Doit

proscrire les secrets en clair dans l'env persistant, l'historique shell, les fichiers de projet.#

Les variables d'environnement persistantes, l'historique shell et les fichiers de projet sont des nids à secrets oubliés, scannés par les attaquants. Les proscrire comme emplacement de secrets supprime des fuites banales : un secret jamais écrit en clair à ces endroits ne peut y être volé.

Preuve attendue
Inspection : aucun secret en clair dans env persistant, historique shell, fichiers de projet.
Outillage
OpenBao/Vault
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-STO-3 R2 Doit

accès scopés au strict nécessaire, séparés par environnement (dev/prod).#

Un accès aux secrets non cloisonné laisse un compromis de dev atteindre les secrets de prod. Des accès scopés au strict nécessaire et séparés par environnement garantissent qu'une fuite côté développement n'expose pas la production, contenant l'impact d'un secret volé à son seul périmètre.

Preuve attendue
Accès scopés au strict nécessaire ; séparation par environnement (dev/prod).
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 2 menaces
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6. Une combinaison de permissions IAM individuellement anodines forme un chemin d'élévation ou d'accès non prévu (combinaison toxique). Le risque émerge de l'assemblage des droits, pas d'une permission isolée (ATT&CK T1078.004) ATT&CK T1078.004.

SOCLE-SEC-STO-4 R2 Doit

accès aux secrets tracés (qui lit quoi, quand).#

Sans trace des accès, un secret consulté par un attaquant passe inaperçu et l'investigation est aveugle. Journaliser qui lit quoi et quand donne la visibilité pour détecter un accès anormal et reconstituer une fuite : on sait quels secrets ont été touchés lors d'un incident, donc lesquels tourner d'urgence.

Preuve attendue
Journaux d'accès aux secrets (qui lit quoi, quand).
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 1 menace
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-STO-5 R3 Doit Souverain

secrets sensibles protégés par coffre durci (scellement, audit, séparation des rôles).#

Les secrets les plus sensibles méritent plus qu'un coffre standard. Un coffre durci (scellement, audit, séparation des rôles) élève la protection : aucun administrateur seul n'accède aux secrets, l'accès est audité et le coffre se verrouille au repos, réduisant le risque d'abus interne ou de compromission unique.

Preuve attendue
Coffre durci pour secrets sensibles (scellement, audit, séparation des rôles).
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 2 menaces
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6. Les secrets stockés dans un coffre cloud (Secrets Manager, Key Vault) sont lus grâce à des droits excessifs ou un rôle compromis. Le coffre concentre la valeur : un accès indu y donne les clés du royaume (ATT&CK T1555.006) ATT&CK T1555.006.

SOCLE-SEC-STO-6 R2 Doit

secrets traités comme sensibles par défaut : accès refusé par défaut (deny-by-default), classification au niveau le plus restrictif tant qu'aucun déclassement explicite n'est justifié.#

Traiter un secret comme anodin par défaut ouvre l'accès trop largement avant qu'on y réfléchisse. Le deny-by-default et une classification au niveau le plus restrictif tant qu'aucun déclassement n'est justifié inversent la charge : un secret est protégé au maximum par défaut, on assouplit seulement sur décision explicite.

Preuve attendue
Politique d'accès aux secrets en deny-by-default ; octrois et déclassements explicites tracés.
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 1 menace
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

On réduit la valeur d'un secret dans le temps : une politique de rotation par criticité et un TTL par secret, la préférence pour les identités courtes (OIDC) sur les secrets de longue durée, une rotation d'urgence testée, une détection de fuite avec réponse (révoquer puis tourner), et au souverain, la rotation automatisée des secrets critiques.

SOCLE-SEC-ROT-1 R2 Doit

politique de rotation par criticité ; durée de vie (TTL) définie par secret.#

Un secret à durée de vie illimitée reste une cible permanente et un risque qui s'accumule. Une politique de rotation par criticité avec une TTL définie par secret borne cette durée : plus un secret est critique, plus il est tourné souvent, réduisant la fenêtre pendant laquelle une fuite reste exploitable.

Preuve attendue
Politique de rotation par criticité ; TTL défini par secret.
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 1 menace
Correspondance
Menaces parées

Un jeton d'accès de longue durée est volé et réutilisé tant qu'il n'est pas révoqué, sans nouvelle authentification. La durée de vie sans rotation maximise la valeur du vol CICD-SEC-6.

SOCLE-SEC-ROT-2 R2 Devrait

privilégier les identités courtes/éphémères (OIDC) sur les secrets de longue durée.#

Le secret le plus sûr est celui qui n'existe pas durablement. Privilégier des identités courtes/éphémères (OIDC) sur les secrets de longue durée supprime l'objet à protéger : l'authentification se fait via une identité jetable, éliminant le credential persistant que les attaquants cherchent dans les pipelines et les configurations.

Preuve attendue
Usage d'identités courtes/éphémères (OIDC) privilégié.
Outillage
OpenBao/Vault
Correspondances & menaces parées 2 standards · 2 menaces
Menaces parées

Un jeton d'accès de longue durée est volé et réutilisé tant qu'il n'est pas révoqué, sans nouvelle authentification. La durée de vie sans rotation maximise la valeur du vol CICD-SEC-6. Une fédération OIDC trop permissive (conditions de confiance larges, sujet non contraint) permet à un dépôt ou workflow non autorisé d'obtenir des identifiants cloud. L'identité courte censée remplacer les secrets devient elle-même un chemin d'accès CICD-SEC-6.

SOCLE-SEC-ROT-3 R2 Doit

capacité de rotation et de révocation d'urgence testée (cf. exercice de rotation).#

Découvrir qu'on ne sait pas révoquer vite un secret le jour d'une fuite est catastrophique. Tester la rotation et la révocation d'urgence garantit qu'on peut neutraliser un secret compromis en minutes, transformant une fuite détectée en incident contenu plutôt qu'en exposition prolongée le temps de comprendre comment faire.

Preuve attendue
Compte rendu d'un test de rotation/révocation d'urgence.
Outillage
OpenBao/Vault
Correspondances & menaces parées 1 standard · 2 menaces
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6. Un jeton d'accès de longue durée est volé et réutilisé tant qu'il n'est pas révoqué, sans nouvelle authentification. La durée de vie sans rotation maximise la valeur du vol CICD-SEC-6.

SOCLE-SEC-ROT-4 R2 Doit

détection de fuite (scan, alerte) et procédure de réponse (révoquer + tourner).#

Un secret fuité reste exploitable tant qu'il n'est pas révoqué. Une détection (scan, alerte) couplée à une procédure de réponse (révoquer puis tourner) raccourcit la fenêtre entre fuite et neutralisation : on ne se contente pas de constater la fuite, on rend immédiatement le secret volé inutilisable.

Preuve attendue
Dispositif de détection de fuite + procédure de réponse (révoquer + tourner).
Outillage
OpenBao/Vault
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-SEC-ROT-5 R3 Doit Souverain

rotation automatisée des secrets critiques quand l'outillage le permet.#

La rotation manuelle est oubliée, repoussée, et finit par ne plus se faire. Automatiser la rotation des secrets critiques quand l'outillage le permet garantit qu'elle a réellement lieu, à fréquence définie, sans dépendre d'une discipline humaine faillible : le secret se renouvelle tout seul, fermant la dérive.

Preuve attendue
Configuration de rotation automatisée des secrets critiques.
Outillage
OpenBao/Vault
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un jeton d'accès de longue durée est volé et réutilisé tant qu'il n'est pas révoqué, sans nouvelle authentification. La durée de vie sans rotation maximise la valeur du vol CICD-SEC-6.

  • Secret en clair dans Git : le vecteur le plus courant ; le scan pré-commit/CI est indispensable (SEC-0-2, SEC-S2-2).
  • Jeton longue durée : un PAT non expirant volé reste exploitable ; préférez l'OIDC (SEC-0-5).
  • Accès trop large : un secret prod lisible depuis dev annule la séparation (SEC-S2-3).
  • Rotation jamais testée : on découvre qu'on ne sait pas tourner un secret en pleine fuite (SEC-S3-3).
  • Pas de détection : une fuite passe inaperçue des mois (SEC-0-6).
  • Les secrets sont transversaux : ils vivent sur les postes, runners, plateforme et cloud.
  • Les essentielles : inventaire, coffre, accès scopés et tracés, rotation, OIDC, détection de fuite.
  • Réduire la valeur d'un secret : court (OIDC), scopé, tourné, détecté.
  • Aucun secret en clair ; accès deny-by-default.
  • La rotation et la révocation d'urgence se testent avant d'en avoir besoin.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn