Aller au contenu

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.

  • Formatblack + isort (Python) · prettier (TS/Svelte)
  • Lintruff/flake8 (Python) · eslint (TS)
  • Typesmypy --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.

  • SASTbandit (Python) · règles sécurité eslint (TS)
  • Dépendances (SCA)pip-audit · npm audit ; refus des vulnérabilités connues non justifiées
  • Secretsgitleaks/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 promptsi 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@security de 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).