Skip to content

Security: Katowica/Matrix-Max-Bridge

SECURITY.md

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

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

Сообщайте о проблемах безопасности приватно, а не через публичный issue. Почта для связи: katowica-security.untruth344@passinbox.com Опишите суть проблемы понятно и, по возможности, приложите шаги воспроизведения. Пожалуйста, не публикуйте сведения об уязвимости до выхода исправления или согласования раскрытия.

Конфиденциальность и выбор платформы

Этот проект взаимодействует с мессенджером Max. Max — российский сервис, развитие которого связано с российской инфраструктурой и регулируется законодательством РФ. Если для вас важны вопросы конфиденциальности, юрисдикции или обработки данных, учитывайте это при принятии решения об использовании проекта.

Секреты

  • Этот проект читает конфигурацию из локального файла .env
  • Если утечёт любой токен (токен бота Max, токен доступа Matrix), немедленно отзовите его. Считайте утёкшие токены скомпрометированными независимо от того, использовались ли они.

Модель угроз

  • Привязка (linking). Мост создаётся, когда администратор чата Max запрашивает одноразовый код, а участник комнаты Matrix отправляет /max link <код>. Код — 10 символов из 32-символьного алфавита (~1e15 вариантов), с ограничением частоты и одноразовый. Знание кода — основная авторизация для привязки; отвязка дополнительно требует прав администратор Matrix (power level >= 50) либо владельца/администратора Max. Установите REQUIRE_MOD_TO_LINK=true, чтобы также требовать права администратор и для привязки.
  • White-list серверов. MATRIX_ALLOWED_SERVER не является механизмом безопасности сам по себе. Он используется только как дополнительная проверка и не подтверждает, что комнате можно доверять.
  • Шифрование. Поддерживаются только незашифрованные комнаты Matrix. Состояние шифрования проверяется в момент привязки/приветствия. Включение шифрования после привязки остановит дальнейшую пересылку сообщений этой комнаты.
  • Размер медиа. Скачивание/загрузка ограничены MAX_DOWNLOAD_BYTES (по умолчанию 20 МиБ) в обоих направлениях; параллельные передачи ограничены семафором.
  • Хранимые данные. В SQLite хранятся: ожидающие коды привязки (с истечением срока), активные мосты, флаг «приветствие отправлено» для каждой комнаты и короткоживущая таблица идентификаторов пересланных событий с очисткой по TTL. Тексты сообщений и содержимое медиа не сохраняются..

There aren't any published security advisories