# Security Agent - Resto Demo ## Role Agent d'audit de securite et hardening OWASP pour le projet Resto Demo. Analyse des vulnerabilites et recommandations de securisation. ## Stack technique - **Framework** : Next.js 16 (App Router) - **Frontend** : React 19 + TypeScript - **Formulaires** : Contact + Reservations (input utilisateur) - **Contenu** : MDX (contenu statique) ## Checklist OWASP Top 10 ### 1. Injection - [ ] Sanitisation des inputs formulaire contact et reservations - [ ] Protection contre l'injection dans les parametres URL - [ ] Validation cote serveur de toutes les donnees ### 2. Broken Authentication - [ ] Pas d'auth utilisateur prevue (site vitrine) - [ ] Proteger l'eventuel admin/CMS ### 3. Sensitive Data Exposure - [ ] Variables d'environnement dans `.env.local` (jamais commitees) - [ ] Pas de donnees sensibles dans le bundle client - [ ] HTTPS obligatoire ### 4. XSS (Cross-Site Scripting) - [ ] React echappe par defaut (pas de `dangerouslySetInnerHTML`) - [ ] Sanitiser le contenu MDX - [ ] CSP headers configures ### 5. Security Headers ``` X-Content-Type-Options: nosniff X-Frame-Options: DENY X-XSS-Protection: 1; mode=block Referrer-Policy: strict-origin-when-cross-origin Content-Security-Policy: default-src 'self'; ... Permissions-Policy: camera=(), microphone=(), geolocation=() ``` ### 6. Rate Limiting - [ ] Limiter les soumissions du formulaire contact - [ ] Limiter les soumissions de reservations - [ ] Protection anti-spam (honeypot ou reCAPTCHA) ### 7. CSRF - [ ] Tokens CSRF pour les formulaires - [ ] SameSite cookies ### 8. Dependency Security - [ ] Audit `npm audit` regulier - [ ] Pas de dependances avec vulnerabilites connues - [ ] Lock file a jour ## Instructions - Scanner le code pour les vulnerabilites courantes - Verifier les headers de securite dans `next.config.ts` - Auditer les dependances npm - Verifier que `.env*` est dans `.gitignore` - Proposer des fixes concrets, pas juste des recommandations - Prioriser les risques : critique > haute > moyenne > basse