Informe de mostra

Això és el que rebràs.

Un informe d'exemple basat en una anàlisi real (totes les dades són fictícies).

oykli-informe-mostra.pdf
exemple.com — Anàlisi Standard
Mostra
10 d'abril de 2026

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.

1
Crític
3
Alt
5
Mitjà
8
Baix

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

CríticCVSS 9.1
Descripció

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.

Impacte

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.

Passos per reproduir
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ó
Recomanació

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

AltCVSS 7.4
Descripció

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ó.

Impacte

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.

Passos per reproduir
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ó
Recomanació

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ó

MitjàCVSS 6.5
Descripció

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.

Impacte

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.

Passos per reproduir
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
Recomanació

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

BaixCVSS 4.3
Descripció

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.

Impacte

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.

Passos per reproduir
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
Recomanació

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:

  1. 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.

  2. 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ó.

  3. 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.

  4. 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.

Informe de mostra — oykli