html2wp / Безопасность

Как сообщить об уязвимости

Напишите на hello@html2wp.dev и укажите в теме письма SECURITY. Не сообщайте о проблеме безопасности через публичный issue на GitHub. Такие issue видны всем с момента создания, и каждый пользователь скилла оказался бы под угрозой ещё до того, как выйдет обновление.

Как сообщить

Приложите всё, что нужно для воспроизведения проблемы: версию или коммит, шаги и то, чего вы ожидали вместо этого. Proof of concept (рабочая демонстрация эксплойта) пригодится, и мы будем ему рады. Но сообщить о проблеме можно и без него.

Эндпоинт /v1/report из документации для этого не подходит. Это ящик для дефектов генератора, и его читает человек вместе с обычными сообщениями об ошибках.

Чего ожидать

  • Подтверждение, что мы получили сообщение, в течение 3 рабочих дней.
  • Оценку проблемы и примерные сроки в течение 10 рабочих дней.
  • Упоминание в примечаниях к релизу, если вы этого хотите, и никакого упоминания, если нет.

Если ответа нет

Мы маленькая команда, а не компания с отделом безопасности. Если на сообщение не ответили в эти сроки, отправьте его ещё раз. Значит, мы его пропустили, а не игнорируем.

Что входит в область

  • Скилл и скрипты в skills/html2wp/assets/scripts/, которые работают на вашем компьютере.
  • Сервис конвертации на api.html2wp.dev.
  • Тема WordPress, которую создаёт сервис, вместе с её PHP-рантаймом и импортёром контента.

О чём стоит сообщать, даже если это выглядит мелочью: всё, что читает или передаёт файлы за пределами входной папки и рабочего пространства; всё, что позволяет одной конвертации увидеть другую; всё в созданной теме, что доступно без аутентификации; всё, из-за чего завершённая конвертация отдаёт тему, которую должна была отклонить.

Что не входит в область

  • Находки в версии WordPress, PHP или плагина, которую вы сами выбрали, когда решение в том, чтобы её обновить.
  • Временный WordPress в Docker, который test-env.sh использует для локальной проверки. У него намеренно фиксированный пароль администратора, он слушает только 127.0.0.1 и удаляется после каждого запуска. Это тестовое окружение, а не опубликованный сайт.
  • Сообщения о том, что проверку лицензии можно убрать из клиента. Да, можно: клиент ваш, и вы вправе его менять. От этой проверки не зависит ничего, что касается безопасности. Право на функции определяет сервис, и платные части он без ключа просто не создаёт.
  • Объёмные DoS-атаки (завалить сервис запросами) на api.html2wp.dev и находки, которые сводятся к запуску сканера против него.

Тестирование сервиса

Тестируйте на своих конвертациях и со своим лицензионным ключом. Не пытайтесь добраться до заданий, артефактов или рабочих пространств другого аккаунта. Если вы считаете, что нашли такой способ, именно об этом нам и нужно написать, и описания метода достаточно. Доказывать его на чужих данных не нужно.

Что покидает ваш компьютер

Это описано на странице о данных и в README самого плагина: узнавать такое впервые из политики безопасности неправильно. Коротко: на сервис уходит собранный сайт, и конвертация работает с ним. Вердикты проверок отправляются отдельно и содержат только названия и числа. Этап 1 убирает из отправки файлы, похожие на учётные данные, и перечисляет каждый убранный файл. Если вы нашли что-то, что проходит мимо этого фильтра, это входит в область.

Эта страница повторяет файл SECURITY.md из репозиториев плагина. Если они когда-нибудь разойдутся, действует файл в репозитории.