Denuncias e IOC

Generador de security.txt

Se ejecuta localmente

La herramienta en sí está en inglés; en esta página se explica en tu idioma.

Utiliza Generador de security.txt

Para qué sirve

Crea un archivo security.txt para que los investigadores y quienes denuncian phishing que imita tu marca sepan cómo contactar contigo. Guarda el resultado como /.well-known/security.txt.

Funciona íntegramente en tu navegador: no se sube nada de lo que introduzcas.

Cómo utilizar Generador de security.txt

  1. Introduce un contacto. Escribe en «Contacto» cómo ponerse en contacto con tu equipo de seguridad, una por línea: mailto:security@example.com, una dirección https:// de un formulario de informe o un número de teléfono. Si se introduce solo una dirección de correo electrónico, se le añadirá «mailto:».
  2. Fija la fecha de caducidad. Elige una fecha en Expires. La predeterminada es dentro de un año; RFC 9116 recomienda menos de un año, así que elige una fecha anterior.
  3. Añade campos opcionales. Rellena Preferred-Languages (en por defecto), Canonical, Policy, Encryption, Acknowledgments y Hiring si los tienes. Los campos vacíos se omiten del archivo.
  4. Genera y copia. Pulsa Generate (Generar) y lee el resultado en el recuadro de salida. Revisa una vez más cada dirección, porque la herramienta las copia tal como se escriben, y después pulsa Copy (Copiar).
  5. Publica y renueva. Guarda el texto como /.well-known/security.txt en tu sitio por HTTPS, fírmalo con gpg --clearsign si quieres y anota una fecha para renovarlo antes de que caduque.

Ejemplo

Archivo mínimo

Entrada
mailto:security@example.com
Resultado (registrado el 2026-10-20)
Contact: mailto:security@example.com
Expires: 2027-10-20T23:59:59.000Z
Preferred-Languages: en

Genera «Contact: mailto:security@example.com», una línea «Expires» con una vigencia de un año a partir de las 23:59:59Z y «Preferred-Languages: en»: los dos campos obligatorios más una indicación del idioma, con un recordatorio de que la RFC 9116 recomienda que la fecha de caducidad sea inferior a un año.

Qué comprueba

SeñalQué significa
Contact:Una línea por contacto, en el orden en que los hayas escrito. Cada uno debe ser un URI del tipo «mailto:», «https://» o «tel:», tal y como establece el RFC 9116; los valores del tipo «http://» y los que tengan un formato incorrecto generarán un error en lugar de mostrar un archivo.
Expires:La fecha elegida a las 23:59:59 UTC, escrita con milisegundos, por ejemplo 2027-03-31T23:59:59.000Z. Si vacías el campo de la fecha, Generate deja de producir un archivo nuevo.
Preferred-Languages:en por defecto. Usa códigos de idioma separados por comas, como en, de, o vacía el campo para omitir la línea.
Canonical:La dirección https:// completa donde está este archivo, para que se pueda reconocer una copia servida desde otro lugar.
Encryption:Un enlace a tu clave pública OpenPGP, para que quienes denuncian puedan cifrar los detalles sensibles.
Policy, Acknowledgments, HiringEnlaces a tu política de divulgación, a una página de agradecimiento a quienes informan y a ofertas de empleo en seguridad. Todos son opcionales, y la herramienta no comprueba que los enlaces funcionen.
Una dirección de rol en ContactUsa una dirección o un formulario que vigile un equipo, como security@ de tu dominio, no el buzón de una persona, para que las denuncias sigan llegando cuando la gente cambie de puesto.
Error: Contact is requiredSe muestra cuando el campo «Contacto» está vacío. Cualquier error sustituye el resultado por una nota que indica que no se ha generado nada hasta que se corrijan los campos.

Más ejemplos

Formulario web con idiomas y política

Entrada
Contact https://example.org/report-security, Expires 2027-03-31, Preferred-Languages en, de, Canonical https://example.org/.well-known/security.txt, Policy https://example.org/security-policy
Resultado

Cinco líneas en este orden: Contact: https://example.org/report-security, Expires: 2027-03-31T23:59:59.000Z, Preferred-Languages: en, de, Canonical: https://example.org/.well-known/security.txt, Policy: https://example.org/security-policy.

Contacto por correo con clave, sin idioma

Entrada
Contact mailto:abuse@example.net, Expires 2027-06-30, Preferred-Languages cleared, Encryption https://example.net/pgp-key.txt
Resultado

Tres líneas: Contact: mailto:abuse@example.net, Expires: 2027-06-30T23:59:59.000Z y Encryption: https://example.net/pgp-key.txt.

Contact vacío

Entrada
All fields filled except Contact
Resultado

Error: Es necesario rellenar el campo «Contacto», y aparece un mensaje indicando que no se ha generado nada. Los demás campos conservan sus valores, así que rellena el campo «Contacto» y vuelve a pulsar «Generar».

Preguntas frecuentes

¿Qué campos son obligatorios?

La RFC 9116 exige que haya al menos un campo «Contact» y exactamente un campo «Expires»; el resto son opcionales. Cada línea «Contact» debe ser un URI «mailto:», «https://» o «tel:» (a una dirección de correo electrónico sin formato se le añade «mailto:»); «Expires» debe ser una fecha futura, y «Generate» muestra un error en lugar de un archivo cuando falta alguno de estos campos o alguno de ellos no es válido.

¿Qué fecha debo poner en Expires?

La fecha predeterminada es un año a partir de hoy, mientras que el RFC 9116 recomienda que sea inferior a un año, así que elige una fecha anterior para cumplir con lo establecido; la página te avisa cuando la fecha se sitúe más de un año en el futuro. Renueva el archivo antes de esa fecha, ya que el RFC establece que un archivo security.txt caducado debe considerarse obsoleto.

¿Sube o firma algo?

No. El archivo se genera en tu navegador y no se envía nada a ningún sitio. No está firmado; RFC 9116 recomienda una firma OpenPGP en texto claro, que puedes añadir con gpg --clearsign antes de publicarlo.

¿Puedo indicar más de un contacto?

Sí. El RFC 9116 permite incluir varias líneas de contacto, que se leen por orden de preferencia. Escribe un contacto por línea en el campo «Contacto»; los contactos duplicados se registran una sola vez.

¿Dónde va exactamente el archivo?

En https://tu-dominio/.well-known/security.txt, servido por HTTPS como texto sin formato. Una copia o una redirección en /security.txt es opcional.

¿Un solo archivo cubre mis subdominios?

No. RFC 9116 dice que un security.txt solo se aplica al host desde el que se obtuvo, no a sus subdominios ni a su dominio superior. Publica una copia en cada host donde la gente pueda buscarlo, como www y shop.

¿Cómo ayuda security.txt contra el phishing que copia mi marca?

Quienes encuentran un sitio que imita al tuyo o un correo falso en tu nombre a menudo quieren avisarte. Una línea Contact que funcione hace llegar esa denuncia a tu equipo de seguridad en lugar de a una cola general de soporte, para que puedas actuar antes contra el dominio imitador.

Explicación de los términos

Investigación de PhishDestroy