feat: brain-template v2.0 — BSI-v3 complet + tiers documentés
- README reécrit : tiers free/pro/full + modèle clé API + multi-instance - Sync agents/ (57 agents, kernel-isolation validated) - Sync scripts/ BSI-v3 (file-lock, preflight, human-gate, brain-status) - KERNEL.md v0.7.0 — zones + délégation + rendering + isolation - brain-compose.yml v0.7.0 — rendering mode + kerneluser - workflows/ — template + brain-engine exemple - locks/.gitkeep + claims/.gitkeep - helloWorld : RAG boot tier full only (bsi-rag retiré du template)
This commit is contained in:
76
agents/reviews/SuperOAuth/security-v1.md
Normal file
76
agents/reviews/SuperOAuth/security-v1.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Review agent : security — v1
|
||||
|
||||
> ⚠️ Ce fichier concerne la QUALITÉ DE L'AGENT, pas les tests du code applicatif.
|
||||
> Tests code → voir `projet/src/__tests__/` et Jest/Vitest.
|
||||
|
||||
---
|
||||
|
||||
## Contexte de la review
|
||||
|
||||
| Info | Valeur |
|
||||
|------|--------|
|
||||
| Agent reviewé | `security` |
|
||||
| Version | v1 |
|
||||
| Date | 2026-03-12 |
|
||||
| Projet testé | Super-OAuth |
|
||||
| Cas soumis | Audit + fix branche feature/security-hardening — JWT blacklist, CSRF, CSP nonce, device fingerprinting |
|
||||
|
||||
---
|
||||
|
||||
## Output résumé
|
||||
|
||||
**Phase 1 — Audit**
|
||||
- JWT Blacklist Redis ✅ — implémentation propre (JTI seul, TTL auto)
|
||||
- CSRF ✅ mais CSRF_SECRET hardcodé ligne 17 → 🔴 bloquant
|
||||
- CSP Nonce ✅ excellent
|
||||
- Device Fingerprinting 🔴 — généré et stocké, jamais validé (feature morte)
|
||||
- Rate Limiting ✅ excellent
|
||||
|
||||
**Phase 2 — Fix**
|
||||
- Fix 1 : CSRF_SECRET ajouté dans .env.example avec commande openssl
|
||||
- Fix 2 : device fingerprinting câblé en DDD correct (controller → DTO → use case)
|
||||
- TypeScript vérifié : `npx tsc --noEmit` → 0 erreur
|
||||
- Soft check choisi : log warning sans rejeter (false positifs mobile en roaming)
|
||||
|
||||
---
|
||||
|
||||
## Évaluation
|
||||
|
||||
### ✅ Ce qui a bien fonctionné
|
||||
- A lu les fichiers AVANT de toucher quoi que ce soit
|
||||
- A compris et respecté l'architecture DDD sans qu'on le rappelle
|
||||
- A documenté le *pourquoi* directement dans les commentaires de code
|
||||
- A vérifié la compilation TypeScript et corrigé l'erreur `exactOptionalPropertyTypes` seul
|
||||
- Soft check bien raisonné : mesurer les mismatches avant de passer en hard reject
|
||||
- A suggéré les commits/PR sans les créer — coordinateur propre
|
||||
|
||||
### ❌ Ce qui manquait
|
||||
- N'a pas suggéré d'ajouter des tests pour le nouveau flow fingerprint (agent `testing` à invoquer)
|
||||
- N'a pas vérifié si `sessionRepository.create()` acceptait déjà le paramètre optionnel dans son interface (tsc a validé, mais expliciter aurait été mieux)
|
||||
|
||||
### ⚠️ Anti-hallucination respectée ?
|
||||
- [x] N'a pas inventé de commandes — tout ancré dans le vrai code
|
||||
- [x] A dit "À discuter" pour les décisions comportementales (fail-open vs fail-closed)
|
||||
- [x] A géré l'erreur TypeScript sans l'ignorer
|
||||
|
||||
### 📐 Périmètre respecté ?
|
||||
- [x] N'a pas débordé sur la perf (noté ⚠️ sans plonger)
|
||||
- [x] A suggéré commits/PR sans les exécuter
|
||||
- [x] Fix dans le bon layer DDD — pas dans le middleware
|
||||
|
||||
---
|
||||
|
||||
## Gaps identifiés → à corriger dans l'agent
|
||||
|
||||
| Gap | Correction proposée | Priorité |
|
||||
|-----|--------------------|----|
|
||||
| N'a pas suggéré de tester le nouveau flow | Ajouter dans le périmètre : "après un fix, suggérer d'invoquer `testing`" | moyenne |
|
||||
|
||||
---
|
||||
|
||||
## Action
|
||||
|
||||
- [x] Review complète
|
||||
- [x] Gap reporté dans `agents/security.md` changelog
|
||||
- [x] Règle ajoutée directement dans Périmètre (Recruiter non nécessaire — correction simple)
|
||||
- [ ] v2 planifiée (prochain audit réel sur Super-OAuth)
|
||||
Reference in New Issue
Block a user