Skip to content

Security: IlyaBarilo/gamespace

Security

SECURITY.md

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

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

Исправления безопасности предназначены прежде всего для последнего стабильного выпуска из GitHub Releases. Ветка main может содержать ещё не выпущенные изменения. Опубликованные пакеты прошлых PWA-версий сохраняются неизменяемыми и не получают исправления задним числом.

Как сообщить об уязвимости

Не публикуйте сведения о потенциальной уязвимости в обычном Issue до её исправления.

Предпочтительный канал — Private vulnerability reporting на вкладке Security репозитория. Если эта функция недоступна, сначала свяжитесь с автором через контакты на barilo.ru и передайте краткое описание без архива, персональных данных, ключей и других чувствительных материалов.

В сообщении полезно указать:

  • GameSpace PWA или APK;
  • точную версию;
  • устройство, ОС и браузер либо версию Android WebView;
  • ожидаемое и фактическое поведение;
  • минимальные шаги воспроизведения;
  • формат и структуру тестового архива без конфиденциального содержимого;
  • возможные последствия уязвимости.

Автор может запросить дополнительную информацию и безопасный минимальный пример. Публичные подробности следует раскрывать после подготовки исправления или по согласованному плану.

Модель доверия

GameSpace предназначен для архивов из доверенного источника. Импортированный сайт может содержать произвольные HTML, CSS и JavaScript. Приложение не является антивирусом и не превращает такой сайт в безопасную песочницу.

Проверка структуры архива защищает от ряда ошибок распаковки: абсолютных путей, выхода через .., пустых сегментов, управляющих символов и повторяющихся путей. Она не подтверждает безопасность JavaScript, ссылок, медиафайлов или логики самого сайта.

PWA

  • Выбранный архив обрабатывается GameSpace на устройстве и не загружается приложением на сервер.
  • Распакованный сайт хранится в закрытом хранилище браузера OPFS.
  • Код внутри импортированного сайта может выполнять внешние запросы, если это позволяют браузер, политика источника и доступная сеть. Поэтому утверждение «архив остаётся на устройстве» описывает поведение GameSpace, но не является гарантией для произвольного импортированного сайта.
  • Квота, сохранность данных и удаление неиспользуемого хранилища частично определяются браузером и операционной системой.

APK

  • В текущем Android-манифесте отсутствует разрешение INTERNET; встроенная WebView предназначена для локального содержимого.
  • Внешняя ссылка из сайта может быть передана другому приложению Android, например системному браузеру. Дальнейшее поведение определяется этим приложением.
  • JavaScript и доступ к локальным ресурсам включены для работы импортированного сайта. Поэтому запуск недоверенного архива не рекомендуется даже без интернет-разрешения.
  • Распакованные файлы хранятся в каталоге данных приложения и удаляются вместе с ним.

Архивы и ресурсы устройства

Архив с неизвестным содержимым может занять значительно больше места после распаковки, потребовать длительной обработки или привести к выгрузке приложения операционной системой. Перед импортом большого архива следует проверить его источник, целостность, распакованный размер и доступное место.

Исходный архив необходимо хранить отдельно: удаление приложения, очистка данных или политика хранения браузера могут удалить рабочую копию сайта.

Границы ответственности

Инструкции по формату архива, автономной работе и хранению данных приведены в основной документации. Сторонние компоненты сохраняют собственные условия и уведомления из THIRD_PARTY_NOTICES.md.

There aren't any published security advisories