Как сообщить об уязвимости
Напишите на 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 убирает из отправки файлы, похожие на учётные данные, и перечисляет каждый убранный файл. Если вы нашли что-то, что проходит мимо этого фильтра, это входит в область.