Безопасность
Как сообщить об уязвимости в Maran, что входит в область поиска и что нет, каких сроков ответа ждать и что проект делает на своей стороне.
Maran ставит демон, работающий от root, и панель, которая заводит системных пользователей. Дефект здесь — не неудобство, поэтому сообщению о нём здесь рады и на него ответят.
Как сообщить об уязвимости
Пишите на security@innovayse.com. Не открывайте публичный issue и не описывайте проблему в пулл-реквесте до того, как она исправлена. Если хотите шифровать — скажите об этом первым письмом без подробностей, и вам пришлют ключ.
Получение отчёта подтверждается в течение 48 часов. Для критичных проблем целевой срок исправления или описанного обходного решения — 14 дней; менее серьёзные ставятся в план, и вам сообщают срок. Скоординированное раскрытие соблюдается, и вас указывают под тем именем, которое вы выберете, если только вы не попросите обратного.
Что приложить
Достаточно для воспроизведения — и ничего, что не ваше:
- что получает атакующий: чтение файлов другого арендатора, повышение до root, обход лимита;
- кратчайшую последовательность, которая это показывает, и дистрибутив с версией;
- нужна ли аутентифицированная сессия и в какой роли;
- логи, если они помогают, — без токенов, имён хостов и данных клиентов.
Проверяйте на своей установке
Зондирование чужого сервера с этим ПО — не исследование, и никакая находка этого не оправдывает. Полученный так отчёт не принимается и может быть преступлением там, где находитесь вы или они. Своя установка — это одна команда.
Область
Входит — всё, что проект поставляет: API панели, одностраничное приложение, агент на Rust и его сокет, установщик и шаблоны, которые агент рендерит. Сообщения о дизайне тоже входят: если записанное правило оказалось неверным, это ценнее ошибки.
Не входит — находки, требующие, чтобы атакующий уже был root на хосте; отказ в обслуживании за счёт исчерпания ресурсов самой машины; отсутствие защитных заголовков без показанного влияния; и отчёты, собранные одним сканером без рассуждения.
Поддерживаемые версии
До 1.0 исправления получает только последний релиз. После 1.0 политика назовёт версии, которые их получают.
Что проект делает на своей стороне
Изменения в аутентификации, сессиях и токенах, в работе агента с привилегиями, в проверке лицензии или в привилегированном шаге установщика требуют второго ревьюера и письменной заметки об угрозах до слияния. Зависимости зафиксированы и обновляются осознанно, а не ботом; секреты не попадают в репозиторий.
Первая линия здесь — архитектура: панель работает без привилегий, root держит один небольшой демон, и в контракте между ними нет операции, запускающей переданную программу. Что это значит на практике — в документации.