# Политика безопасности ## Поддерживаемые версии Только ветка `main` получает security-обновления. Тегированные релизы (`v0.x`) — best-effort. ## Сообщение об уязвимости **НЕ открывай публичный issue для уязвимостей безопасности.** Уязвимости в этом плеере могут напрямую повлиять на наш продакшен `player.rublox.pro` и игры, опубликованные юзерами. Публичное раскрытие до выпуска патча может привести к реальному вреду реальным пользователям (включая несовершеннолетних, играющих в наши игры). Пиши на: **`security@rublox.pro`** (читает только мейнтейнер проекта) Включи в письмо: 1. Описание проблемы 2. Шаги воспроизведения (или proof-of-concept) 3. Затронутые версии / файлы 4. Твою оценку воздействия (XSS / RCE / IDOR / побег из песочницы / и т.д.) 5. Твой контакт для уточнений 6. Хочешь ли публичное упоминание после фикса (добавим в Hall of Fame в CHANGELOG) ## Что ожидать | Шаг | Сроки | |---|---| | Подтверждение получения | в течение 24 часов | | Оценка серьёзности | в течение 3 рабочих дней | | Фикс в приватной ветке | в течение 7 дней для критичных | | Публичный релиз патча | когда готов, с благодарностью | ## Особенно ценные находки Следующие классы багов **высоко ценятся** (потому что могут скомпрометировать пользователей): - **Побег из script-песочницы** (`engine/scripts/ScriptSandbox*.js`) — скрипт юзера получает доступ к `window`, `document`, `fetch`, `localStorage`, либо угоняет сессии других игроков. - **XSS в рендере контента игр** — названия игр, чат-сообщения, тексты комментов рендерятся как HTML. - **Инъекция мультиплеер-сообщений** — кастомные Colyseus-сообщения роняют других клиентов или выполняют код атакующего. - **Утечка auth-токена** — JWT или ticket появляется в URL, query-string, console-логах, error-страницах или analytics-событиях. - **Инъекция в asset-URL** — префиксы `url:...` (модели от дизайнеров) загружают произвольные файлы вне нашего asset-бакета. ## Что НЕ является уязвимостью (Не теряй своё и наше время — эти отчёты отклоняются.) - Отсутствующий `X-Frame-Options` или `Content-Security-Policy` (знаем, работаем над этим на стороне сервера). - Self-XSS (юзер сам вставляет JS в свой DevTools). - Устаревшие `npm audit` warning'и без рабочего эксплойта. - Раскрытие информации о файлах в репо (это же open-source!). - Отчёты от автоматических сканеров без ручной проверки. ## Награда Мы маленький проект и не можем платить bounty, но за любую настоящую уязвимость: - Публичное упоминание в `CHANGELOG.md` (если хочешь) - Включение в раздел «Hall of Fame» этого файла - Личное спасибо от мейнтейнера - За high-impact-репорты: разовый денежный подарок по усмотрению мейнтейнера (редко, но возможно) ## Hall of Fame _Пока пусто — стань первым!_