Open-source веб-студия для создания игр Рублокса, двойная лицензия AGPL-3.0 + Коммерческая. Главное: - Vite 5 + React 18 + Babylon 7.54.3 + Monaco Editor + Colyseus 0.16 - Самодостаточный движок ~28к строк (66 файлов): BlockManager, TerrainVoxelBuilder, ModelManager, DecoManager, PlayerController, ScriptSandboxWorker, MultiplayerSync, 30+ GD-гейммодов - Главный редактор KubikonEditor (~37к строк) + панели, ScriptEditor (Monaco) - Витрина игр (KubikonFeed, KubikonStudio, KubikonDocs, KubikonLearn) - Geometry Dash sub-app (GdMenu, GdShop, GdRules, GdCoverArt) - 10 admin-preview каталогов для дизайнеров (скины, музыка, порталы и т.д.) - Конфигурируемый бэкенд через VITE_API_BASE — работает со staging (dev-api.rublox.pro) без настройки - Standalone-режим (VITE_STANDALONE=true) — открыть пустой редактор без бэка - Полная документация (на русском): README, ARCHITECTURE, CONTRIBUTING, SECURITY, CHANGELOG - ESLint + Prettier + EditorConfig - Legal: LICENSE (AGPL-3.0), LICENSE-COMMERCIAL.md, CLA.md, COPYRIGHT.md - Issue templates: bug_report, feature_request, security_disclosure Перед публикацией: - Все импорты из minecraftia заменены на локальные - Все хардкоды URL (minecraftia-school.ru) и внутренних IP убраны → env - Admin-эндпоинты Kubikon3DService вырезаны (остаются в приватном репо) - AdminKubikonModeration не публикуется (модерация — в team.rublox.pro) - 93 МБ ассетов public/kubikon-assets вынесены в .gitignore (раздаются через release artifact)
4.3 KiB
4.3 KiB
Политика безопасности
Поддерживаемые версии
Только ветка main получает security-обновления. Тегированные релизы (v0.x) — best-effort.
Сообщение об уязвимости
НЕ открывай публичный issue для уязвимостей безопасности.
Уязвимости в этой студии могут напрямую повлиять на наш продакшен studio.rublox.pro и созданные через неё игры. Публичное раскрытие до выпуска патча может привести к реальному вреду реальным пользователям (включая несовершеннолетних, играющих в опубликованные игры).
Пиши на: security@rublox.pro (читает только мейнтейнер проекта)
Включи в письмо:
- Описание проблемы
- Шаги воспроизведения (или proof-of-concept)
- Затронутые версии / файлы
- Твою оценку воздействия (XSS / RCE / IDOR / побег из песочницы / и т.д.)
- Твой контакт для уточнений
- Хочешь ли публичное упоминание после фикса (добавим в 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 auditwarning'и без рабочего эксплойта. - Раскрытие информации о файлах в репо (это же open-source!).
- Отчёты от автоматических сканеров без ручной проверки.
Награда
Мы маленький проект и не можем платить bounty, но за любую настоящую уязвимость:
- Публичное упоминание в
CHANGELOG.md(если хочешь) - Включение в раздел «Hall of Fame» этого файла
- Личное спасибо от мейнтейнера
- За high-impact-репорты: разовый денежный подарок по усмотрению мейнтейнера (редко, но возможно)
Hall of Fame
Пока пусто — стань первым!