Aller au contenu

Revue d'acceptabilité — PD-238

1. Analyse des écarts majeurs

ECT-01 — Rate limiter fail-open (VUL-01)

  • Impact sur les invariants : touche directement INV-238-11 (rate limiting global). En cas de Redis indisponible, l’invariant est violé (absence de protection anti‑bruteforce).
  • Justification de la classification : MAJEUR justifié (affaiblit une barrière de sécurité contractuelle, mais sans exposition directe de secrets).
  • Avis sur l'action proposée : pertinente, mais le rapport ne précise pas le comportement attendu en mode fallback (quota, durée). L’action est nécessaire avant acceptation complète.

ECT-02 — ClassSerializerInterceptor absent (VUL-02)

  • Impact sur les invariants : risque indirect sur INV-238-09 (secrets loggés) et sur la non‑exposition contrôlée des DTOs (si la sérialisation est inopérante, fuites possibles). Les endpoints MFA retournent des DTOs sensibles (secret/recoveryCodes).
  • Justification de la classification : MAJEUR justifié (risque de fuite de données et non‑conformité aux règles de minimisation/logging).
  • Avis sur l'action proposée : nécessaire et simple, mais le rapport ne prouve pas l’absence effective d’intercepteur (pas de preuve). À valider par artefact ou configuration.

ECT-03 — Tests invariants PD-27 en échec

  • Impact sur les invariants : ne viole pas directement les invariants PD‑238, mais impacte la conformité globale si les tests PD‑27 restent contractuels. Il existe un conflit de périmètre non résolu.
  • Justification de la classification : MAJEUR acceptable si les tests PD‑27 sont explicitement requalifiés/ajustés. En l’état, le rapport ne documente pas la décision de gouvernance.
  • Avis sur l'action proposée : nécessaire ; la mise à jour des tests PD‑27 doit être tracée contractuellement (changement de périmètre ou exception documentée).

2. Analyse des écarts mineurs

ECT-04 — constantTimeEqual custom

  • Impact réel : faible ; amélioration de robustesse crypto mais pas une violation explicite d’invariant.
  • Priorité recommandée : MINEUR, à traiter opportunément.

ECT-05 — Rate limit absent sur /auth/reauth

  • Impact réel : en contradiction avec la spec corrigée (INV‑238‑15 + CA‑238‑16 imposent JWT, mais pas explicitement rate limit). Le rapport considère cela mineur, mais c’est une divergence de protection par rapport au plan et aux attentes de sécurité.
  • Priorité recommandée : MINEUR→MAJEUR si la politique globale exige rate limit sur /auth/reauth. À clarifier.

ECT-06 — Logs reauth trop détaillés

  • Impact réel : exposition potentielle d’un signal d’énumération (USER_NOT_FOUND vs INVALID_PASSWORD). Faible mais exploitable.
  • Priorité recommandée : MINEUR, à corriger pour durcissement sécurité.

3. Cohérence du verdict

  • Le verdict "GO AVEC RÉSERVES" est-il justifié ? Oui, sous réserve : les trois écarts majeurs affectent des invariants de sécurité/robustesse et doivent être corrigés avant acceptation complète.
  • Les conditions de passage sont-elles claires ? Partiellement : les actions sont listées, mais les preuves requises pour lever ECT‑01/ECT‑02/ECT‑03 ne sont pas spécifiées (tests attendus, artefacts de config).
  • Y a-t-il des risques non documentés ? Oui : incohérence périmètre PD‑27 vs PD‑238 (tests invariants), et absence de preuve que les erreurs ERR‑238‑* sont uniformisées.

4. Verdict du reviewer

Verdict : GO AVEC RÉSERVES Justification : les écarts majeurs impactent des invariants de sécurité (rate limiting, sérialisation) et la conformité inter‑story (PD‑27). Les corrections sont identifiées mais non prouvées ; l’acceptation complète est prématurée.