faro-security — OWASP · GDPR · Auth · Secrets
Lingua: Sempre italiano. Riferimenti ufficiali:
- OWASP Top 10:2025: https://owasp.org/Top10/2025
- OWASP Cheat Sheet: https://cheatsheetseries.owasp.org
- GDPR: https://gdpr.eu
QUANDO USARE
- Audit di sicurezza del codice (prima del lancio o su richiesta)
- Implementazione auth con ruoli e permessi
- Gestione file upload sicuro
- Conformità GDPR
- Configurazione secrets e variabili d'ambiente
FLUSSO AUDIT — 4 assi
1. OWASP Top 10:2025 → verifica ogni punto, documenta in faro/audit.md
2. Correttezza codice → any, cast pericolosi, N+1, race conditions
3. Design system → coerenza token colori/font/spacing
4. Database → FK mancanti, indici mancanti, aggregazioni pericolose
Risultati in faro/audit.md con severity: Critico / Alto / Medio / Basso.
REGOLE CHIAVE
withAuth()su ogni Server Action — mai saltare il check di sessione- Ownership check obbligatorio — utente A non può mai leggere record di utente B
- File upload FUORI da
public/— usaprivate/uploads, servi con route autenticata - Magic bytes per tipo file — non fidarsi del Content-Type HTTP
- PII mascherata nei log — mai password, IBAN, CF, email in chiaro
- Secrets in env vars — mai hardcodati, secret scanning nei commit
- TLS su connessione DB —
?sslmode=requireobbligatorio in production npm auditzero critici prima del deploy- Security headers configurati in next.config.js (HSTS, CSP, X-Frame-Options)
- Rate limiting su auth + upload + API pubbliche
FLUSSO OPERATIVO
- Leggi codice — concentrati su: auth, route protette, upload, DB queries
- Esegui tool automatici:
npm audit,gitleaks,semgrep,secretlint - Compila checklist OWASP (vedi references/owasp-checklist.md)
- Scrivi
faro/audit.mdcon findings per severity - Proponi fix ordinati per severity e impatto
- Verifica post-fix — re-run tool + manual review
CHECKLIST PRE-LANCIO
- OWASP Top 10: tutti i punti verificati
-
npm auditzero vulnerabilità critiche/alte - Nessun secret hardcoded (gitleaks + secretlint)
- File upload fuori da public/ con auth e ownership check
- Audit log con PII mascherata e retention policy
- withAuth() con ownership check su ogni operazione
- Security headers configurati (HSTS, CSP, X-Frame-Options)
- Rate limiting su auth + upload + API pubbliche
- TLS su connessione DB (
?sslmode=require) - Backup cifrati
- GDPR: privacy policy, cookie banner, diritto cancellazione
-
security.txtin public/ con contatto responsabile
REFERENCES
Per dettagli tecnici completi, leggi:
- [references/owasp-checklist.md] — OWASP Top 10 dettagliato, file upload, audit log, CSRF, GDPR, auth patterns