Aller au contenu

PD-242 — Revue de Code

Reviewer : ChatGPT (gpt-5.3-codex) Date : 2026-02-19

Résumé

Critère Statut
Patterns React Native ⚠️
Qualité code
Gestion erreurs ⚠️
Maintenabilité ⚠️

Verdict : ⚠️ RÉSERVES

Points positifs

  • Wrapper BIP-39 propre et lisible avec garde-fous explicites sur 24 mots/256 bits
  • Bonne séparation des responsabilités : crypto dans src/crypto et src/services, UI dans composants/screens
  • Validation défensive cohérente dans recoveryService.ts
  • Usage de primitives modernes adaptées RN/Hermes (@noble/*, AES-GCM, HKDF)
  • Comparaison constant-time implémentée
  • Effort explicite de zeroization et API de service testable

Points à améliorer

ID Description Fichier Gravité
R-01 Zeroization non garantie en cas d'exception (seed hors finally) recoveryService.ts MAJEUR
R-02 catch {} silencieux (perte de diagnostic) RecoveryCreateScreen.tsx MAJEUR
R-03 Protection screenshot non implémentée (TODO) MnemonicDisplay.tsx MAJEUR
R-04 Timer non resynchronisé si timeoutSeconds change MnemonicDisplay.tsx MINEUR
R-05 Suggestions non indexées par champ actif MnemonicInput.tsx MINEUR
R-06 Absence try/finally autour des opérations sensibles RecoveryCreateScreen.tsx MAJEUR
R-07 CC-06/CC-07 non vérifiables (mocks API) Screens MAJEUR (à confirmer)

Classification des écarts

Écarts bloquants (à corriger avant Gate 8)

  • R-01, R-06 : Zeroization try/finally → à implémenter

Écarts documentés (hors scope PD-242)

  • R-03 : Protection screenshot → INV-242-10 marqué comme "TODO (native requis)" dans spec
  • R-07 : API backend → hors scope PD-242, dépend de PD-243

Écarts mineurs (non bloquants)

  • R-02, R-04, R-05 : Améliorations UX/debug