0002 Baseline sécurité OWASP¶
- Statut : Accepté
- Date : 2026-10-12
- Décideurs : Mickaël Lambert
Contexte¶
Un audit de la surface d'exposition a montré un socle sain (pas de secret prod versionné, isolation multi-tenant réelle, tokens hashés at rest) mais un durcissement documenté et non implémenté : aucun header de sécurité (CSP, HSTS) sur les apps ni au niveau nginx, documentation API publique en production, config prod non finalisée. Il manquait un référentiel commun pour fixer un niveau d'exigence et éviter de livrer quelque chose en dessous d'un standard professionnel.
Décision¶
Les exigences de sécurité suivent les standards OWASP :
- OWASP ASVS comme baseline de vérification, cible niveau L2 (justifié par des données RH B2B et l'exposition RGPD). Un doc de baseline sous
docs/suivra les contrôles tenus et leur statut. - OWASP Top 10 et OWASP API Security Top 10 comme modèle de menace (le catalogue d'attaques dont on se protège).
- Revue par PR via le skill
security-reviewsur le diff de branche ; un audit complet du codebase est mené périodiquement contre ASVS, pas à chaque PR. - Headers de sécurité requis aux deux couches : app Next.js et edge nginx.
- La doc API (
/v1/docs, Scalar) ne doit pas être joignable publiquement en production.
Alternatives considérées¶
- Revue de sécurité ad hoc, au cas par cas en PR seulement. Compromis : léger, mais aucune couverture systématique ni grille d'exigences, on dérive vers l'implicite.
- Pentest externe ou certification formelle dès maintenant. Compromis : plus rigoureux mais prématuré et coûteux en phase pré-lancement, sans baseline interne pour en tirer parti.
ASVS L2 donne une grille actionnable et progressive, adaptée à la maturité actuelle, et sert d'ancrage pour un pentest ultérieur.
Conséquences¶
- La règle opérationnelle est reportée dans le
CLAUDE.mdracine (section Security baseline). - Le niveau ASVS exact est confirmé lors d'un brainstorming sécurité dédié, puis matérialisé par un doc de baseline listant les contrôles.
- Les écarts identifiés (headers, gating de
/v1/docs, config Ansible prod) sont tracés en tâches, côté dev pour l'applicatif et côté DevOps pour l'edge et l'infra.