# Политика безопасности

## Поддерживаемые версии

Только ветка `main` получает security-обновления. Тегированные релизы (`v0.x`) — best-effort.

## Сообщение об уязвимости

**НЕ открывай публичный issue для уязвимостей безопасности.**

Уязвимости в этой студии могут напрямую повлиять на наш продакшен `studio.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

_Пока пусто — стань первым!_
