Что такое security.txt?

security.txt — это небольшой текстовый файл, определённый в RFC 9116. В нём указано, как исследователям безопасности сообщить об уязвимости на вашем сайте. Файл находится по адресу /.well-known/security.txt. Если его нет, тому, кто обнаружит ошибку, придётся гадать, кому написать, или вовсе отказаться от этой идеи.

В файле нужны два поля. Contact указывает, как с вами связаться, а Expires — дату, после которой файл считается устаревшим. RFC рекомендует указывать дату Expires не более чем на год вперёд, чтобы файл проверяли хотя бы раз в год.

Описание инструмента

Укажите один контакт в каждой строке. Обычный адрес электронной почты преобразуется в ссылку mailto:, а номер телефона — в ссылку tel: с удалёнными пробелами, дефисами, точками и скобками. Для любого другого контакта укажите ссылку https://. По умолчанию дата истечения срока действия устанавливается на год вперёд и указывается как последняя секунда этого дня в UTC. В поле Preferred-Languages указывается список языков через запятую; по умолчанию — en.

Необязательные поля: ключ шифрования, политика, благодарности, вакансии и канонические URL. Пустые поля не добавляются в файл.

Скопируйте файл или скачайте его как security.txt. В примечании под ним перечислены ошибки: отсутствует контакт; контакт не является адресом электронной почты, номером телефона или ссылкой https://; дата истечения срока действия отсутствует, уже прошла или наступит более чем через год; либо URL не начинается с https://. Ключ шифрования также может иметь формат openpgp4fpr: или dns:.

RFC 9116 также допускает версию, подписанную с помощью OpenPGP. Этот инструмент создаёт файл без подписи.

Пример

Для двух контактов, даты истечения срока действия 2027-10-21, английского и немецкого языков, а также трёх URL получится:

Contact: mailto:security@example.com
Contact: tel:+15550100199
Expires: 2027-10-21T23:59:59.000Z
Encryption: https://example.com/pgp-key.txt
Preferred-Languages: en, de
Canonical: https://example.com/.well-known/security.txt
Policy: https://example.com/security-policy

В качестве контактов были указаны security@example.com и +1 (555) 010-0199.

Возможности

  • Преобразует обычные адреса электронной почты и номера телефонов в допустимые контакты
  • Проверяет дату истечения срока действия и ссылки по мере ввода
  • Позволяет скопировать файл или скачать его как security.txt