From 0e53b88694d017644ae72459b297d48395a91cc1 Mon Sep 17 00:00:00 2001 From: Emmanuel Knafo Date: Thu, 23 Apr 2026 12:26:44 -0400 Subject: [PATCH 1/2] fix(workflows): correct SPDX submission path and add French translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix SCA-Microsoft-SBOM.yml filePath to buildOutput/_manifest/spdx_2.2/ - add continue-on-error to cicd.yml container-build-publish job - add French translation of ghas-mdc-devsecops.html with language switcher - remove stale demo-end-2-end.txt Fixes #51 🔧 - Generated by Copilot --- .github/workflows/SCA-Microsoft-SBOM.yml | 2 +- .github/workflows/cicd.yml | 2 + demo-end-2-end.txt | 1 - docs/ghas-mdc-devsecops-fr.html | 1356 ++++++++++++++++++++++ docs/ghas-mdc-devsecops.html | 39 + 5 files changed, 1398 insertions(+), 2 deletions(-) delete mode 100644 demo-end-2-end.txt create mode 100644 docs/ghas-mdc-devsecops-fr.html diff --git a/.github/workflows/SCA-Microsoft-SBOM.yml b/.github/workflows/SCA-Microsoft-SBOM.yml index 00e0304..4a202fe 100644 --- a/.github/workflows/SCA-Microsoft-SBOM.yml +++ b/.github/workflows/SCA-Microsoft-SBOM.yml @@ -43,4 +43,4 @@ jobs: - name: SBOM upload uses: advanced-security/spdx-dependency-submission-action@5530bab9ee4bbe66420ce8280624036c77f89746 # v0.1.1 with: - filePath: "_manifest/spdx_2.2/" \ No newline at end of file + filePath: "buildOutput/_manifest/spdx_2.2/" \ No newline at end of file diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index cac8f04..c8a3ef3 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -212,6 +212,8 @@ jobs: container-build-publish: name: Build and Publish Container Image uses: devopsabcs-engineering/devsecops-reusable-workflows/.github/workflows/container.yml@main + # Allow SPDX dependency submission failures in the reusable workflow to not block the pipeline + continue-on-error: true with: # This is used for tagging the container image version: v1.0.0 diff --git a/demo-end-2-end.txt b/demo-end-2-end.txt deleted file mode 100644 index e6620ac..0000000 --- a/demo-end-2-end.txt +++ /dev/null @@ -1 +0,0 @@ -demo active tous les workflows de securite incluant GHAS + custom (partie tierce) \ No newline at end of file diff --git a/docs/ghas-mdc-devsecops-fr.html b/docs/ghas-mdc-devsecops-fr.html new file mode 100644 index 0000000..925e163 --- /dev/null +++ b/docs/ghas-mdc-devsecops-fr.html @@ -0,0 +1,1356 @@ + + + + + +IA agentique pour le DevSecOps | GHAS + GHCP + MDC + + + + + + + + +
+ EN + FR +
+ + + + +
+
Productivité des développeurs — GitHub Technical Insiders
+

IA agentique pour le DevSecOps

+

Transformer la sécurité avec GitHub Advanced Security + GitHub Copilot + Microsoft Defender pour le cloud

+

+ 📅 2 avril 2026 + 👤 Calin Lupas & Emmanuel Knafo + 🏢 Microsoft Canada +

+
+ + + + + + +
+ + + + +
+

01 Pourquoi le DevSecOps est essentiel aujourd'hui

+

La chaîne d'approvisionnement logicielle est le principal vecteur d'attaque. La sécurité doit être intégrée à chaque phase du développement.

+ +

Le paysage des menaces

+ +
+
+ 🔥 +

SolarWinds

+

Chaîne d'approvisionnement vulnérable et machine de build compromise — 18 000 clients touchés

+
+
+ 🔑 +

Codecov

+

Secrets de développeurs divulgués — Jusqu'à 29 000 clients à risque

+
+
+ 🪵 +

Log4j

+

Code source vulnérable — 40 % des réseaux d'entreprise à l'échelle mondiale. 100 attaques/minute au pic.

+
+
+ +
+
+
N° 1
+
Les applications sont le premier vecteur d'attaque
Verizon DBIR 2024
+
+
+
65 %
+
des vulnérabilités persistent après 3 mois
Veracode SOSS 2024
+
+
+
5 %
+
des entreprises ont évité les attaques d'applis web en production
Contrast Security 2024
+
+
+
70,8 %
+
des organisations ont une dette de sécurité
Veracode SOSS 2024
+
+
+ +

Alignement sur les normes de l'industrie

+
+ + + + + + + + +
CadrePortéePertinence
NIST SSDFCadre de développement logiciel sécuriséRéférence pour le secteur public et privé aux É.-U.
SLSANiveaux de la chaîne d'approvisionnement pour les artefacts logicielsIntégrité de la compilation et vérification de provenance
Cyber Resilience Act (CRA)Législation européenne sur la sécurité logicielleObligatoire pour les produits logiciels sur le marché de l'UE
OpenSSF ScorecardScore de posture de sécurité open sourceÉvaluation automatisée des risques liés aux dépendances
+
+ +

L'économie du « Shift Left »

+ +
+
+
80 $
+
Développement
+
+
+
240 $
+
Compilation (3×)
+
+
+
960 $
+
Test / AQ (12×)
+
+
+
7 600 $
+
Production (95×)
+
+
+
4,88 M$
+
Brèche (moy.)
IBM 2024
+
+
+ +
+ + + + + + + + +
MétriqueValeurSource
Multiplicateur de coût100× plus cher à corriger en production vs. en développementNIST & IBM Systems Sciences Institute
Croissance des exploits180 % de croissance de l'exploitation de vulnérabilités comme vecteur d'accès initialVerizon DBIR 2024
Pression de livraison79 % affirment que les équipes DevOps subissent une pression croissante pour raccourcir les cyclesContrast Security 2024
Dette de sécurité70,8 % des organisations ont une dette de sécurité ; 89,4 % dans le code propriétaireVeracode SOSS 2024
+
+ +

Du DevOps → au DevSecOps agentique

+ +
+
+graph LR
+    A["DevOps\nPersonnes + Processus + Tech\n→ Livraison continue de valeur"] -->
+    B["DevSecOps\nSécurité en responsabilité partagée\n→ Livraison continue sécurisée"] -->
+    C["DevOps agentique\nAgents IA comme coéquipiers\n→ Automatiser et accélérer"] -->
+    D["DevSecOps agentique\nAgents IA avec sécurité intégrée\n→ Livraison sécurisée accélérée par l'IA"]
+
+    style A fill:#1e3a5f,stroke:#3b82f6,stroke-width:2px,color:#e6edf3
+    style B fill:#1e1b4b,stroke:#4f46e5,stroke-width:2px,color:#e6edf3
+    style C fill:#3b0764,stroke:#7c3aed,stroke-width:2px,color:#e6edf3
+    style D fill:#064e3b,stroke:#059669,stroke-width:3px,color:#e6edf3
+    
+
+ +

Trois obstacles — résolus par le DevSecOps agentique

+
+
+ 🏢 +

Cloisonnement organisationnel

+

Équipes de sécurité isolées de l'ingénierie → Les agents intègrent la sécurité dans le flux de travail des développeurs

+
+
+ 📚 +

Lacunes en compétences

+

Les développeurs manquent d'expertise en sécurité → Les agents fournissent une formation juste-à-temps

+
+
+ 🔧 +

Friction des outils

+

Les outils de sécurité ne sont pas conçus pour les développeurs → Les agents détectent, expliquent et corrigent en temps réel

+
+
+
+ + + + +
+

02 GitHub Advanced Security — En profondeur

+

GitHub est la plus grande plateforme de développeurs au monde avec environ 150 millions de développeurs. GHAS apporte une sécurité native, de première partie, directement dans cette plateforme — pas ajoutée après coup, mais intégrée dès la conception. La mission : transférer le fardeau de votre équipe vers vos outils.

+ +

Structure du produit (après avril 2025)

+

Annoncé le 4 mars 2025, en disponibilité générale le 1er avril 2025 — GHAS restructuré en deux produits autonomes, désormais disponibles sur les forfaits GitHub Team :

+ +
+ + + + + + +
ProduitInclusTarif
GitHub Secret ProtectionAnalyse de secrets, protection au push, détection générique par IA, modèles personnalisés, contournement délégué, vérifications de validité19 $/mois par contributeur actif
GitHub Code SecurityAnalyse de code CodeQL, Copilot Autofix, Dependabot, campagnes de sécurité, SARIF tiers30 $/mois par contributeur actif
+
+
Note GHES : Sur GitHub Enterprise Server, GHAS reste un module complémentaire groupé à la licence Enterprise et n'a pas été restructuré en produits autonomes Secret Protection / Code Security.
+ +

🔒 Prévenir : Secret Protection et Push Protection

+
💡 Les identifiants volés ou divulgués restent le vecteur d'attaque initial N° 1 dans les violations de données, responsables de la plus grande part d'incidents année après année. — IBM Coût d'une violation de données 2021 et 2023
+ +
+
+flowchart TD
+    A["Le développeur pousse du code"] --> B{"Scanner\nPush Protection"}
+    B -->|Aucun secret trouvé| C["✅ Push réussi"]
+    B -->|Secret détecté| D["🚫 Push BLOQUÉ"]
+    D --> E["Le développeur voit :\nType de secret, Fichier, Ligne, Options"]
+    E --> F["Supprimer le secret"]
+    E --> G["Marquer comme faux positif"]
+    E --> H["Demander un contournement délégué"]
+    H --> I["Réviseur de sécurité notifié"]
+    I --> J{"Décision du réviseur"}
+    J -->|Approuver| K["Push autorisé + Piste d'audit"]
+    J -->|Refuser| L["Push reste bloqué"]
+
+    style A fill:#1e1b4b,stroke:#4f46e5,color:#e6edf3
+    style B fill:#3b0764,stroke:#7c3aed,color:#e6edf3
+    style C fill:#064e3b,stroke:#059669,color:#e6edf3
+    style D fill:#881337,stroke:#e11d48,color:#e6edf3
+    style E fill:#78350f,stroke:#d97706,color:#e6edf3
+    style F fill:#064e3b,stroke:#059669,color:#e6edf3
+    style G fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style H fill:#3b0764,stroke:#7c3aed,color:#e6edf3
+    style K fill:#064e3b,stroke:#059669,color:#e6edf3
+    style L fill:#881337,stroke:#e11d48,color:#e6edf3
+    
+
+ +
+ + + + + + + + + + + +
CapacitéDescription
Modèles partenairesPlus de 200 modèles partenaires couvrant plus de 400 types de jetons de fournisseurs cloud, plateformes SaaS et registres de paquets
Copilot Secret ScanningDétection par IA/ML de secrets non structurés — mots de passe, chaînes de connexion, identifiants génériques
Modèles personnalisésExpressions régulières définies par l'organisation pour les formats de secrets internes
Vérifications de validitéVérification automatisée via les API partenaires pour confirmer si un secret détecté est encore actif
Push ProtectionBlocage en temps réel côté serveur avant que les secrets n'atteignent le dépôt
Contournement déléguéFlux de gouvernance nécessitant l'approbation de l'équipe de sécurité pour les exceptions
Évaluation gratuite des risques liés aux secretsAnalyse ponctuelle de tous les dépôts (incl. privés/internes/archivés) — aucune licence requise
+
+ +

🔍 Détecter : Analyse de code avec CodeQL

+

CodeQL est le moteur d'analyse sémantique de code de GitHub — il traite le code comme des données en construisant une base de données relationnelle et en exécutant des requêtes de sécurité.

+ +
+ + + + + + + + + + + + + + +
LangageMode de compilationNotes
C/C++autobuild ou manuelCompilation requise
C#autobuild ou manuelSupport du framework .NET
GoautobuildAutomatique
Java/Kotlinautobuild ou manuelSupport Maven/Gradle
JavaScript/TypeScriptAucune compilation requise
PythonAucune compilation requise
RubyAucune compilation requise
Swiftautobuild ou manuelExécuteurs macOS requis
RustautobuildÉditions Rust 2021 et 2024
GitHub ActionsAucune compilation requiseAnalyse les YAML de workflow pour les injections et les problèmes de sécurité
+
+ +

🔧 Corriger : Copilot Autofix — Remédiation par IA

+ +
+
+flowchart LR
+    A["Alerte\nCodeQL"] --> B["Moteur Autofix\nLLM + Contexte CodeQL"]
+    B --> C["Analyser :\nCWE, flux de données"]
+    C --> D["Générer :\nCorrectif + explication"]
+    D --> E["Valider :\nLe correctif ne casse rien"]
+    E --> F["Commentaire PR :\nExplication + Diff\n+ Application en un clic"]
+
+    style A fill:#881337,stroke:#e11d48,color:#e6edf3
+    style B fill:#3b0764,stroke:#7c3aed,color:#e6edf3
+    style C fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style D fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style E fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style F fill:#064e3b,stroke:#059669,stroke-width:2px,color:#e6edf3
+    
+
+ +

Impact sur la vitesse (Source : GitHub — « Found means fixed »)

+
+
+
+
Toutes les alertes (moy.)
28 min vs 1,5 h
+
+
+
+
Cross-site Scripting
22 min vs 2,8 h
+
+
+
12×
+
Injection SQL
18 min vs 3,7 h
+
+
+ +
    +
  • Couvre plus de 90 % des types d'alertes dans tous les langages majeurs supportés par CodeQL
  • +
  • Remédie à deux tiers des vulnérabilités avec peu ou pas de modifications
  • +
  • Génère des suggestions de correction pour les résultats SARIF tiers — pas seulement CodeQL
  • +
  • Disponible pour les nouvelles alertes de PR et la dette de sécurité existante (via les campagnes de sécurité)
  • +
+ +

📈 Passer à l'échelle : Campagnes de sécurité et réduction de la dette

+ +
+
+flowchart TD
+    A["Le responsable sécurité identifie\nune vulnérabilité systémique"] --> B["Créer une campagne :\nCibler les CWE dans les dépôts"]
+    B --> C["GitHub génère des Issues\navec suggestions Autofix\n(jusqu'à 1 000 alertes)"]
+    C --> D["Les développeurs reçoivent :\nDétails de vulnérabilité + Autofix\n+ Contexte d'exécution de MDC"]
+    D --> E["Tableau de bord de campagne :\nCorrigé / Ouvert / En cours\nMétriques par équipe + SLA"]
+    E --> F["Synchronisation bidirectionnelle :\nGitHub ↔ Defender pour le cloud"]
+
+    style A fill:#881337,stroke:#e11d48,color:#e6edf3
+    style B fill:#1e1b4b,stroke:#4f46e5,color:#e6edf3
+    style C fill:#3b0764,stroke:#7c3aed,color:#e6edf3
+    style D fill:#064e3b,stroke:#059669,color:#e6edf3
+    style E fill:#1e3a5f,stroke:#3b82f6,color:#e6edf3
+    style F fill:#064e3b,stroke:#059669,stroke-width:2px,color:#e6edf3
+    
+
+ +
+
+
70,8 %
+
Organisations avec dette de sécurité
+
+
+
89,4 %
+
Dette de sécurité dans le code propriétaire
+
+
+
46,6 %
+
Failles qui deviennent de la dette de sécurité
+
+
+ +

📦 Protéger : Sécurité de la chaîne d'approvisionnement

+
+ + + + + + + + + + + +
FonctionnalitéFonctionAutomatisation
Graphe de dépendancesCartographie toutes les dépendances directes + transitivesAutomatique
Alertes DependabotCorrespondance avec la base de données d'avis GitHubAutomatique
Mises à jour de sécurité DependabotCrée des PR pour mettre à jour les dépendances vulnérablesSemi-automatique
Mises à jour de version DependabotMaintient les dépendances à jour selon un calendrierConfigurable
Revue de dépendancesContrôle de PR pour empêcher l'ajout de nouvelles vulnérabilitésAutomatique
Attestations d'artefactsProvenance de compilation et vérification d'intégrité (SLSA)Workflow
Génération de SBOMNomenclature logicielle pour la conformitéWorkflow
+
+
+ + + + +
+

03 Sécuriser toute la pile — GHAS + MDC

+

GitHub Advanced Security + Microsoft Defender pour le cloud = tissu de sécurité du code au cloud.

+ +

Microsoft Defender pour le cloud — Sécurité DevOps

+ +
+
+graph TB
+    subgraph MDC["MICROSOFT DEFENDER POUR LE CLOUD"]
+        direction TB
+        DSPM["Gestion de la posture de sécurité DevOps"]
+        AGS["Analyse de code sans agent\nZéro YAML, zéro modification de pipeline"]
+        PRA["Annotations de Pull Request\nRésultats IaC dans le flux de travail du développeur"]
+        CSPM["Defender CSPM\nGestion de la posture de sécurité cloud"]
+        APA["Analyse des chemins d'attaque\nRisque de vulnérabilités chaînées"]
+        C2C["Cartographie code-vers-cloud\nDépôt source ↔ Charge de travail cloud"]
+    end
+
+    subgraph CONN["Support multi-pipeline"]
+        GH["GitHub — Application GitHub native"]
+        ADO["Azure DevOps — Extension"]
+        GL["GitLab — OAuth"]
+    end
+
+    CONN --> MDC
+
+    style MDC fill:#1a0a2e,stroke:#7c3aed,stroke-width:2px,color:#e6edf3
+    style CONN fill:#0c1929,stroke:#3b82f6,stroke-width:2px,color:#e6edf3
+    style DSPM fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    style AGS fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    style PRA fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    style CSPM fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    style APA fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    style C2C fill:#2d1654,stroke:#7c3aed,color:#e6edf3
+    
+
+ +

Analyse de code sans agent

+
+ + + + + + + + + + +
ScannerCibleLangage / Framework
BanditCode applicatifPython
ESLint (règles de sécurité)Code applicatifJavaScript / TypeScript
CheckovIaCTerraform, Kubernetes, Dockerfile, ARM, Bicep, CloudFormation
Template AnalyzerIaCARM, Bicep
TrivyDépendancesPaquets OS et manifestes de dépôts (npm, pip, Maven, NuGet, Go, Cargo)
SyftSBOMGénère l'inventaire des dépendances dans plus de 30 écosystèmes
+
+ +

Cartographie code-vers-cloud et analyse des chemins d'attaque

+ +
+
+graph LR
+    A["Dépôt GitHub\nInjection SQL dans /src/api\nRésultat CodeQL"] -->|compile| B["Image de conteneur\nImage de base vulnérable\nAnalyse de registre"]
+    B -->|déploie vers| C["Pod AKS\nExposé à Internet\nAccès aux données sensibles"]
+    C --> D["CHEMIN D'ATTAQUE\nCRITIQUE 9.8"]
+    D --> E["Exposition Internet"]
+    D --> F["Données sensibles"]
+    D --> G["Vuln. code + Base non corrigée"]
+    D --> H["Mouvement latéral"]
+
+    style A fill:#4a1530,stroke:#e11d48,stroke-width:2px,color:#e6edf3
+    style B fill:#42290a,stroke:#d97706,stroke-width:2px,color:#e6edf3
+    style C fill:#4a1530,stroke:#e11d48,stroke-width:2px,color:#e6edf3
+    style D fill:#4a1042,stroke:#db2777,stroke-width:3px,color:#e6edf3
+    style E fill:#3d0f1e,stroke:#f43f5e,color:#e6edf3
+    style F fill:#3d0f1e,stroke:#f43f5e,color:#e6edf3
+    style G fill:#3d0f1e,stroke:#f43f5e,color:#e6edf3
+    style H fill:#3d0f1e,stroke:#f43f5e,color:#e6edf3
+    
+
+ +

Architecture d'intégration GHAS + MDC

+ +
+
+graph TB
+    subgraph DEV["BOUCLE INTERNE DU DÉVELOPPEUR"]
+        IDE["IDE + Copilot"] --> PUSH["git push\n+ Push Protection"]
+        PUSH --> PR["Pull Request\n+ Revue de code"]
+        PR --> CICD["Pipeline CI/CD"]
+    end
+
+    subgraph GHAS["GITHUB ADVANCED SECURITY"]
+        SP["Secret Protection\n+ Push Protection"]
+        CS["Analyse de code CodeQL\n+ Copilot Autofix"]
+        DEP["Dependabot\nSécurité de la chaîne d'approvisionnement"]
+        SC["Campagnes de sécurité"]
+    end
+
+    subgraph BRIDGE["INTÉGRATION GHAS + MDC"]
+        C2C["Synchronisation bidirectionnelle\nAlertes, Contexte, Statut de correction"]
+    end
+
+    subgraph MDCS["MICROSOFT DEFENDER POUR LE CLOUD"]
+        DSPM["Sécurité DevOps\nGestion de posture"]
+        AGS["Analyse sans agent\nCode + IaC"]
+        CSPM["Defender CSPM\n+ Chemins d'attaque"]
+        PRA["Annotations PR"]
+    end
+
+    subgraph CLOUD["CHARGES DE TRAVAIL CLOUD"]
+        RC["Contexte d'exécution\nInternet, Données, Identité, Réseau"]
+    end
+
+    DEV --> GHAS
+    GHAS --> BRIDGE
+    BRIDGE --> MDCS
+    MDCS --> CLOUD
+
+    style DEV fill:#0c1929,stroke:#3b82f6,stroke-width:2px,color:#e6edf3
+    style GHAS fill:#1a1540,stroke:#4f46e5,stroke-width:2px,color:#e6edf3
+    style BRIDGE fill:#0a2e1e,stroke:#059669,stroke-width:3px,color:#e6edf3
+    style MDCS fill:#1a0a2e,stroke:#7c3aed,stroke-width:2px,color:#e6edf3
+    style CLOUD fill:#0a1e2e,stroke:#0ea5e9,stroke-width:2px,color:#e6edf3
+    
+
+ +

Priorisation des alertes en fonction de la production

+
+ + + + + + + + + +
Facteur de risqueSourceImpact
Exposition InternetAnalyse réseau MDC+Critique si exposé au public
Accès aux données sensiblesClassification des données MDC+Élevé si données personnelles/financières
Ressource critiqueÉtiquettes de ressources MDC+Élevé si charge de travail de production
Mouvement latéralAnalyse des chemins d'attaque MDC+Critique si point de pivot
Risque d'identitéAnalyse d'identité MDC+Élevé si surpermissionné
+
+ +

Exigences de licence

+
+ + + + + + + + + + + + +
FonctionnalitéLicence requise
Analyse de code GHAS (CodeQL)GitHub Code Security
Analyse de secrets GHAS + Push ProtectionGitHub Secret Protection
Copilot AutofixGitHub Code Security (inclus)
Copilot Coding AgentTout forfait payant GitHub Copilot
Sécurité DevOps MDC (de base)Defender pour le cloud (niveau gratuit)
Analyse sans agent MDC + Annotations PRDefender CSPM
Analyse des chemins d'attaque MDCDefender CSPM
Intégration native GHAS + MDCGitHub Code Security + Defender CSPM
+
+
+ + + + +
+

04 IA agentique pour le DevSecOps

+

Des agents alimentés par l'IA opérant comme membres de votre équipe de développement — automatiser, optimiser et sécuriser chaque étape du SDLC.

+ +

L'évolution agentique

+
📊 Les développeurs ne consacrent qu'environ 20 % de leur temps à écrire du code. Les 80 % restants sont dédiés à la planification, la sécurisation, la gouvernance et la maintenance. L'IA agentique récupère ces 80 % en intégrant des agents autonomes dans l'ensemble du cycle de vie.
+
+ + + + + + + +
DimensionSans agentsAvec agents
Compétence — Ce qu'ils saventLimitée à l'expertise individuelleL'IA fournit des connaissances en sécurité à la demande
Capacité — Ce qu'ils peuvent faireContrainte par la familiarité avec les outilsLes agents détectent, expliquent, corrigent et valident
Volume — Combien ils peuvent traiterLimité par les heures humainesLes agents travaillent en parallèle, de manière asynchrone
+
+ +
+
+graph TB
+    subgraph BEFORE["DevSecOps TRADITIONNEL"]
+        B1["Revue de code manuelle"]
+        B2["Goulet d'étranglement de\nl'équipe de sécurité"]
+        B3["Remédiation différée\nsemaines / mois"]
+        B4["Lacunes en compétences\nbloquent l'adoption"]
+    end
+
+    subgraph AFTER["DevSecOps AGENTIQUE"]
+        A1["Les agents IA détectent\net corrigent en temps réel"]
+        A2["Sécurité intégrée dans\nle flux du développeur"]
+        A3["Remédiation immédiate\nminutes / heures"]
+        A4["Formation juste-à-temps"]
+    end
+
+    BEFORE -->|"Transformation agentique"| AFTER
+
+    style BEFORE fill:#4a1530,stroke:#e11d48,stroke-width:2px,color:#e6edf3
+    style AFTER fill:#0a2e1e,stroke:#059669,stroke-width:2px,color:#e6edf3
+    
+
+ +

GitHub Copilot Coding Agent

+

En disponibilité générale depuis le 19 mai 2025 pour tous les abonnés payants de Copilot. Opère en tant que coéquipier autonome.

+ +
+
+flowchart TD
+    A["Assigner une Issue GitHub\nà Copilot"] --> B["👀 L'agent démarre\nSandbox sécurisé via\nGitHub Actions"]
+    B --> C["Clone le dépôt → Configure l'env.\n→ Analyse avec RAG"]
+    C --> D["Modifie → Compile → Teste\nPousse vers un PR brouillon"]
+    D --> E["Demande une revue humaine\nRépond aux commentaires du PR"]
+    E --> F["L'humain approuve\n→ CI/CD → Fusionné"]
+
+    style A fill:#1e1b4b,stroke:#4f46e5,color:#e6edf3
+    style B fill:#3b0764,stroke:#7c3aed,color:#e6edf3
+    style C fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style D fill:#1e293b,stroke:#64748b,color:#e6edf3
+    style E fill:#78350f,stroke:#d97706,color:#e6edf3
+    style F fill:#064e3b,stroke:#059669,stroke-width:2px,color:#e6edf3
+    
+
+ +

Politiques de sécurité intégrées

+
+ + + + + + + + + +
PolitiqueProtection
Restrictions de brancheL'agent ne peut pousser que vers les branches qu'il a créées
Revue obligatoireLe demandeur ne peut pas approuver le PR de l'agent
Isolation réseauAccès Internet limité aux destinations de confiance (personnalisable)
Contrôle CI/CDLes workflows Actions nécessitent une approbation humaine avant exécution
Règles existantes appliquéesLes ensembles de règles du dépôt et les politiques de l'organisation sont pleinement respectés
+
+ +

Agents de sécurité personnalisés

+

Versions spécialisées du Copilot Coding Agent adaptées aux flux de travail de sécurité :

+ +
+
+ 🛡️ +

Agent de sécurité principal

+

Examine le dépôt pour les problèmes de sécurité et produit un rapport de sécurité complet

+
+
+ 🔍 +

Agent de revue de code sécurité

+

Réviseur de code axé sur la sécurité, vérifiant les vulnérabilités courantes (CWE)

+
+
+ 📋 +

Agent de création de plan de sécurité

+

Modélisation des menaces et architecture de sécurité avec expertise des cadres de référence

+
+
+ ⚙️ +

Agent de pipeline de sécurité

+

Détecte les faiblesses des workflows CI, corrige automatiquement les YAML GitHub Actions et Azure DevOps

+
+
+ 🏗️ +

Agent de sécurité IaC

+

Trouve les valeurs par défaut non sécurisées et les mauvaises configurations dans l'IaC et les configs cloud

+
+
+ 📦 +

Agent de sécurité de la chaîne d'approvisionnement

+

Détecte les fuites de secrets, les risques de dépendances et les mauvaises configurations de dépôts avec des correctifs prêts pour le PR

+
+
+ +

Architecture agentique de bout en bout

+ +
+
+graph TB
+    subgraph PREVENT["🔒 PRÉVENIR"]
+        P1["Secret Protection\nPush Protection"]
+        P2["Copilot Secret Scanning\nDétection par IA"]
+        P3["Agents de sécurité personnalisés\nPré-commit dans VS Code"]
+    end
+
+    subgraph DETECT["🔍 DÉTECTER"]
+        D1["Analyse de code CodeQL"]
+        D2["Analyse sans agent MDC"]
+        D3["Dependabot"]
+        D4["Annotations PR MDC"]
+    end
+
+    subgraph FIX["🔧 CORRIGER"]
+        F1["Copilot Autofix"]
+        F2["Copilot Coding Agent"]
+        F3["Campagnes de sécurité"]
+        F4["Agents de sécurité personnalisés"]
+    end
+
+    subgraph MONITOR["📊 SURVEILLER"]
+        M1["Defender CSPM\nChemins d'attaque"]
+        M2["Cartographie code-vers-cloud"]
+        M3["Aperçu de sécurité\nTableau de bord"]
+        M4["Journaux d'audit → SIEM"]
+    end
+
+    PREVENT --> DETECT --> FIX --> MONITOR
+    MONITOR -->|"Le contexte d'exécution\nenrichit la priorisation"| DETECT
+
+    style PREVENT fill:#0a2e1e,stroke:#059669,stroke-width:2px,color:#e6edf3
+    style DETECT fill:#0c1929,stroke:#4f46e5,stroke-width:2px,color:#e6edf3
+    style FIX fill:#1a0a2e,stroke:#7c3aed,stroke-width:2px,color:#e6edf3
+    style MONITOR fill:#2e1f0a,stroke:#d97706,stroke-width:2px,color:#e6edf3
+    
+
+
+ + + + +
+

05 Plan directeur DevSecOps

+

Matrice complète des outils et modèle de maturité pour implémenter le DevSecOps agentique à grande échelle.

+ +

Matrice des outils DevSecOps

+
+ + + + + + + + + + + + +
CatégorieDirectiveOutils et capacitésAutomatisation
Analyse de secretsDétecter et empêcher les secrets codés en durGitHub Secret Protection, Push Protection, Copilot Secret Scanning, modèles personnalisésAutomatique
SCAGérer les risques liés aux dépendancesDependabot, revue de dépendances, attestations d'artefacts, SBOM, OpenSSF Scorecard, SLSAWorkflow / Auto
SASTDétecter les vulnérabilités de codeCodeQL (par défaut et avancé), Copilot Autofix, SARIF tiersWorkflow / Auto
Analyse IaCSécuriser les configs d'infrastructureMSDO : Checkov, Template Analyzer, Terrascan, TrivyWorkflow
CISSécuriser la chaîne d'approvisionnement des conteneursMSDO : Checkov, Terrascan, Trivy, Anchore GrypeWorkflow
DASTTester les applications en cours d'exécutionOWASP ZAP (maintenu par Checkmarx)Workflow
Analyse continueSurveillance de la posture en exécutionMicrosoft Defender pour le cloud, Sentinel, Azure PolicyWorkflow / Auto
ConformitéGouvernance et auditConfigurations de sécurité GHAS (Policy-as-Code), contournement délégué, journaux d'auditAppliqué
+
+ +

Modèle de maturité Shift Left en sécurité

+
+ + + + + + + + + +
NiveauPratiqueOutils
N1 — RéactifRevues de sécurité manuellesAnalyse ponctuelle
N2 — AutomatiséAnalyse intégrée au CI/CDCodeQL configuration par défaut, Dependabot
N3 — ProactifProtection au push, contrôles de PRPush protection pour les secrets, vérifications PR CodeQL
N4 — ContextuelPriorisation tenant compte de l'exécutionGHAS + MDC, analyse des chemins d'attaque
N5 — AgentiqueSécurité autonome par IACopilot Autofix, Coding Agent, campagnes, agents personnalisés
+
+ +

Déploiement recommandé

+
+
+
Phase 1 — Fondation
+

Activer et connecter

+
    +
  • Activer GHAS sur tous les dépôts
  • +
  • Connecter GitHub à MDC
  • +
  • Activer l'analyse de secrets + push protection
  • +
  • Configurer Dependabot
  • +
+
+
+
Phase 2 — Durcissement
+

Renforcer et appliquer

+
    +
  • CodeQL avancé pour les dépôts critiques
  • +
  • Analyse sans agent dans MDC
  • +
  • Annotations PR + contournement délégué
  • +
  • Intégration du workflow MSDO
  • +
+
+
+
Phase 3 — Intelligence
+

Contextualiser et campaigner

+
    +
  • Intégration native GHAS + MDC
  • +
  • Analyse des chemins d'attaque
  • +
  • Campagnes de sécurité
  • +
  • Copilot Autofix sur tous les dépôts
  • +
+
+
+
Phase 4 — Agentique
+

Automatiser et passer à l'échelle

+
    +
  • Copilot Coding Agent pour la sécurité
  • +
  • Agents de sécurité personnalisés
  • +
  • Journaux d'audit vers SIEM
  • +
  • Suivre les KPI de réduction de dette
  • +
+
+
+
+ + + + +
+

06 Points clés et appel à l'action

+

DevSecOps agentique — où nous allons et comment démarrer.

+ +
+
+ 🤖 +

Le DevSecOps agentique est essentiel

+

Pour construire des applications et des agents IA sécurisés à grande échelle — la sécurité comme citoyen de première classe de chaque flux de travail

+
+
+ 🔗 +

GHAS + GHCP + MDC

+

Ensemble, ils fournissent un tissu de sécurité complet du code au cloud — bidirectionnel, contextuel, piloté par l'IA

+
+
+ +

Remédiation 3 à 12× plus rapide

+

Copilot Autofix et le Coding Agent réduisent considérablement l'effort de remédiation manuelle

+
+
+ 📐 +

Plan directeur évolutif

+

Opérationnaliser la sécurité applicative à grande échelle tout en maintenant la vélocité de développement

+
+
+ 🔄 +

Modèles réutilisables

+

Directives éprouvées pour détecter les secrets, les dépendances et les vulnérabilités de code automatiquement

+
+
+ +
+

Quels agents DevSecOps allez-vous créer ?

+

Déplacer la sécurité à gauche · Tirer parti de l'IA agentique · Accélérer l'innovation sécurisée · Réduire la dette de sécurité

+

+ Dépôt de démonstration : + devopsabcs-engineering/gh-advsec-devsecops +

+
+ +

Démonstration : ce qui a été présenté

+
+ + + + + + + + + +
#ScénarioOutils en action
1Secret détecté et bloqué — Push protection empêchant un PAT GitHub d'être commitéGitHub Secret Protection, Push Protection
2Copilot Autofix en action — Injection SQL corrigée en moins de 30 secondes avec application en un clicCodeQL, Copilot Autofix
3Agent de sécurité personnalisé — Agent IaC de sécurité détectant un RBAC Kubernetes mal configuréAgents personnalisés, VS Code
4Tableau de bord de campagne de sécurité — Campagne de remédiation XSS à l'échelle de l'organisationCampagnes de sécurité, Copilot Autofix
5MDC code-vers-cloud — Traçage d'une vulnérabilité de code vers son exécution exposée à InternetDefender CSPM, Analyse des chemins d'attaque
+
+
+ + + + +
+

07 Références

+

Toutes les sources utilisées dans ce guide — fondées sur la documentation publique de GitHub, Microsoft et de l'industrie.

+ +

Documentation GitHub

+
+ + + + + + + + + + + + +
RessourceURL
À propos de GitHub Advanced Securitydocs.github.com
Restructuration du produit GHAS (mars 2025)github.blog/changelog
Documentation CodeQLcodeql.github.com
Copilot Autofix — Found Means Fixedgithub.blog
Copilot Coding Agent (GA)github.blog
Copilot — The Agent Awakensgithub.blog
À propos des agents personnalisésdocs.github.com
Documentation de l'analyse de secretsdocs.github.com
+
+ +

Documentation Microsoft

+
+ + + + + + + + + +
RessourceURL
Sécurité DevOps Defender pour le cloudlearn.microsoft.com
Intégration GHAS avec MDClearn.microsoft.com
Connecter GitHub à Defender pour le cloudlearn.microsoft.com
Analyse de code sans agentlearn.microsoft.com
Analyse des chemins d'attaquelearn.microsoft.com
+
+ +

Rapports de l'industrie

+
+ + + + + + + + + + +
RessourceSource
Rapport d'enquête sur les violations de données 2024Verizon
Rapport sur le coût d'une violation de données 2024IBM
État de la sécurité logicielle 2024Veracode
Rapport sur l'état du DevSecOps 2024Contrast Security
Cadre de développement logiciel sécurisé du NISTNIST
Cadre SLSAslsa.dev
+
+
+ +
+ + + + + + diff --git a/docs/ghas-mdc-devsecops.html b/docs/ghas-mdc-devsecops.html index d2be278..3f304a1 100644 --- a/docs/ghas-mdc-devsecops.html +++ b/docs/ghas-mdc-devsecops.html @@ -416,11 +416,50 @@ .toc { display: none; } section { break-inside: avoid; } .mermaid-wrapper { break-inside: avoid; } + .lang-switcher { display: none; } +} + +/* ── Language Switcher ──────────────────────────────── */ +.lang-switcher { + position: fixed; + top: 16px; + right: 20px; + z-index: 200; + display: flex; + gap: 0; + border-radius: 8px; + overflow: hidden; + border: 1px solid var(--card-border); + font-size: 0.8rem; + font-weight: 600; +} +.lang-switcher a { + padding: 6px 14px; + color: var(--gh-text-muted); + text-decoration: none; + background: var(--card-bg); + transition: all 0.2s; +} +.lang-switcher a:hover { + color: var(--gh-text); + background: rgba(88,166,255,0.1); + text-decoration: none; +} +.lang-switcher a.active { + color: var(--gh-dark); + background: var(--gh-cyan); + pointer-events: none; } + +
+ EN + FR +
+ From 786cacff98d27157ebc60c0f138cbb5e91c3aeb3 Mon Sep 17 00:00:00 2001 From: Emmanuel Knafo Date: Thu, 23 Apr 2026 12:51:20 -0400 Subject: [PATCH 2/2] fix(build): enable SQL auditing and threat detection for Checkov compliance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add auditing settings with 91-day retention on SQL server and database (CKV_AZURE_23, CKV_AZURE_24) - add threat detection policies on SQL server and database (CKV_AZURE_25) Relates to #51 🔒 - Generated by Copilot --- blueprints/sample-web-app/bicep/main.bicep | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/blueprints/sample-web-app/bicep/main.bicep b/blueprints/sample-web-app/bicep/main.bicep index 61fb75c..41423b9 100644 --- a/blueprints/sample-web-app/bicep/main.bicep +++ b/blueprints/sample-web-app/bicep/main.bicep @@ -145,6 +145,26 @@ resource sqlServer 'Microsoft.Sql/servers@2023-08-01-preview' = { } } +@description('SQL Server auditing policy — CKV_AZURE_23, CKV_AZURE_24.') +resource sqlServerAudit 'Microsoft.Sql/servers/auditingSettings@2023-08-01-preview' = { + parent: sqlServer + name: 'default' + properties: { + state: 'Enabled' + isAzureMonitorTargetEnabled: true + retentionDays: 91 + } +} + +@description('SQL Server threat detection — CKV_AZURE_25.') +resource sqlServerThreatDetection 'Microsoft.Sql/servers/securityAlertPolicies@2023-08-01-preview' = { + parent: sqlServer + name: 'default' + properties: { + state: 'Enabled' + } +} + /* ========================================================================== */ /* SQL Database */ /* ========================================================================== */ @@ -163,6 +183,26 @@ resource sqlDatabase 'Microsoft.Sql/servers/databases@2023-08-01-preview' = { } } +@description('SQL Database auditing policy — CKV_AZURE_23, CKV_AZURE_24.') +resource sqlDatabaseAudit 'Microsoft.Sql/servers/databases/auditingSettings@2023-08-01-preview' = { + parent: sqlDatabase + name: 'default' + properties: { + state: 'Enabled' + isAzureMonitorTargetEnabled: true + retentionDays: 91 + } +} + +@description('SQL Database threat detection — CKV_AZURE_25.') +resource sqlDatabaseThreatDetection 'Microsoft.Sql/servers/databases/securityAlertPolicies@2023-08-01-preview' = { + parent: sqlDatabase + name: 'default' + properties: { + state: 'Enabled' + } +} + /* ========================================================================== */ /* Key Vault Access for App Service */ /* ========================================================================== */