← Todos los checks
SeguridadSeveridad típica: Bajo

Comprobador de security.txt

Comprueba si publicas un archivo security.txt (RFC 9116) para que te reporten vulnerabilidades.

Qué comprueba

Este comprobador mira si publicas un archivo security.txt siguiendo el estandar RFC 9116. Ese archivo indica a los investigadores de seguridad como reportarte un problema que encuentren. El escaner solo verifica si existe y es accesible.

Por qué importa

Sin security.txt, quien descubra un fallo en tu web puede no saber a quien avisar y acabar publicandolo o ignorandolo. Tenerlo facilita la divulgacion responsable y proyecta profesionalidad en seguridad. No es obligatorio, pero es una buena practica cada vez mas esperada.

Cómo se arregla

Crea un archivo de texto en la ruta /.well-known/security.txt con al menos un campo de contacto, como un correo o un formulario. Anade tambien la fecha de expiracion que pide el estandar. Es un archivo estatico sencillo que puedes subir junto al resto de tu web.

Cómo funciona esta comprobación

Scanaris pide /.well-known/security.txt, que es la ruta estándar del RFC 9116, y si no la encuentra prueba /security.txt en la raíz, que es la ubicación antigua. Da el archivo por presente solo si responde 200 y contiene una línea que empieza por Contact:, el único campo obligatorio junto con Expires. Así descarta las aplicaciones de una sola página que devuelven su HTML para cualquier ruta. Si no lo encuentra, abre un hallazgo de severidad informativa: no resta puntos a tu nota, porque no tenerlo no es un fallo de seguridad; es una buena práctica que te falta.

Para qué sirve

Cuando alguien encuentra un fallo en tu web (un investigador, un usuario curioso, otra empresa), necesita saber a quién avisar. Sin una vía clara, lo normal es que no avise, que lo publique, o que escriba al formulario de contacto genérico y nadie lo lea. security.txt es un archivo de texto en una ruta conocida donde dices "escríbeme aquí, en este idioma, y esta es mi política". Lo leen personas y herramientas, y cada vez más programas de recompensas y aseguradoras lo dan por supuesto. También te protege a ti: deja claro que aceptas reportes responsables y bajo qué condiciones.

Cómo crearlo

Un archivo mínimo válido:

Contact: mailto:security@tudominio.com
Expires: 2027-10-01T00:00:00.000Z
Preferred-Languages: es, en
Canonical: https://tudominio.com/.well-known/security.txt
  • Contact (obligatorio): un mailto:, una URL de formulario o un tel:. Puedes poner varios, en orden de preferencia. El buzón tiene que existir y leerse.
  • Expires (obligatorio): fecha en formato ISO 8601 a partir de la cual el archivo deja de ser válido. El RFC recomienda menos de un año: ponte un recordatorio para renovarlo.
  • Preferred-Languages, Policy (URL de tu política de divulgación), Encryption (tu clave PGP) y Acknowledgments (página de agradecimientos) son opcionales.
  • Canonical indica la URL oficial del archivo; útil si firmas el archivo con PGP para que nadie pueda publicar uno falso.

Dónde ponerlo

  • Nuxt, Next.js, Vite, Astro: crea public/.well-known/security.txt; se sirve tal cual. Comprueba que el .gitignore no ignore carpetas que empiecen por punto.
  • Vercel y Netlify: lo mismo, dentro de la carpeta pública del proyecto.
  • nginx o Apache: un archivo en /.well-known/security.txt del directorio servido; si tu aplicación captura todas las rutas, añade una excepción para /.well-known/.
  • WordPress: sube el archivo por FTP a .well-known/ en la raíz, o usa un plugin que lo genere.

Sírvelo como text/plain y en HTTPS. Si tienes muchos dominios, cada uno debe tener el suyo o redirigir al canónico.

Comprueba que está arreglado

curl -si https://tudominio.com/.well-known/security.txt | grep -iE "^(HTTP|content-type|contact|expires)"

Esperado: 200, tipo text/plain, una línea Contact: y una Expires: con fecha futura.

Preguntas frecuentes

¿Me van a llegar más correos de spam o de "cazarrecompensas"?

Algo de correo de baja calidad llegará; es el precio de ser localizable. Un filtro sencillo y una política clara (qué cuenta como reporte válido, si pagas o no) reducen el ruido. Lo que te ahorra es la alternativa: enterarte por Twitter.

¿Puedo poner solo el formulario de contacto general?

Puedes, pero es mejor un buzón dedicado que alguien revise. Si el formulario general lo lee marketing, un aviso de vulnerabilidad puede tardar semanas en llegar a quien toca.

¿Por qué no penaliza la nota?

Porque mide preparación, no exposición. El resto de comprobaciones de seguridad, las que sí pesan, están en la checklist de seguridad antes de lanzar.

Compruébalo en tu web

Escanea tu web gratis y mira si este y otros 44 checks pasan, con un prompt de arreglo por cada fallo.

Escanear mi web gratis

Checks relacionados