Objectif
CaseBender étant utilisé par des équipes de sécurité, la sécurité du produit est considérée comme une exigence de mise en production plutôt que comme une liste de contrôle ponctuelle. Le Programme d’assurance de la sécurité associe des workflows de développement protégés, des tests de sécurité automatisés, des contrôles des conteneurs et des dépendances, la provenance des versions, des exceptions documentées et la planification d’évaluations indépendantes. Cette section explique :- quels contrôles s’exécutent automatiquement ;
- quels constats bloquent une modification ou une version ;
- quels éléments probants chaque contrôle produit ;
- comment les exceptions sont encadrées ;
- ce que les clients peuvent vérifier de manière indépendante ; et
- où s’arrêtent les garanties automatisées.
Vue d’ensemble de l’assurance
Modifications protégées (en anglais)
Les demandes d’extraction vers les branches protégées doivent franchir une porte de sécurité agrégée avant leur fusion.
Tests multicouches
Les secrets, le code source, les dépendances, les licences, l’infrastructure et toutes les images de service sont contrôlés à l’aide d’outils indépendants.
Intégrité des versions (en anglais)
Les workflows de publication génèrent des SBOM, des données de provenance, des condensats immuables et des signatures cryptographiques.
Éléments probants destinés aux clients
Les clients peuvent identifier les éléments probants associés à un commit, à un condensat d’image ou à une version.
Cycle de vie sécurisé des modifications
Chaque modification proposée suit le même cycle de vie général :Déclenchement des contrôles
La définition du workflow, et non cette page, constitue la source technique faisant autorité pour les déclencheurs et la configuration exacte des outils. Les réviseurs autorisés du dépôt peuvent consulter le workflow Security Scan (en anglais) ; les clients sans accès au dépôt doivent utiliser les éléments probants propres à la version décrits dans le Guide des éléments probants de sécurité.
Porte de sécurité bloquant les fusions
La porte agrégée Security Gate exige la réussite des jobs suivants pour les demandes d’extraction et les envois :
Le téléversement des résultats d’analyse peut s’effectuer au mieux lorsque GitHub Code Security n’est pas sous licence, mais l’analyse locale sous-jacente reste bloquante. Les rapports sont également conservés comme artefacts de workflow afin que la porte ne dépende pas de l’ingestion SARIF.
Tests de sécurité dynamiques
Le job DAST hebdomadaire utilise OWASP ZAP sur un déploiement de préproduction dédié. Avant le début des tests actifs, la CI vérifie :- que la cible n’est ni une valeur fictive, ni localhost, ni une adresse de bouclage ;
- que la réponse identifie un déploiement web CaseBender ;
- que l’identité de test configurée produit une session authentifiée ; et
- que l’en-tête d’authentification est fourni au moyen de secrets de dépôt masqués.
Assurance des conteneurs
CaseBender produit actuellement sept images de service. Chaque Dockerfile de production utilise un build multi-étapes et un utilisateur d’exécution non-root. Le processus d’assurance des conteneurs comprend :- l’analyse statique des Dockerfiles ;
- l’élagage des dépendances de production ;
- l’analyse des vulnérabilités avant publication ;
- la détection des secrets intégrés au moyen de l’analyse d’image ;
- la sélection d’un condensat immuable après publication ;
- la signature sans clé avec Cosign au moyen de l’identité OIDC de GitHub ; et
- la vérification de la signature par rapport au condensat publié exact.
latest.
Éléments probants de la chaîne d’approvisionnement logicielle
Les workflows de publication génèrent plusieurs enregistrements complémentaires :- SBOM CycloneDX — inventaire des paquets et composants destiné à l’analyse des dépendances ;
- SBOM et provenance BuildKit — métadonnées de build émises lors de la création des conteneurs ;
- signature Cosign — identité cryptographique liée à un condensat d’image immuable ;
- attestation de SBOM — association signée entre une image et son inventaire de composants ;
- document de provenance au format SLSA — révision de la source, identité du workflow et métadonnées d’invocation ; et
- rapports d’analyse — sortie SARIF ou JSON conservée par le workflow concerné.
subject actuel est vide ; il n’est donc pas lié cryptographiquement aux sept condensats d’image et ne doit pas être présenté comme une provenance au niveau de l’artefact ni comme une certification SLSA indépendante.
Traitement des vulnérabilités
Les constats sont triés selon leur sévérité, leur exploitabilité, le mode de déploiement affecté, l’exposition et la disponibilité d’un correctif. Les objectifs de remédiation par défaut documentés par le projet sont les suivants :
Il s’agit d’objectifs de remédiation internes, et non de niveaux de service contractuels, sauf s’ils sont intégrés à un accord client.
Lorsqu’une remédiation immédiate est impossible, toute exception doit être circonscrite et révisable. Les exceptions IaC Trivy actuelles sont stockées dans
.trivyignore.yaml et indiquent le constat, le chemin affecté, la justification et la date d’expiration. Les exceptions de licence sont propres à chaque paquet ; la politique ne masque pas globalement un identifiant de licence. Le fichier du dépôt ne doit pas être interprété comme un registre complet de toutes les catégories de risques produit acceptés.
Intégrité des outils et des workflows
Les contrôles eux-mêmes sont également protégés :- les GitHub Actions de tiers sont épinglées à des SHA de commit immuables ;
- les principaux binaires et images de conteneur des outils d’analyse sont épinglés à une version ou à un condensat ;
- les installations reposant sur le fichier de verrouillage utilisent
--frozen-lockfile; - les contrôles négatifs de sécurité détectent tout outil d’analyse qui cesse de façon inattendue de rejeter une entrée dont la non-conformité est connue ;
- les paramètres actuels de protection des branches GitHub rejettent les mises à jour directes n’ayant pas produit les contrôles de statut requis ; cette politique est administrée en dehors du dépôt source ; et
- les jobs agrégés échouent lorsqu’un job de sécurité requis a échoué, a été annulé ou a été ignoré de manière inattendue.
Heuristique complémentaire de détection des logiciels malveillants
Un workflow post-fusion distinct surveille surmain les modifications apportées aux fichiers de configuration Next.js et PostCSS afin de détecter des motifs malveillants connus de la chaîne d’approvisionnement npm ; il peut créer un retour arrière automatisé. Il s’agit d’un contrôle de récupération restreint, fondé sur des motifs. Ce n’est ni une porte de contrôle des demandes d’extraction, ni un moteur antivirus, ni un contrôle EDR, ni une analyse exhaustive des logiciels malveillants.
Responsabilités du client
CaseBender peut être déployé sur une infrastructure gérée par le client. L’assurance du produit ne remplace pas l’exploitation sécurisée de cet environnement. Les clients restent responsables :- des certificats TLS, de l’ingress, du pare-feu et de la segmentation réseau ;
- de la configuration du fournisseur d’identité, de la MFA et des rôles ;
- du durcissement de la base de données, de Redis, du stockage objet et du service de recherche ;
- de la rotation des secrets et de l’accès aux identifiants de déploiement ;
- des sauvegardes, de la surveillance, de la conservation et de la réponse aux incidents ;
- de l’application des mises à jour prises en charge et de la consultation des notes de version ; et
- de la validation des contrôles au regard de leur environnement réglementaire et de menaces.
Limites actuelles de l’assurance
En juillet 2026 :- les workflows automatisés de SAST, SCA, détection de secrets, licences, IaC, conteneurs, SBOM, signature et provenance sont mis en œuvre ;
- le DAST authentifié de l’environnement de préproduction est configuré dans la CI, mais dépend du maintien d’une cible de préproduction et d’une identité de test ;
- les fonctionnalités SARIF et Dependency Review hébergées par GitHub dépendent de la licence du dépôt, tandis que les portes Trivy locales et d’audit des paquets restent disponibles ;
- aucun rapport de test d’intrusion tiers achevé ni aucune lettre de contre-test de remédiation ne sont revendiqués ; et
- les correspondances avec les référentiels de conformité décrivent l’alignement des contrôles, et non une certification indépendante.
Documentation associée
- Sécurité du code (en anglais) — configuration des outils d’analyse, DAST, licences et gestion des vulnérabilités
- Sécurité de la chaîne d’approvisionnement (en anglais) — dépendances, images, SBOM, signature et provenance
- Guide des éléments probants de sécurité — types d’éléments probants et méthode d’interprétation
- Architecture de sécurité (en anglais) — conception de la sécurité de l’application et du déploiement
- Périmètre du test d’intrusion indépendant (en anglais) — couverture prévue de l’évaluation manuelle