Template GitHub reutilisable pour CI/CD securise en contexte francais et europeen. 7 couches de scan, mapping ANSSI/NIS2/DORA, SBOM CycloneDX, threat model STRIDE.
Ce repo est un template GitHub. Il fournit un pipeline DevSecOps pret a forker pour demarrer un projet avec une securite shift-left deja industrialisee.
Le pipeline se decompose en 7 composite actions reutilisables, reparties en trois workflows selon leur cycle de vie :
| # | Couche | Outil principal | Composite action |
|---|---|---|---|
| 1 | Secrets | Gitleaks | .github/actions/secrets |
| 2 | SAST | Semgrep | .github/actions/sast |
| 3 | SCA dependances | Trivy fs + npm audit | .github/actions/sca |
| 4 | IaC / Dockerfile | Checkov | .github/actions/iac |
| 5 | Container image | Trivy image | .github/actions/container |
| # | Couche | Outil | Composite action |
|---|---|---|---|
| 6 | SBOM | Syft (CycloneDX + SPDX) | .github/actions/sbom |
| # | Couche | Outil | Composite action |
|---|---|---|---|
| 7 | DAST | OWASP ZAP baseline | .github/actions/dast |
Une application de demonstration (app/) prouve le bon fonctionnement du
pipeline en exposant 9 vulnerabilites volontaires cataloguees dans
docs/vulnerabilities.md.
| Referentiel | Mapping documente dans |
|---|---|
| ANSSI guide d'hygiene | docs/compliance/anssi-hygiene.md |
| Directive NIS2 | docs/compliance/nis2.md |
| Reglement DORA | docs/compliance/dora.md |
| EU Cyber Resilience Act (CRA) | docs/compliance/eu-cra.md |
Formats SBOM : CycloneDX 1.5 (pousse par UE/ENISA) et SPDX 2.3 (ISO/IEC 5962:2021). Les deux generes a chaque release et attaches comme assets pour conformite multi-referentiel.
- Cliquer sur "Use this template" sur la page GitHub du repo.
- Renommer l'app sous
app/pour la votre. - Adapter
policies/et.gitleaks.tomla vos seuils. - Les composite actions sous
.github/actions/sont pretes a l'emploi.
Trois canaux complementaires :
- Onglet Actions : annotations
::warning::directement sur chaque run - Onglet Security du repo : findings SARIF de Checkov et Trivy image
- Artifacts : rapports JSON complets pour audit hors-ligne
# Layer 1-5 : declenche par tout push, ou manuellement :
gh workflow run pipeline.yml
# Layer 6 (SBOM) : declenche par release publication, ou :
gh workflow run release.yml
# Layer 7 (DAST) : declenche en cron quotidien, ou :
gh workflow run dast-nightly.yml- Architecture du pipeline (diagramme)
- Threat model STRIDE
- ADR (Architecture Decision Records)
- Catalogue des vulnerabilites volontaires
MIT, voir LICENSE.
Calixte Franck Kenmeugne, etudiant Bachelor ASRC a IMIE Paris. Portfolio : kenmeugnecalixte.com