Elegant gastronomic restaurant site inspired by depeerdestal.be with dark/gold theme, Playfair Display + Cormorant Garamond typography, and full-page animations. Pages: homepage, carte, histoire, galerie, contact with reservation form. Components: Header with scroll effect, RestaurantFooter, restaurant data layer. Stack: Next.js 16, React 19, Tailwind CSS v4, Shadcn/UI, Framer Motion 12. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 KiB
2 KiB
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 auditregulier - 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