Skill — Gates qualité & sécurité¶
Skill enfant transversal de la primitive ../Boucle-de-retroaction.md. C'est l'outil qui objective le code et les artefacts. Invoqué par cycle-dev.md (phase bleue) et par convergence-iac.md. Lit l'archétype (../bmad/archetypes.md).
Registre. Ce skill transmet le critère (guidance). Le blocage mécanique appartient aux hooks Git et à la CI (enforcement). Même jeu de vérifications en local et en CI (DRY) : c'est cette redondance qui fait la boucle de rétroaction serrée — un signal d'outil, pas un avis. Pour du code généré par IA, ce retour automatique rapproche la fiabilité d'un langage compilé.
Quality gate (code) — après le refactor (bleu)¶
Objective la qualité interne. Bloque tant qu'un seuil n'est pas tenu.
- Format —
black+isort(Python) ·prettier(TS/Svelte) - Lint —
ruff/flake8(Python) ·eslint(TS) - Types —
mypy --strict(Python) ·tsc --noEmit(TS) ·svelte-check - Complexité — seuil cyclomatique ; refus du code mort
- Couverture — seuil minimal par couche (Domain le plus élevé)
Security gate (code + e2e) — après E2E + intégration (bleu)¶
Objective la surface d'exposition. C'est le shift-left : on cherche avant de réparer.
- SAST —
bandit(Python) · règles sécuritéeslint(TS) - Dépendances (SCA) —
pip-audit·npm audit; refus des vulnérabilités connues non justifiées - Secrets —
gitleaks/trufflehog; aucun secret dans l'arbre ni l'historique - Licences — compatibilité des dépendances (cohérence AGPL/permissives)
- SBOM + provenance — à la release : génération du Software Bill of Materials (CycloneDX/SPDX) + attestation de provenance (style SLSA). Exigible sous CRA (obligations pleines déc. 2027). Angle mort actuel — voir
conformite.md§5. - DAST — sur l'environnement E2E quand applicable
- Injection de prompt — si le produit livré embarque un LLM : tests d'injection (OWASP LLM #1), cloisonnement contenu/instructions. À ne pas confondre avec la limitation d'agency de l'agent de fabrication (
enforcement.md).
Conditionnement par archétype¶
- stateless — surtout SCA + secrets ; pas de check de migration.
- stateful — SAST injection SQL ; vérif des migrations ; secrets DB.
- API-first —
@securityde contrat : autorisation par endpoint, schémas stricts, pas de rupture de version non déclarée (point irréversible). - full-stack — CSP/XSS sur les îlots Svelte ; en-têtes de sécurité ; DAST sur les flux E2E critiques.
Ancrage conformité¶
La security gate est le point où les standards s'objectivent dans la fabrication : chaque contrôle pertinent a une vérification correspondante.
- ISO 27001:2022 / CyFun® (Belgique) — gestion des accès, des dépendances, des secrets. Le niveau CyFun visé (Small/Basic/Important/Essential) fixe le seuil des gates.
- NIS2 · CRA · NIST SSDF — secure-SDLC, gestion des vulnérabilités, security-by-design.
- ISO 42001 / EU AI Act — la traçabilité (registre TRACE, ADR/RFC) et le répondre-de portent le volet IA, pas la gate code.
Le mapping complet des trois cercles (mondial → européen → belge) et le backlog des angles morts (SBOM, reporting d'incident, injection de prompt) vivent dans conformite.md. Voir aussi le mapping ISO 27001 → IaC du livrable Architecture.
Condition de sortie¶
Une gate qui bloque = le cercle réfute → on reboucle (corriger, relancer). Gates vertes = sortie permise. Le passage à un environnement via une branche GitFlow source de vérité reste un point irréversible → l'humain valide.
Coût¶
Les gates ajoutent du wall-clock (durée des scans, run CI) → coût superviseur. Peu de tokens. C'est l'asymétrie typique des terrains à validation par exécution.
Dérivé du Manifeste Maury (CC BY-SA 4.0).