Això és el que rebràs.
Un informe d'exemple basat en una anàlisi real (totes les dades són fictícies).
Resum executiu
Aquest informe documenta l'anàlisi de seguretat feta sobre exemple.com entre el 8 i el 10 d'abril de 2026. Hem identificat 17 troballes en total, distribuïdes en 4 nivells de severitat. La troballa crítica requereix atenció immediata: una vulnerabilitat de control d'accés permet a un usuari autenticat accedir a les factures de qualsevol altre client. Recomanem seguir l'ordre de prioritat que detallem a la secció "Pròxims passos" — des de la troballa crítica, que requereix atenció en les pròximes 48 hores, fins a les de menor severitat, que es poden abordar els pròxims 30 dies.
Abast i metodologia
L'anàlisi va cobrir la superfície pública d'exemple.com, les funcionalitats autenticades accessibles mitjançant un usuari de prova estàndard, i l'API REST documentada al Swagger proporcionat pel client. Es van analitzar específicament les àrees de gestió de factures, panell d'usuari, formularis de contacte i endpoints públics.
Combinem diversos agents d'IA especialitzats en ciberseguretat amb la supervisió i validació d'un expert humà. Els agents van executar proves automatitzades per detectar vulnerabilitats comunes, errors de configuració i exposició de dades. L'expert va validar cada troballa manualment, va descartar falsos positius i va analitzar casos específics del context del client.
Troballes detallades
IDOR a /api/facturas/:id
L'endpoint /api/facturas/:id no valida que l'usuari autenticat tingui permís per accedir al recurs sol·licitat. Qualsevol usuari amb sessió iniciada pot accedir a les factures d'altres clients simplement canviant l'ID a la URL.
Un atacant autenticat podria descarregar totes les factures històriques del sistema, incloent-hi dades personals (nom, adreça, NIF), informació de pagament i historial de compres. Això suposa un risc greu d'exposició de dades personals sota el RGPD i podria comportar sancions regulatòries a més del dany reputacional.
1. Iniciar sessió com a usuari A (client legítim) 2. Accedir a una factura pròpia: GET /api/facturas/12345 3. Modificar l'ID a la URL: GET /api/facturas/12346 4. La resposta retorna la factura del client B sense error d'autorització
Implementar una comprovació de propietat a l'endpoint: validar que el user_id de l'usuari autenticat coincideix amb el user_id associat a la factura sol·licitada abans de retornar les dades. Aplicar el mateix patró a tots els endpoints que reben IDs de recursos a la URL.
XSS emmagatzemat en missatge de suport
El camp "missatge" del formulari de suport no escapa correctament l'HTML enviat per l'usuari. Un atacant pot injectar codi JavaScript que s'executa quan un agent de suport obre el tiquet al panell d'administració.
Un atacant pot segrestar la sessió d'un agent de suport, robant cookies d'autenticació i obtenint accés al panell d'administració. En el pitjor escenari, això podria escalar a un control complet del sistema i de les dades de tots els clients.
1. Crear un tiquet de suport amb el missatge: '<script>alert(document.cookie)</script>' 2. L'agent de suport obre el tiquet al panell d'administració 3. El JavaScript s'executa en el context de l'agent, exposant les seves cookies de sessió
Escapar totes les sortides d'usuari a l'HTML del panell d'administració. Fer servir una llibreria de sanització com DOMPurify o aplicar codificació HTML estàndard en renderitzar text de l'usuari. Establir una Content-Security-Policy estricta com a defensa addicional.
JWT sense expiració
Els tokens JWT generats per l'endpoint /api/auth/login no inclouen el claim "exp" (expiration). Els tokens són vàlids indefinidament un cop emesos, sense possibilitat d'invalidació individual.
Si un token es veu compromès (mitjançant phishing, malware al dispositiu de l'usuari, etc.), l'atacant manté accés al sistema permanentment. No hi ha manera d'invalidar el token sense rotar la clau de signatura del JWT, cosa que tancaria la sessió a tots els usuaris simultàniament.
1. Fer login a través de POST /api/auth/login 2. Capturar el token JWT de la resposta 3. Descodificar el token (jwt.io) 4. Confirmar que falta el camp "exp" 5. Fer servir el token 30 dies després: continua sent vàlid
Afegir un claim "exp" amb un temps de vida raonable (15-60 minuts per a tokens d'accés). Implementar un sistema de refresh tokens per a sessions de llarga durada. Establir una rotació periòdica de la clau de signatura del JWT.
Capçaleres de seguretat absents
El servidor web no retorna capçaleres de seguretat importants en les respostes HTTP: Content-Security-Policy, Strict-Transport-Security, X-Frame-Options i Referrer-Policy. Aquestes capçaleres són la primera línia de defensa contra diversos tipus d'atacs de client.
Augmenta el risc d'atacs de clickjacking, XSS, downgrade a HTTP i filtració d'informació mitjançant el referrer. No són atacs directes però redueixen les defenses en profunditat i deixen l'usuari exposat a vectors d'atac que es podrien mitigar fàcilment.
1. Accedir a https://exemple.com amb curl 2. Inspeccionar les capçaleres de resposta: curl -I https://exemple.com 3. Verificar l'absència de les capçaleres esmentades
Configurar el servidor web (nginx/apache) o el proxy/CDN (Cloudflare, Vercel) per enviar les capçaleres de seguretat recomanades. Validar la configuració fent servir securityheaders.com.
+ 13 troballes més a l'informe complet, totes explicades amb el mateix nivell de detall.
Pròxims passos
Recomanem abordar les troballes seguint aquest ordre de prioritat:
- URGENT — pròximes 48 hores
Aplicar la correcció de la troballa crítica (IDOR a /api/facturas/:id). Mentre s'aplica el fix, considerar limitar temporalment l'accés a l'API de factures a través del WAF.
- PRIORITAT ALTA — pròxima setmana
Sanititzar el camp de missatges de suport per prevenir el XSS emmagatzemat. Com a mesura preventiva, rotar totes les cookies de sessió actives del panell d'administració.
- PRIORITAT MITJANA — pròxims 30 dies
Implementar expiració als JWT (claim "exp") i considerar refresh tokens per a sessions de llarga durada. Establir una política de rotació de tokens.
- MILLORES GENERALS — pròxims 60 dies
Configurar les capçaleres de seguretat recomanades (CSP, HSTS, X-Frame-Options, Referrer-Policy). Validar la configuració amb securityheaders.com.
Si tens dubtes sobre qualsevol de les recomanacions o necessites ajuda per prioritzar les correccions, respon a l'email de l'informe i t'ajudem.
Vols un informe així per a la teva web?
Demana la teva auditoria ara i rep un informe així per a la teva web.