Правовые документы

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

Последнее обновление: 07.07.2026

Если вы нашли уязвимость в OmniSolver Models — расскажите нам, а не публикуйте сразу. Ниже описано, как сообщить, что мы считаем допустимым исследованием и какие защиты уже работают на стороне сервиса.

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

Нашли уязвимость? Напишите на security@omnisolver.app. Мы отвечаем в течение 72 часов в рабочие дни. Критические находки (RCE, доступ к чужим данным, обход авторизации) обрабатываем вне очереди.

В отчёте укажите: краткое описание, шаги для воспроизведения, ожидаемое и фактическое поведение, оценку влияния (например по шкале CVSS) и, если возможно, минимальный PoC. Скриншоты, HAR-файлы и логи приветствуются. Пожалуйста, не раскрывайте детали публично до того, как мы согласуем сроки.

2. Что мы считаем допустимым исследованием

Можно:

  • Тестировать сервис от имени собственного аккаунта и на своих моделях и данных.
  • Использовать собственные тестовые запросы, черновики и опубликованные карточки.
  • Анализировать публичные страницы, статические файлы и открытые эндпоинты (например /official, /sitemap.xml).
  • Сообщать о найденном через контакт из раздела 1.

Что строго запрещено: доступ к данным, моделям или сессиям других пользователей; DoS / DDoS, brute-force, сканирование быстрее 1 запроса в секунду; социальная инженерия против поддержки; злонамеренные промпт-инъекции в генератор или контент-сканер; загрузка вредоносного контента «ради теста»; эксплуатация находки дальше минимального PoC; атаки на сторонние сервисы (Telegram, платёжные и провайдеры генерации 3D).

3. Какие уязвимости нам важны (приоритет)

  • Critical: RCE на сервере, SQL-инъекция с доступом к чужим данным, обход авторизации, чтение чужих моделей или истории, эскалация до администратора.
  • High: XSS с доступом к сессии, CSRF на мутирующих эндпоинтах, утечка персональных данных, обход списания или возврата кредитов, SSRF через ссылку на референс-картинку или скачивание ассета, обход контент-сканера.
  • Medium: ограниченный self-XSS, недостатки rate-limit, чувствительная информация в текстах ошибок, проблемы CSP, открытые редиректы.
  • Low: отсутствие best-practice заголовков, минорные баги с security-привкусом.
  • Вне области: отсутствие SPF/DMARC на доменах, теоретические timing-атаки без PoC, отчёты автоматических сканеров без воспроизводимого PoC, DDoS, missing security headers без эксплуатируемого пути, clickjacking на страницах без чувствительных действий.

4. Что уже сделано на стороне сервиса

Коротко: HTTPS + HSTS · CSP · PBKDF2 для паролей · подписанные HMAC-сессии (HttpOnly, Secure), привязанные к паролю · CSRF-защита по origin · rate-limit на вход и восстановление · контент-сканер запросов и публикаций · защита от SSRF при работе с провайдерами · атомарное списание и возврат кредитов.

  • Транспорт: HTTPS с HSTS (max-age 1 год, includeSubDomains), редирект HTTP → HTTPS и www → apex.
  • Заголовки: Content-Security-Policy (default-src 'self', frame-ancestors 'self', base-uri 'self', form-action 'self'), а также X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN и Referrer-Policy: no-referrer.
  • Пароли: хранятся как хеш PBKDF2-HMAC-SHA256 с солью и высоким числом итераций; сравнение — в постоянное время (compare_digest). Пароль в открытом виде не хранится.
  • Сессии: stateless-cookie, подписанный HMAC, с флагами HttpOnly, Secure и SameSite=Lax. Токен привязан к текущему хешу пароля — смена или сброс пароля мгновенно обесценивает все ранее выданные сессии.
  • Сброс пароля: по сути одноразовый токен, подписанный HMAC в отдельном крипто-контексте от сессий, самоинвалидируется после смены пароля — без серверной таблицы токенов.
  • CSRF: все мутирующие запросы с cookie проверяются по allowlist источника (Origin / Referer), fail-closed — запрос без валидного источника отклоняется.
  • Ограничение частоты: скользящее окно на вход, регистрацию, восстановление и сброс пароля, а также на вход через Telegram — защита от перебора и злоупотреблений.
  • Вход через Telegram: payload Login Widget проверяется по HMAC согласно официальной спецификации; подделанные данные отклоняются.
  • Контент-сканер: тексты запросов на генерацию, имена загружаемых файлов и поля публикуемых карточек проходят проверку на запрещённый контент до выполнения.
  • Защита от SSRF: при обращении к провайдерам генерации скачивание ассетов разрешено только по HTTPS и только с хостов из allowlist; каждый редирект перепроверяется по тому же списку; пользовательская ссылка на референс-картинку обязана быть HTTPS, на разрешённом хосте и без встроенных учётных данных в URL.
  • Кредиты: списание — атомарной условной операцией (нельзя уйти в минус при параллельных запросах), возврат за неуспешную задачу гарантированно происходит не более одного раза даже при одновременной отмене и сбое.
  • SQL: только параметризованные запросы.
  • Права пользователя: удаление своих моделей в библиотеке в любой момент и удаление аккаунта по запросу (см. Политику конфиденциальности).

5. Раскрытие после исправления

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

Если уязвимость затронула данные пользователей, мы информируем затронутых в разумный срок и фиксируем инцидент во внутреннем журнале.

6. О чём этот документ не говорит

Это не программа bug bounty — фиксированных выплат нет. В исключительных случаях за критические находки мы можем поблагодарить репортёра подпиской или разовой компенсацией; решение принимается индивидуально и не является публичной офертой.

7. Контакты

Безопасность: security@omnisolver.app

Приватность и данные: privacy@omnisolver.app

Правовые документы
Условия использования Конфиденциальность Правила контента Авторские права Возвраты Условия для продавцов Безопасность Статус
На главную