Юзер указал что вся документация opensource-репо должна быть на русском. Также: - .env.example комменты на русском - package.json description на русском - Описания org и repo в Gitea обновлены через API
65 lines
4.3 KiB
Markdown
65 lines
4.3 KiB
Markdown
# Политика безопасности
|
||
|
||
## Поддерживаемые версии
|
||
|
||
Только ветка `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
|
||
|
||
_Пока пусто — стань первым!_
|