[{"data":1,"prerenderedAt":806},["ShallowReactive",2],{"/fr-fr/blog/categories/security":3,"navigation-fr-fr":21,"banner-fr-fr":446,"footer-fr-fr":456,"security-category-page-total-items-fr-fr":694,"security-category-page-featured-fr-fr":695,"security-category-page-3-fr-fr":725},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":11,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"slug":6,"stem":19,"testContent":6,"type":6,"__hash__":20},"blogCategories/fr-fr/blog/categories/security.yml","Security",null,{"template":8,"slug":9,"hide":10},"BlogCategory","security",false,{"name":12},"Sécurité","yml",{},true,"/fr-fr/blog/categories/security",{"title":12,"description":18},"Browse articles related to Sécurité on the GitLab Blog","fr-fr/blog/categories/security","w53e73P2QHMFJINqvUAC204SXUgtVy7XBivdu5WQyqo",{"logo":22,"freeTrial":27,"sales":32,"login":37,"items":42,"search":362,"minimal":397,"duo":416,"switchNav":425,"pricingDeployment":436},{"config":23},{"href":24,"dataGaName":25,"dataGaLocation":26},"/fr-fr/","gitlab logo","header",{"text":28,"config":29},"Commencer un essai gratuit",{"href":30,"dataGaName":31,"dataGaLocation":26},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":33,"config":34},"Contacter l'équipe commerciale",{"href":35,"dataGaName":36,"dataGaLocation":26},"/fr-fr/sales/","sales",{"text":38,"config":39},"Connexion",{"href":40,"dataGaName":41,"dataGaLocation":26},"https://gitlab.com/users/sign_in/","sign in",[43,72,173,178,281,342],{"text":44,"config":45,"menu":47},"Plateforme",{"dataNavLevelOne":46},"platform",{"type":48,"columns":49},"cards",[50,56,64],{"title":44,"description":51,"link":52},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":53,"config":54},"Explorer notre plateforme",{"href":55,"dataGaName":46,"dataGaLocation":26},"/fr-fr/platform/",{"title":57,"description":58,"link":59},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":60,"config":61},"Découvrir GitLab Duo",{"href":62,"dataGaName":63,"dataGaLocation":26},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":65,"description":66,"link":67},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":68,"config":69},"En savoir plus",{"href":70,"dataGaName":71,"dataGaLocation":26},"/fr-fr/why-gitlab/","why gitlab",{"text":73,"left":15,"config":74,"menu":76},"Produit",{"dataNavLevelOne":75},"solutions",{"type":77,"link":78,"columns":82,"feature":152},"lists",{"text":79,"config":80},"Voir toutes les solutions",{"href":81,"dataGaName":75,"dataGaLocation":26},"/fr-fr/solutions/",[83,108,130],{"title":84,"description":85,"link":86,"items":91},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":87},{"icon":88,"href":89,"dataGaName":90,"dataGaLocation":26},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[92,96,99,104],{"text":93,"config":94},"CI/CD",{"href":95,"dataGaLocation":26,"dataGaName":93},"/fr-fr/solutions/continuous-integration/",{"text":57,"config":97},{"href":62,"dataGaLocation":26,"dataGaName":98},"gitlab duo agent platform - product menu",{"text":100,"config":101},"Gestion du code source",{"href":102,"dataGaLocation":26,"dataGaName":103},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":105,"config":106},"Livraison de logiciels automatisée",{"href":89,"dataGaLocation":26,"dataGaName":107},"Automated software delivery",{"title":12,"description":109,"link":110,"items":115},"Livrez du code plus rapidement sans compromettre la sécurité",{"config":111},{"href":112,"dataGaName":113,"dataGaLocation":26,"icon":114},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[116,120,125],{"text":117,"config":118},"Tests de sécurité des applications",{"href":112,"dataGaName":119,"dataGaLocation":26},"Application security testing",{"text":121,"config":122},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":123,"dataGaLocation":26,"dataGaName":124},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":126,"config":127},"Conformité logicielle",{"href":128,"dataGaName":129,"dataGaLocation":26},"/fr-fr/solutions/software-compliance/","software compliance",{"title":131,"link":132,"items":137},"Mesures",{"config":133},{"icon":134,"href":135,"dataGaName":136,"dataGaLocation":26},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[138,142,147],{"text":139,"config":140},"Visibilité et mesures",{"href":135,"dataGaLocation":26,"dataGaName":141},"Visibility and Measurement",{"text":143,"config":144},"Gestion de la chaîne de valeur",{"href":145,"dataGaLocation":26,"dataGaName":146},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":148,"config":149},"Données d'analyse et informations clés",{"href":150,"dataGaLocation":26,"dataGaName":151},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":153,"type":77,"items":154},"GitLab",[155,161,167],{"text":156,"config":157},"Pour les entreprises",{"icon":158,"href":159,"dataGaLocation":26,"dataGaName":160},"Building","/fr-fr/enterprise/","enterprise",{"text":162,"config":163},"Pour les PME",{"icon":164,"href":165,"dataGaLocation":26,"dataGaName":166},"Work","/fr-fr/small-business/","small business",{"text":168,"config":169},"Pour le secteur public",{"icon":170,"href":171,"dataGaLocation":26,"dataGaName":172},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":174,"config":175},"Tarifs",{"href":176,"dataGaName":177,"dataGaLocation":26,"dataNavLevelOne":177},"/fr-fr/pricing/","pricing",{"text":179,"config":180,"menu":182},"Ressources",{"dataNavLevelOne":181},"resources",{"type":77,"link":183,"columns":187,"feature":267},{"text":184,"config":185},"Afficher toutes les ressources",{"href":186,"dataGaName":181,"dataGaLocation":26},"/fr-fr/resources/",[188,221,239],{"title":189,"items":190},"Premiers pas",[191,196,201,206,211,216],{"text":192,"config":193},"Installation",{"href":194,"dataGaName":195,"dataGaLocation":26},"/fr-fr/install/","install",{"text":197,"config":198},"Guides de démarrage",{"href":199,"dataGaName":200,"dataGaLocation":26},"/fr-fr/get-started/","quick setup checklists",{"text":202,"config":203},"Apprentissage",{"href":204,"dataGaLocation":26,"dataGaName":205},"https://university.gitlab.com/","learn",{"text":207,"config":208},"Documentation",{"href":209,"dataGaName":210,"dataGaLocation":26},"https://docs.gitlab.com/","product documentation",{"text":212,"config":213},"Vidéos sur les bonnes pratiques",{"href":214,"dataGaName":215,"dataGaLocation":26},"/fr-fr/getting-started-videos/","best practice videos",{"text":217,"config":218},"Intégrations",{"href":219,"dataGaName":220,"dataGaLocation":26},"/fr-fr/integrations/","integrations",{"title":222,"items":223},"Découvrir",[224,229,234],{"text":225,"config":226},"Témoignages clients",{"href":227,"dataGaName":228,"dataGaLocation":26},"/fr-fr/customers/","customer success stories",{"text":230,"config":231},"Blog",{"href":232,"dataGaName":233,"dataGaLocation":26},"/fr-fr/blog/","blog",{"text":235,"config":236},"Travail à distance",{"href":237,"dataGaName":238,"dataGaLocation":26},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":240,"items":241},"Connecter",[242,247,252,257,262],{"text":243,"config":244},"Services GitLab",{"href":245,"dataGaName":246,"dataGaLocation":26},"/fr-fr/services/","services",{"text":248,"config":249},"Communauté",{"href":250,"dataGaName":251,"dataGaLocation":26},"/community/","community",{"text":253,"config":254},"Forum",{"href":255,"dataGaName":256,"dataGaLocation":26},"https://forum.gitlab.com/","forum",{"text":258,"config":259},"Événements",{"href":260,"dataGaName":261,"dataGaLocation":26},"/events/","events",{"text":263,"config":264},"Partenaires",{"href":265,"dataGaName":266,"dataGaLocation":26},"/fr-fr/partners/","partners",{"config":268,"text":271,"image":272,"link":276},{"background":269,"textColor":270},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":273,"config":274},"carte promo The Source",{"src":275},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":277,"config":278},"Lire les articles les plus récents",{"href":279,"dataGaName":280,"dataGaLocation":26},"/fr-fr/the-source/","the source",{"text":282,"config":283,"menu":285},"Société",{"dataNavLevelOne":284},"company",{"type":77,"columns":286},[287],{"items":288},[289,294,300,302,307,312,317,322,327,332,337],{"text":290,"config":291},"À propos",{"href":292,"dataGaName":293,"dataGaLocation":26},"/fr-fr/company/","about",{"text":295,"config":296,"footerGa":299},"Carrières",{"href":297,"dataGaName":298,"dataGaLocation":26},"/jobs/","jobs",{"dataGaName":298},{"text":258,"config":301},{"href":260,"dataGaName":261,"dataGaLocation":26},{"text":303,"config":304},"Leadership",{"href":305,"dataGaName":306,"dataGaLocation":26},"/company/team/e-group/","leadership",{"text":308,"config":309},"Équipe",{"href":310,"dataGaName":311,"dataGaLocation":26},"/company/team/","team",{"text":313,"config":314},"Manuel",{"href":315,"dataGaName":316,"dataGaLocation":26},"https://handbook.gitlab.com/","handbook",{"text":318,"config":319},"Relations avec les investisseurs",{"href":320,"dataGaName":321,"dataGaLocation":26},"https://ir.gitlab.com/","investor relations",{"text":323,"config":324},"Trust Center",{"href":325,"dataGaName":326,"dataGaLocation":26},"/fr-fr/security/","trust center",{"text":328,"config":329},"Centre pour la transparence de l'IA",{"href":330,"dataGaName":331,"dataGaLocation":26},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":333,"config":334},"Newsletter",{"href":335,"dataGaName":336,"dataGaLocation":26},"/company/contact/#contact-forms","newsletter",{"text":338,"config":339},"Presse",{"href":340,"dataGaName":341,"dataGaLocation":26},"/press/","press",{"text":343,"config":344,"menu":345},"Nous contacter",{"dataNavLevelOne":284},{"type":77,"columns":346},[347],{"items":348},[349,352,357],{"text":33,"config":350},{"href":35,"dataGaName":351,"dataGaLocation":26},"talk to sales",{"text":353,"config":354},"Assistance GitLab",{"href":355,"dataGaName":356,"dataGaLocation":26},"https://support.gitlab.com","support portal",{"text":358,"config":359},"Portail clients GitLab",{"href":360,"dataGaName":361,"dataGaLocation":26},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":363,"login":364,"suggestions":371},"Fermer",{"text":365,"link":366},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":367,"config":368},"GitLab.com",{"href":40,"dataGaName":369,"dataGaLocation":370},"search login","search",{"text":372,"default":373},"Suggestions",[374,376,381,383,388,393],{"text":57,"config":375},{"href":62,"dataGaName":57,"dataGaLocation":370},{"text":377,"config":378},"Suggestions de code (IA)",{"href":379,"dataGaName":380,"dataGaLocation":370},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":93,"config":382},{"href":95,"dataGaName":93,"dataGaLocation":370},{"text":384,"config":385},"GitLab sur AWS",{"href":386,"dataGaName":387,"dataGaLocation":370},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":389,"config":390},"GitLab sur Google Cloud",{"href":391,"dataGaName":392,"dataGaLocation":370},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":394,"config":395},"Pourquoi utiliser GitLab ?",{"href":70,"dataGaName":396,"dataGaLocation":370},"Why GitLab?",{"freeTrial":398,"mobileIcon":403,"desktopIcon":408,"secondaryButton":411},{"text":399,"config":400},"Commencer votre essai gratuit",{"href":401,"dataGaName":31,"dataGaLocation":402},"https://gitlab.com/-/trials/new/","nav",{"altText":404,"config":405},"Icône GitLab",{"src":406,"dataGaName":407,"dataGaLocation":402},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":404,"config":409},{"src":410,"dataGaName":407,"dataGaLocation":402},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":412,"config":413},"Commencer",{"href":414,"dataGaName":415,"dataGaLocation":402},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":417,"mobileIcon":421,"desktopIcon":423},{"text":418,"config":419},"En savoir plus sur GitLab Duo",{"href":62,"dataGaName":420,"dataGaLocation":402},"gitlab duo",{"altText":404,"config":422},{"src":406,"dataGaName":407,"dataGaLocation":402},{"altText":404,"config":424},{"src":410,"dataGaName":407,"dataGaLocation":402},{"button":426,"mobileIcon":431,"desktopIcon":433},{"text":427,"config":428},"/switch",{"href":429,"dataGaName":430,"dataGaLocation":402},"#contact","switch",{"altText":404,"config":432},{"src":406,"dataGaName":407,"dataGaLocation":402},{"altText":404,"config":434},{"src":435,"dataGaName":407,"dataGaLocation":402},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":437,"mobileIcon":442,"desktopIcon":444},{"text":438,"config":439},"Retour aux tarifs",{"href":176,"dataGaName":440,"dataGaLocation":402,"icon":441},"back to pricing","GoBack",{"altText":404,"config":443},{"src":406,"dataGaName":407,"dataGaLocation":402},{"altText":404,"config":445},{"src":410,"dataGaName":407,"dataGaLocation":402},{"title":447,"button":448,"config":453},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":449,"config":450},"S'inscrire à GitLab Transcend le 10 juin",{"href":451,"dataGaName":452,"dataGaLocation":26},"/fr-fr/releases/whats-new/#sign-up","transcend event",{"layout":454,"icon":455,"disabled":10},"release","AiStar",{"data":457},{"text":458,"source":459,"edit":465,"contribute":470,"config":475,"items":480,"minimal":685},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":460,"config":461},"Afficher le code source de la page",{"href":462,"dataGaName":463,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":466,"config":467},"Modifier cette page",{"href":468,"dataGaName":469,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":471,"config":472},"Veuillez contribuer",{"href":473,"dataGaName":474,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":476,"facebook":477,"youtube":478,"linkedin":479},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[481,526,579,623,650],{"title":174,"links":482,"subMenu":497},[483,487,492],{"text":484,"config":485},"Voir les forfaits",{"href":176,"dataGaName":486,"dataGaLocation":464},"view plans",{"text":488,"config":489},"GitLab Premium",{"href":490,"dataGaName":491,"dataGaLocation":464},"/fr-fr/pricing/premium/","why premium",{"text":493,"config":494},"GitLab Ultimate",{"href":495,"dataGaName":496,"dataGaLocation":464},"/fr-fr/pricing/ultimate/","why ultimate",[498],{"title":343,"links":499},[500,502,504,506,511,516,521],{"text":33,"config":501},{"href":35,"dataGaName":36,"dataGaLocation":464},{"text":353,"config":503},{"href":355,"dataGaName":356,"dataGaLocation":464},{"text":358,"config":505},{"href":360,"dataGaName":361,"dataGaLocation":464},{"text":507,"config":508},"Statut",{"href":509,"dataGaName":510,"dataGaLocation":464},"https://status.gitlab.com/","status",{"text":512,"config":513},"Conditions d'utilisation",{"href":514,"dataGaName":515,"dataGaLocation":464},"/terms/","terms of use",{"text":517,"config":518},"Politique de confidentialité",{"href":519,"dataGaName":520,"dataGaLocation":464},"/fr-fr/privacy/","privacy statement",{"text":522,"config":523},"Gérer vos cookies",{"dataGaName":524,"dataGaLocation":464,"id":525,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"title":73,"links":527,"subMenu":536},[528,532],{"text":529,"config":530},"Plateforme DevSecOps",{"href":55,"dataGaName":531,"dataGaLocation":464},"devsecops platform",{"text":533,"config":534},"Développement assisté par l'IA",{"href":62,"dataGaName":535,"dataGaLocation":464},"ai-assisted development",[537],{"title":538,"links":539},"Thèmes",[540,544,549,554,559,564,569,574],{"text":93,"config":541},{"href":542,"dataGaName":543,"dataGaLocation":464},"/fr-fr/topics/ci-cd/","cicd",{"text":545,"config":546},"GitOps",{"href":547,"dataGaName":548,"dataGaLocation":464},"/fr-fr/topics/gitops/","gitops",{"text":550,"config":551},"DevOps",{"href":552,"dataGaName":553,"dataGaLocation":464},"/fr-fr/topics/devops/","devops",{"text":555,"config":556},"Contrôle de version",{"href":557,"dataGaName":558,"dataGaLocation":464},"/fr-fr/topics/version-control/","version control",{"text":560,"config":561},"DevSecOps",{"href":562,"dataGaName":563,"dataGaLocation":464},"/fr-fr/topics/devsecops/","devsecops",{"text":565,"config":566},"Cloud-native",{"href":567,"dataGaName":568,"dataGaLocation":464},"/fr-fr/topics/cloud-native/","cloud native",{"text":570,"config":571},"IA pour la programmation",{"href":572,"dataGaName":573,"dataGaLocation":464},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":575,"config":576},"IA agentique",{"href":577,"dataGaName":578,"dataGaLocation":464},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":580,"links":581},"Solutions",[582,585,587,592,595,598,601,604,607,610,613,618],{"text":117,"config":583},{"href":112,"dataGaName":584,"dataGaLocation":464},"Application Security Testing",{"text":105,"config":586},{"href":89,"dataGaName":90,"dataGaLocation":464},{"text":588,"config":589},"Développement Agile",{"href":590,"dataGaName":591,"dataGaLocation":464},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":100,"config":593},{"href":102,"dataGaName":594,"dataGaLocation":464},"source code management",{"text":93,"config":596},{"href":95,"dataGaName":597,"dataGaLocation":464},"continuous integration & delivery",{"text":143,"config":599},{"href":145,"dataGaName":600,"dataGaLocation":464},"value stream management",{"text":545,"config":602},{"href":603,"dataGaName":548,"dataGaLocation":464},"/fr-fr/solutions/gitops/",{"text":605,"config":606},"Entreprises",{"href":159,"dataGaName":160,"dataGaLocation":464},{"text":608,"config":609},"PME",{"href":165,"dataGaName":166,"dataGaLocation":464},{"text":611,"config":612},"Secteur public",{"href":171,"dataGaName":172,"dataGaLocation":464},{"text":614,"config":615},"Éducation",{"href":616,"dataGaName":617,"dataGaLocation":464},"/fr-fr/solutions/education/","education",{"text":619,"config":620},"Services financiers",{"href":621,"dataGaName":622,"dataGaLocation":464},"/fr-fr/solutions/finance/","financial services",{"title":179,"links":624},[625,627,629,631,634,636,638,640,642,644,646,648],{"text":192,"config":626},{"href":194,"dataGaName":195,"dataGaLocation":464},{"text":197,"config":628},{"href":199,"dataGaName":200,"dataGaLocation":464},{"text":202,"config":630},{"href":204,"dataGaName":205,"dataGaLocation":464},{"text":207,"config":632},{"href":209,"dataGaName":633,"dataGaLocation":464},"docs",{"text":230,"config":635},{"href":232,"dataGaName":233,"dataGaLocation":464},{"text":225,"config":637},{"href":227,"dataGaName":228,"dataGaLocation":464},{"text":235,"config":639},{"href":237,"dataGaName":238,"dataGaLocation":464},{"text":243,"config":641},{"href":245,"dataGaName":246,"dataGaLocation":464},{"text":248,"config":643},{"href":250,"dataGaName":251,"dataGaLocation":464},{"text":253,"config":645},{"href":255,"dataGaName":256,"dataGaLocation":464},{"text":258,"config":647},{"href":260,"dataGaName":261,"dataGaLocation":464},{"text":263,"config":649},{"href":265,"dataGaName":266,"dataGaLocation":464},{"title":282,"links":651},[652,654,656,658,660,662,664,669,674,676,678,680],{"text":290,"config":653},{"href":292,"dataGaName":284,"dataGaLocation":464},{"text":295,"config":655},{"href":297,"dataGaName":298,"dataGaLocation":464},{"text":303,"config":657},{"href":305,"dataGaName":306,"dataGaLocation":464},{"text":308,"config":659},{"href":310,"dataGaName":311,"dataGaLocation":464},{"text":313,"config":661},{"href":315,"dataGaName":316,"dataGaLocation":464},{"text":318,"config":663},{"href":320,"dataGaName":321,"dataGaLocation":464},{"text":665,"config":666},"Développement durable",{"href":667,"dataGaName":668,"dataGaLocation":464},"/sustainability/","Sustainability",{"text":670,"config":671},"Diversité, inclusion et appartenance (DIB)",{"href":672,"dataGaName":673,"dataGaLocation":464},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":323,"config":675},{"href":325,"dataGaName":326,"dataGaLocation":464},{"text":333,"config":677},{"href":335,"dataGaName":336,"dataGaLocation":464},{"text":338,"config":679},{"href":340,"dataGaName":341,"dataGaLocation":464},{"text":681,"config":682},"Déclaration de transparence sur l'esclavage moderne",{"href":683,"dataGaName":684,"dataGaLocation":464},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":686},[687,689,692],{"text":512,"config":688},{"href":514,"dataGaName":515,"dataGaLocation":464},{"text":690,"config":691},"Gestion des cookies",{"dataGaName":524,"dataGaLocation":464,"id":525,"isOneTrustButton":15},{"text":517,"config":693},{"href":519,"dataGaName":520,"dataGaLocation":464},35,{"id":696,"title":697,"authorSlugs":698,"authors":700,"body":702,"category":9,"categorySlug":9,"config":703,"content":706,"date":710,"description":707,"extension":13,"externalUrl":6,"featured":15,"heroImage":709,"isFeatured":15,"meta":715,"navigation":15,"path":716,"publishedDate":710,"rawbody":717,"seo":718,"slug":704,"stem":721,"tagSlugs":722,"tags":723,"template":705,"updatedDate":6,"__hash__":724},"blogPosts/fr-fr/blog/auto-dismiss-vulnerability-management-policy.yml","Réduire les faux positifs à grande échelle grâce aux politiques de rejet automatique",[699],"grant-hickman",[701],"Grant Hickman","Les scanners de sécurité sont indispensables, mais tous les résultats ne nécessitent pas une intervention. Le code de test, les dépendances embarquées, les fichiers générés et les faux positifs connus créent une couche qui masque les vulnérabilités critiques. Les équipes de sécurité perdent des heures à rejeter manuellement les mêmes résultats non pertinents d'un projet et d'un pipeline à l'autre. Résultat : le classement prend plus de temps, une lassitude face aux alertes s'installe et les frictions avec les équipes de développement compromettent l'adoption des scans de sécurité.\n\nLes politiques de rejet automatique des vulnérabilités de GitLab vous permettent de codifier vos décisions de classement une seule fois et de les appliquer automatiquement à chaque exécution du pipeline sur la branche par défaut. Définissez des critères basés sur le chemin de fichier, le répertoire ou l'identifiant de vulnérabilité (vulnérabilités ou expositions communes – CVE, CWE), choisissez un motif de rejet et laissez GitLab faire le reste.\n\n## Pourquoi utiliser les politiques de rejet automatique ?\nLes politiques de rejet automatique des vulnérabilités permettent aux équipes de sécurité :\n- **D'éliminer les faux positifs du classement :** rejetez automatiquement les résultats dans le code de test, les dépendances embarquées et les fichiers générés.\n- **D'appliquer des décisions à grande échelle :** déployez des politiques centralisées pour rejeter les faux positifs connus dans l'ensemble de votre organisation.\n- **De garantir la transparence des audits :** chaque résultat rejeté automatiquement inclut un motif documenté et un lien vers la politique qui l'a déclenché.\n- **De conserver l'historique :** contrairement aux exclusions de scanners, les vulnérabilités rejetées restent dans votre rapport, ce qui vous permet de réexaminer vos décisions si les conditions évoluent.\n\n## Fonctionnement des politiques de rejet automatique\n\n1. **Définissez votre politique** dans un fichier YAML de politique de gestion des vulnérabilités. Indiquez les critères de correspondance (chemin de fichier, répertoire ou identifiant) et un motif de rejet.\n\n2. **Fusionnez et activez.** Créez la politique via **Sécurisation > Politiques > Nouvelle politique > Politique de gestion des vulnérabilités**. Fusionnez la merge request pour l'activer.\n3. **Exécutez votre pipeline.** À chaque exécution du pipeline sur la branche par défaut, les vulnérabilités correspondantes se voient automatiquement attribuer le statut « Rejeté » avec le motif indiqué. Jusqu'à 1 000 vulnérabilités sont traitées par exécution.\n4. **Mesurez l'impact.** Filtrez votre rapport de vulnérabilités avec le statut « Rejeté » pour voir exactement ce qui a été traité et vérifier que les bons résultats sont pris en charge.\n\n## Cas d'utilisation avec des configurations prêtes à l'emploi\n\nChaque exemple ci-dessous inclut une configuration de politique que vous pouvez copier, personnaliser et appliquer immédiatement.\n\n### 1. Rejeter les vulnérabilités du code de test\n\nLes scanners de test statique de sécurité des applications (SAST) et de dépendances signalent des identifiants codés en dur, des données de test non sécurisées et des dépendances de développement dans les répertoires de test. Ces résultats ne représentent pas des risques en production.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Dismiss test code vulnerabilities\"\n    description: \"Auto-dismiss findings in test directories\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: file_path\n            value: \"test/**/*\"\n      - type: detected\n        criteria:\n          - type: file_path\n            value: \"tests/**/*\"\n      - type: detected\n        criteria:\n          - type: file_path\n            value: \"spec/**/*\"\n      - type: detected\n        criteria:\n          - type: directory\n            value: \"__tests__/*\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: used_in_tests\n\n```\n\n### 2. Rejeter le code tiers et embarqué\n\nLes vulnérabilités dans les répertoires `vendor/`, `third_party/` ou `node_modules` versionnés sont gérées en amont, et votre équipe ne peut pas y toucher.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Dismiss vendored dependency findings\"\n    description: \"Findings in vendored code are managed upstream\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: directory\n            value: \"vendor/*\"\n      - type: detected\n        criteria:\n          - type: directory\n            value: \"third_party/*\"\n      - type: detected\n        criteria:\n          - type: directory\n            value: \"vendored/*\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: not_applicable\n\n```\n\n### 3. Rejeter les CVE identifiées comme faux positifs\n\nCertaines CVE sont signalées de manière récurrente, mais ne s'appliquent pas à votre contexte d'utilisation. Les équipes les rejettent manuellement à chaque apparition. Remplacez les CVE de l'exemple ci-dessous par les vôtres.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Dismiss known false positive CVEs\"\n    description: \"CVEs confirmed as false positives for our environment\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CVE-2023-44487\"\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CVE-2024-29041\"\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CVE-2023-26136\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: false_positive\n\n```\n\n### 4. Rejeter le code créé et généré automatiquement\n\nLes générateurs Protobuf, gRPC, OpenAPI et les outils de génération automatique de structure de code ORM produisent des fichiers contenant des motifs signalés que votre équipe ne peut pas corriger.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Dismiss generated code findings\"\n    description: \"Generated files are not authored by us\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: directory\n            value: \"generated/*\"\n      - type: detected\n        criteria:\n          - type: file_path\n            value: \"**/*.pb.go\"\n      - type: detected\n        criteria:\n          - type: file_path\n            value: \"**/*.generated.*\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: not_applicable\n\n```\n\n### 5. Rejeter les vulnérabilités atténuées par l'infrastructure\n\nCette politique concerne les classes de vulnérabilités telles que XSS (CWE-79) ou l'injection SQL (CWE-89) déjà couvertes par des règles WAF ou une protection au niveau de l'exécution. N'utilisez cette politique que lorsque les contrôles d'atténuation sont vérifiés et appliqués de manière systématique.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Dismiss CWEs mitigated by WAF\"\n    description: \"XSS and SQLi mitigated by WAF rules\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CWE-79\"\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CWE-89\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: mitigating_control\n\n```\n\n### 6. Rejeter des familles de CVE dans l'ensemble de votre organisation\n\nVotre équipe a déjà évalué une série de CVE liées à une bibliothèque très répandue ? Appliquez la politique au niveau du groupe pour les rejeter dans des dizaines de projets. Le motif générique (par exemple, `CVE-2021-44*`) correspond à toutes les CVE avec ce préfixe.\n\n```yaml\nvulnerability_management_policy:\n  - name: \"Accept risk for log4j CVE family\"\n    description: \"Log4j CVEs mitigated by version pinning and WAF\"\n    enabled: true\n    rules:\n      - type: detected\n        criteria:\n          - type: identifier\n            value: \"CVE-2021-44*\"\n    actions:\n      - type: auto_dismiss\n        dismissal_reason: acceptable_risk\n\n```\n\n## Référence\n\n| Paramètre | Détails |\n|-----------|---------|\n| **Types de critères** | `file_path` (motifs glob, par exemple `test/**/*`), `directory` (par exemple `vendor/*`), `identifier` (CVE/CWE avec caractères génériques, par exemple `CVE-2023-*`) |\n| **Motifs de rejet** | `acceptable_risk`, `false_positive`, `mitigating_control`, `used_in_tests`, `not_applicable` |\n| **Logique des critères** | Plusieurs critères dans une règle = ET (tous doivent correspondre). Plusieurs règles dans une politique = OU (au moins une doit correspondre). |\n| **Limites** | 3 critères par règle, 5 règles par politique, 5 politiques par projet de politique de sécurité. Les actions de politique de gestion des vulnérabilités traitent 1 000 vulnérabilités par exécution de pipeline dans le projet cible, jusqu'à ce que toutes les vulnérabilités correspondantes soient traitées. |\n| **Statuts concernés** | Nécessite un classement, Confirmé |\n| **Portée** | Au niveau du projet ou du groupe (une politique de groupe s'applique à tous les projets) |\n\n## Premiers pas\nVoici comment définir vos premières politiques de rejet automatique :\n\n1. **Identifiez les faux positifs.** Ouvrez votre rapport de vulnérabilités et triez par « Nécessite un classement ». Recherchez des tendances : fichiers de test, code tiers, la même CVE dans plusieurs projets.\n\n2. **Choisissez un scénario.** Commencez par le cas d'utilisation ci-dessus qui couvre le plus grand nombre de résultats.\n\n3. **Enregistrez votre référence initiale.** Notez le nombre de vulnérabilités avec le statut « Nécessite un classement » avant de créer une politique.\n\n4. **Créez et activez.** Accédez à **Sécurisation > Politiques > Nouvelle politique > Politique de gestion des vulnérabilités**. Collez la configuration du cas d'utilisation ci-dessus, puis fusionnez la merge request.\n\n5. **Validez les résultats.** Après la prochaine exécution du pipeline sur la branche par défaut, filtrez par statut « Rejeté » pour confirmer que les bons résultats ont été traités.\n\nPour tous les détails de configuration, consultez la [documentation sur les politiques de gestion des vulnérabilités](https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/#auto-dismiss-policies).\n\n> Vous souhaitez maîtriser la gestion des faux positifs liés aux vulnérabilités ? [Démarrez un essai gratuit de GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/) et configurez votre première politique de rejet automatique dès aujourd'hui.\n",{"slug":704,"featured":15,"template":705},"auto-dismiss-vulnerability-management-policy","BlogPost",{"title":697,"description":707,"authors":708,"heroImage":709,"date":710,"category":9,"tags":711,"body":702},"Découvrez comment filtrer les faux positifs dans les résultats des scanners et vous concentrer sur les vulnérabilités critiques grâce à la sécurité GitLab, avec des cas d'utilisation et des templates prêts à l'emploi.",[701],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png","2026-05-01",[9,712,560,713,714],"tutorial","features","product",{},"/fr-fr/blog/auto-dismiss-vulnerability-management-policy","seo:\n  title: Réduire les faux positifs avec le rejet automatique\n  description: >-\n    Découvrez comment filtrer les faux positifs et vous concentrer sur les vulnérabilités critiques grâce aux politiques de rejet automatique de GitLab.\nconfig:\n  slug: auto-dismiss-vulnerability-management-policy\n  featured: true\n  template: BlogPost\ncontent:\n  title: Réduire les faux positifs à grande échelle grâce aux politiques de rejet automatique\n  description: >-\n    Découvrez comment filtrer les faux positifs dans les résultats des scanners et vous concentrer sur les vulnérabilités critiques grâce à la sécurité GitLab, avec des cas d'utilisation et des templates prêts à l'emploi.\n  authors:\n    - Grant Hickman\n  heroImage: https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png\n  date: '2026-05-01'\n  category: security\n  tags:\n    - security\n    - tutorial\n    - DevSecOps\n    - features\n    - product\n  body: >\n    Les scanners de sécurité sont indispensables, mais tous les résultats ne nécessitent pas une intervention. Le code de test, les dépendances embarquées, les fichiers générés et les faux positifs connus créent une couche qui masque les vulnérabilités critiques. Les équipes de sécurité perdent des heures à rejeter manuellement les mêmes résultats non pertinents d'un projet et d'un pipeline à l'autre. Résultat : le classement prend plus de temps, une lassitude face aux alertes s'installe et les frictions avec les équipes de développement compromettent l'adoption des scans de sécurité.\n\n\n    Les politiques de rejet automatique des vulnérabilités de GitLab vous permettent de codifier vos décisions de classement une seule fois et de les appliquer automatiquement à chaque exécution du pipeline sur la branche par défaut. Définissez des critères basés sur le chemin de fichier, le répertoire ou l'identifiant de vulnérabilité (vulnérabilités ou expositions communes – CVE, CWE), choisissez un motif de rejet et laissez GitLab faire le reste.\n\n\n    ## Pourquoi utiliser les politiques de rejet automatique ?\n\n    Les politiques de rejet automatique des vulnérabilités permettent aux équipes de sécurité :\n\n    - **D'éliminer les faux positifs du classement :** rejetez automatiquement les résultats dans le code de test, les dépendances embarquées et les fichiers générés.\n\n    - **D'appliquer des décisions à grande échelle :** déployez des politiques centralisées pour rejeter les faux positifs connus dans l'ensemble de votre organisation.\n\n    - **De garantir la transparence des audits :** chaque résultat rejeté automatiquement inclut un motif documenté et un lien vers la politique qui l'a déclenché.\n\n    - **De conserver l'historique :** contrairement aux exclusions de scanners, les vulnérabilités rejetées restent dans votre rapport, ce qui vous permet de réexaminer vos décisions si les conditions évoluent.\n\n\n    ## Fonctionnement des politiques de rejet automatique\n\n\n    1. **Définissez votre politique** dans un fichier YAML de politique de gestion des vulnérabilités. Indiquez les critères de correspondance (chemin de fichier, répertoire ou identifiant) et un motif de rejet.\n\n\n    2. **Fusionnez et activez.** Créez la politique via **Sécurisation > Politiques > Nouvelle politique > Politique de gestion des vulnérabilités**. Fusionnez la merge request pour l'activer.\n\n    3. **Exécutez votre pipeline.** À chaque exécution du pipeline sur la branche par défaut, les vulnérabilités correspondantes se voient automatiquement attribuer le statut « Rejeté » avec le motif indiqué. Jusqu'à 1 000 vulnérabilités sont traitées par exécution.\n\n    4. **Mesurez l'impact.** Filtrez votre rapport de vulnérabilités avec le statut « Rejeté » pour voir exactement ce qui a été traité et vérifier que les bons résultats sont pris en charge.\n\n\n    ## Cas d'utilisation avec des configurations prêtes à l'emploi\n\n\n    Chaque exemple ci-dessous inclut une configuration de politique que vous pouvez copier, personnaliser et appliquer immédiatement.\n\n\n    ### 1. Rejeter les vulnérabilités du code de test\n\n\n    Les scanners de test statique de sécurité des applications (SAST) et de dépendances signalent des identifiants codés en dur, des données de test non sécurisées et des dépendances de développement dans les répertoires de test. Ces résultats ne représentent pas des risques en production.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Dismiss test code vulnerabilities\"\n        description: \"Auto-dismiss findings in test directories\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: file_path\n                value: \"test/**/*\"\n          - type: detected\n            criteria:\n              - type: file_path\n                value: \"tests/**/*\"\n          - type: detected\n            criteria:\n              - type: file_path\n                value: \"spec/**/*\"\n          - type: detected\n            criteria:\n              - type: directory\n                value: \"__tests__/*\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: used_in_tests\n\n    ```\n\n\n    ### 2. Rejeter le code tiers et embarqué\n\n\n    Les vulnérabilités dans les répertoires `vendor/`, `third_party/` ou `node_modules` versionnés sont gérées en amont, et votre équipe ne peut pas y toucher.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Dismiss vendored dependency findings\"\n        description: \"Findings in vendored code are managed upstream\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: directory\n                value: \"vendor/*\"\n          - type: detected\n            criteria:\n              - type: directory\n                value: \"third_party/*\"\n          - type: detected\n            criteria:\n              - type: directory\n                value: \"vendored/*\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: not_applicable\n\n    ```\n\n\n    ### 3. Rejeter les CVE identifiées comme faux positifs\n\n\n    Certaines CVE sont signalées de manière récurrente, mais ne s'appliquent pas à votre contexte d'utilisation. Les équipes les rejettent manuellement à chaque apparition. Remplacez les CVE de l'exemple ci-dessous par les vôtres.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Dismiss known false positive CVEs\"\n        description: \"CVEs confirmed as false positives for our environment\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CVE-2023-44487\"\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CVE-2024-29041\"\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CVE-2023-26136\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: false_positive\n\n    ```\n\n\n    ### 4. Rejeter le code créé et généré automatiquement\n\n\n    Les générateurs Protobuf, gRPC, OpenAPI et les outils de génération automatique de structure de code ORM produisent des fichiers contenant des motifs signalés que votre équipe ne peut pas corriger.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Dismiss generated code findings\"\n        description: \"Generated files are not authored by us\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: directory\n                value: \"generated/*\"\n          - type: detected\n            criteria:\n              - type: file_path\n                value: \"**/*.pb.go\"\n          - type: detected\n            criteria:\n              - type: file_path\n                value: \"**/*.generated.*\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: not_applicable\n\n    ```\n\n\n    ### 5. Rejeter les vulnérabilités atténuées par l'infrastructure\n\n\n    Cette politique concerne les classes de vulnérabilités telles que XSS (CWE-79) ou l'injection SQL (CWE-89) déjà couvertes par des règles WAF ou une protection au niveau de l'exécution. N'utilisez cette politique que lorsque les contrôles d'atténuation sont vérifiés et appliqués de manière systématique.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Dismiss CWEs mitigated by WAF\"\n        description: \"XSS and SQLi mitigated by WAF rules\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CWE-79\"\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CWE-89\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: mitigating_control\n\n    ```\n\n\n    ### 6. Rejeter des familles de CVE dans l'ensemble de votre organisation\n\n\n    Votre équipe a déjà évalué une série de CVE liées à une bibliothèque très répandue ? Appliquez la politique au niveau du groupe pour les rejeter dans des dizaines de projets. Le motif générique (par exemple, `CVE-2021-44*`) correspond à toutes les CVE avec ce préfixe.\n\n\n    ```yaml\n\n    vulnerability_management_policy:\n      - name: \"Accept risk for log4j CVE family\"\n        description: \"Log4j CVEs mitigated by version pinning and WAF\"\n        enabled: true\n        rules:\n          - type: detected\n            criteria:\n              - type: identifier\n                value: \"CVE-2021-44*\"\n        actions:\n          - type: auto_dismiss\n            dismissal_reason: acceptable_risk\n\n    ```\n\n\n    ## Référence\n\n\n    | Paramètre | Détails |\n\n    |-----------|---------|\n\n    | **Types de critères** | `file_path` (motifs glob, par exemple `test/**/*`), `directory` (par exemple `vendor/*`), `identifier` (CVE/CWE avec caractères génériques, par exemple `CVE-2023-*`) |\n\n    | **Motifs de rejet** | `acceptable_risk`, `false_positive`, `mitigating_control`, `used_in_tests`, `not_applicable` |\n\n    | **Logique des critères** | Plusieurs critères dans une règle = ET (tous doivent correspondre). Plusieurs règles dans une politique = OU (au moins une doit correspondre). |\n\n    | **Limites** | 3 critères par règle, 5 règles par politique, 5 politiques par projet de politique de sécurité. Les actions de politique de gestion des vulnérabilités traitent 1 000 vulnérabilités par exécution de pipeline dans le projet cible, jusqu'à ce que toutes les vulnérabilités correspondantes soient traitées. |\n\n    | **Statuts concernés** | Nécessite un classement, Confirmé |\n\n    | **Portée** | Au niveau du projet ou du groupe (une politique de groupe s'applique à tous les projets) |\n\n\n    ## Premiers pas\n\n    Voici comment définir vos premières politiques de rejet automatique :\n\n\n    1. **Identifiez les faux positifs.** Ouvrez votre rapport de vulnérabilités et triez par « Nécessite un classement ». Recherchez des tendances : fichiers de test, code tiers, la même CVE dans plusieurs projets.\n\n\n    2. **Choisissez un scénario.** Commencez par le cas d'utilisation ci-dessus qui couvre le plus grand nombre de résultats.\n\n\n    3. **Enregistrez votre référence initiale.** Notez le nombre de vulnérabilités avec le statut « Nécessite un classement » avant de créer une politique.\n\n\n    4. **Créez et activez.** Accédez à **Sécurisation > Politiques > Nouvelle politique > Politique de gestion des vulnérabilités**. Collez la configuration du cas d'utilisation ci-dessus, puis fusionnez la merge request.\n\n\n    5. **Validez les résultats.** Après la prochaine exécution du pipeline sur la branche par défaut, filtrez par statut « Rejeté » pour confirmer que les bons résultats ont été traités.\n\n\n    Pour tous les détails de configuration, consultez la [documentation sur les politiques de gestion des vulnérabilités](https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/#auto-dismiss-policies).\n\n\n    > Vous souhaitez maîtriser la gestion des faux positifs liés aux vulnérabilités ? [Démarrez un essai gratuit de GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/) et configurez votre première politique de rejet automatique dès aujourd'hui.\n",{"title":719,"description":720},"Réduire les faux positifs avec le rejet automatique","Découvrez comment filtrer les faux positifs et vous concentrer sur les vulnérabilités critiques grâce aux politiques de rejet automatique de GitLab.","fr-fr/blog/auto-dismiss-vulnerability-management-policy",[9,712,563,713,714],[9,712,560,713,714],"3qRgB5pOIcbETU0PeB-NntZDBzNI83cp4IGH4cWFLJI",[726,735,744,753,762,771,779,788,796],{"content":727,"config":733},{"title":728,"heroImage":729,"category":9,"description":730,"authors":731},"Réconcilier visibilité et sécurité dans la chaîne logicielle","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1749661926/Blog/Hero%20Images/security-patch-blog-image-r2-0506-700x400-fy25_2x.jpg","Découvrez comment tirer parti de GitLab 18.2.0 pour une couverture d'analyse de sécurité complète alliée à une visualisation claire des dépendances transitives.",[732],"Salman Ladha",{"externalUrl":-1,"slug":734},"bridging-the-visibility-gap-in-software-supply-chain-security",{"content":736,"config":742},{"title":737,"heroImage":738,"category":9,"description":739,"authors":740},"GitLab révèle une série d'attaques sur Bittensor via PyPI","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/f_auto,q_auto,c_lfill/v1750098739/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_282096522_securitycompliance.jpeg_1750098739024.jpg","L'équipe de recherche dédiée aux vulnérabilités de GitLab a identifié une série d'attaques de typosquatting avec des paquets PyPI qui avaient pour objectif de voler de la cryptomonnaie dans des portefeuilles Bittensor en détournant des opérations de staking.",[741],"Michael Henriksen",{"externalUrl":-1,"slug":743},"gitlab-uncovers-bittensor-theft-campaign-via-pypi",{"content":745,"config":751},{"title":746,"heroImage":747,"category":9,"description":748,"authors":749},"Présentation des frameworks de conformité personnalisés dans GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1750099268/Blog/Hero%20Images/Blog/Hero%20Images/GitLab_Blog_Header_v4_YBzFAgt2EAkqQfqxNFEgj_1750099267940.svg","Réduisez le suivi manuel, accélérez la préparation aux audits et appliquez les contrôles plus rapidement, directement depuis les workflows DevSecOps de GitLab.",[750,732],"Ian Khor",{"externalUrl":-1,"slug":752},"introducing-custom-compliance-frameworks-in-gitlab",{"content":754,"config":760},{"title":755,"heroImage":756,"category":9,"description":757,"authors":758},"Comment sécuriser et optimiser votre dépôt Maven dans GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666187/Blog/Hero%20Images/blog-image-template-1800x945__6_.png","Optimisez votre workflow DevSecOps en adoptant des bonnes pratiques, en maîtrisant des techniques avancées et en découvrant nos prochaines fonctionnalités.",[759],"Tim Rizzi",{"externalUrl":-1,"slug":761},"tutorial-secure-and-optimize-your-maven-repository-in-gitlab",{"content":763,"config":769},{"title":764,"heroImage":765,"category":9,"description":766,"authors":767},"Intégrez la conformité à vos workflows DevSecOps avec GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097104/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750097104092.png","Découvrez comment les frameworks de conformité personnalisés de GitLab transforment vos exigences réglementaires en composants intégrés et automatisés dans vos workflows.",[768],"Fernando Diaz",{"externalUrl":-1,"slug":770},"how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops",{"content":772,"config":777},{"title":773,"heroImage":774,"category":9,"description":775,"authors":776},"GitLab + HackerOne : pour une sécurité applicative renforcée","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097503/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2810%29_5ET24Q6i8ihqrAOkge7a1R_1750097503214.png","Découvrez le partenariat entre GitLab et HackerOne et comment cette intégration peut vous aider à renforcer la sécurité de vos applications.",[768],{"externalUrl":-1,"slug":778},"enhance-application-security-with-gitlab-hackerone",{"content":780,"config":786},{"title":781,"heroImage":782,"category":9,"description":783,"authors":784},"Gestion des tokens sur GitLab : guide complet","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097408/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750097407860.jpg","Découvrez le processus de gestion, d'identification et de sécurisation des tokens et renforcez votre sécurité tout au long du cycle de développement logiciel.",[785],"Hakeem Abdul-Razak",{"externalUrl":-1,"slug":787},"the-ultimate-guide-to-token-management-at-gitlab",{"content":789,"config":794},{"title":790,"heroImage":791,"category":9,"description":792,"authors":793},"Mise en conformité SOC 2 : GitLab vous simplifie la tâche","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099576/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1172300481_IGPi3TS4VzFgcqhvEdBlR_1750099575518.jpg","Découvrez les fonctionnalités de sécurité applicative de la plateforme DevSecOps de GitLab pour vous conformer aux exigences de la norme SOC 2.",[768],{"externalUrl":-1,"slug":795},"guide-to-fulfilling-soc-2-security-requirements-with-gitlab",{"content":797,"config":804},{"title":798,"heroImage":799,"category":9,"description":800,"authors":801},"Scans de sécurité : comment choisir la bonne approche","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097969/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_282096522_securitycompliance.jpeg_1750097968823.jpg","Découvrez les principes de base, les configurations, ainsi que les avantages et les inconvénients des scans de sécurité.",[802,803],"Matt Genelin","Mathias Ewald",{"externalUrl":-1,"slug":805},"how-to-choose-the-right-security-scanning-approach",1777935006368]