Модель угроз Weblate

Проект: Weblate

Последний раз проверено для Weblate 2026.7 в коммите 491e79010b2.

Дата: 2026-05-14.

Состояние: Принято, 2026-05-14.

Привязка к версии: Эта модель версионируется вместе с выпусками Weblate. Отчёт против версии Weblate N сортируется по модели, опубликованной для версии N, а не по последней ветке разработки. (сопровождающий)

Перекрёстная ссылка для отчётов: Отчёты, которые нарушают свойство, заявленное Weblate в разделе Свойства безопасности, предоставляемые Weblate, направляются через SECURITY.md и Обработка уязвимостей и инцидентов. Отчёты, подпадающие под Вне области действия или Свойства безопасности, которые Weblate не предоставляет, могут быть закрыты со ссылкой на этот документ, если только эта модель не направляет их в VALID-HARDENING. (документировано) (источник: Обработка уязвимостей и инцидентов)

Легенда происхождения: *(документировано)* означает, что утверждение содержится в документации Weblate; *(сопровождающий)* означает, что оно было высказано сопровождающим в процессе создания этой модели угроз; *(выведено)* означает, что оно было выведено из текущей формы проекта и требует подтверждения сопровождающего.

Сводка происхождения: 97 документированных / 65 от сопровождающего / 0 выведенных утверждений.

Weblate — это веб-платформа локализации на базе Django. Он принимает работу от пользователей браузера, API-клиентов, токенов с областью действия проекта, веб-обработчиков репозиториев, репозиториев СКВ, архивов резервных копий, фоновых обработчиков и настроенных внешних служб, затем сохраняет и синхронизирует проекты перевода через базу данных, хранилище данных, локальные репозитории файловой системы и внешние системы хостинга кода. (документировано) (источник: Документация Weblate, API REST для Weblate, Непрерывный перевод)

Область применения и целевое использование

Семейство компонентов

Представительная поверхность

Внешние по отношению к процессу эффекты

Состояние модели

Веб-интерфейс и REST API

Представления браузера, формы, конечные точки сеансов, API REST для Weblate

База данных, хранилище данных, электронная почта, журналы, загруженные файлы

В области действия. (документировано) (источник: API REST для Weblate, Инструкции по настройке)

Аутентификация, сеансы и авторизация

Вход, 2FA, SSO, команды, разрешения, доступ к проекту, токены API

База данных, поставщики удостоверений, куки браузера

В области действия. (документировано) (источник: Авторизация, Контроль доступа)

Токены API с областью действия проекта

Токены, созданные в проекте API доступ

Те же эффекты приложения, которые разрешают разрешения токена

В области действия как аутентифицированные действующие лица с делегированной областью действия проекта. (документировано) (источник: API REST для Weblate, Контроль доступа)

Веб-обработчики

Обработчики уведомлений, проект Включить обработчики

Планирование фоновых задач и обновления репозиториев СКВ

Входит в область действия как общедоступный, укреплённый на уровне развёртывания интерфейс. (документировано) (источник: Обработчики уведомлений, Включить обработчики)

Интеграция с СКВ

URL-адреса репозиториев, ветки, отправки, извлечения, запросы на слияние, локальные клоны

Файловая система, дочерние команды СКВ, сетевые соединения SSH/HTTPS

В области действия, когда достижимо через конфигурацию Weblate или содержимое проекта. (документировано) (источник: Непрерывный перевод, Интеграции с хостингом кода)

Фоновые задачи

Очереди Celery для обновлений репозиториев, уведомлений, памяти переводов, перевода и резервных копий

База данных, хранилище данных, файловая система, исходящая сеть

В области действия как управляемое Weblate выполнение действий пользователя или оператора. (документировано) (источник: Инструкции по настройке)

Импорт/экспорт резервных копий проектов

Резервные копии на уровне проекта, import_projectbackup

Загруженные ZIP-архивы, восстановление файловой системы, состояние репозитория

В области действия. (документировано) (источник: Резервное копирование и перенос Weblate, Команды управления)

Резервное копирование службы

Конфигурация BorgBackup и backup

Локальное или удалённое хранилище резервных копий через файловую систему или SSH

В области действия для обработки Weblate настроенных заданий резервного копирования; сам Borg находится вне области действия. (документировано) (источник: Резервное копирование и перенос Weblate, Команды управления)

Машинный перевод и исходящие интеграции

Машинный перевод, аватары, отчёты о состоянии, телеметрия, сообщение об ошибках, хосты СКВ, дополнение CDN

Исходящий HTTP(S), API поставщиков, журналы

В области действия для обеспечения Weblate настроенных ограничений доступа и сети. Поведение поставщика находится вне области действия. (документировано) (источник: Конфигурация, Дополнения)

Дополнения

Встроенные надстройки и выполнение надстроек, настроенных администратором

Зависит от надстройки; может изменять репозитории или обращаться к службам

Встроенные надстройки находятся в области действия, когда они включены. Сторонние надстройки находятся вне области действия, за исключением разрешений Weblate и шлюзов установки. (сопровождающий)

Команды управления

Команды weblate, запускаемые оператором

База данных, файловая система, СКВ, хранилище резервных копий

В области действия при обработке недоверенных данных Weblate; локальная оболочка оператора является доверенной. (сопровождающий)

Тесты, сгенерированная документация, снимки экрана, фикстуры разработки

docs/_build/, docs/screenshots/, тесты, локальные фикстуры

Файлы только для разработки и сгенерированные артефакты

Вне области действия для заявлений о безопасности продукта. (сопровождающий)

Предполагаемое развёртывание — это серверная установка Weblate за веб-сервером или обратным прокси, с WSGI-сервером приложений, базой данных PostgreSQL, хранилищем данных, обработчиками Celery, каталогом данных для записи и опциональными исходящими интеграциями VCS, резервного копирования, поставщика удостоверений и машинного перевода. (документировано) (источник: Инструкции по настройке)

Соответствующие действующие лица разделены по уровню доверия: неаутентифицированные клиенты, аутентифицированные пользователи, рецензенты, управляющие проектами, администраторы, токены API с областью действия проекта, отправители веб-обработчиков, внешние поставщики СКВ, настроенные внешние службы и локальные операторы. (документировано) (источник: Контроль доступа, API REST для Weblate)

Weblate не предназначен для встраивания как внутрипроцессная библиотека безопасности, использования как песочница для недоверенного кода или предоставления доступа без средств контроля развёртывания, задокументированных для производственного использования. (сопровождающий)

Вне области действия

Следующее является явными не-целями для этой модели:

  • Скомпрометированная учётная запись операционной системы, среда выполнения контейнера, сервер базы данных, хранилище данных, обратный прокси или оболочка администратора. Weblate работает внутри этих границ и не заявляет о защите от уже скомпрометированного хоста. (сопровождающий)

  • Злонамеренный администратор сайта Weblate или локальный оператор с неограниченным доступом к серверу. Такое действующее лицо может изменять настройки, учётные данные, данные или код. (сопровождающий)

  • Уязвимости в сторонних зависимостях как независимых проектах. Общие уязвимости Django, Django REST framework, Python Social Auth, BorgBackup, СКВ, базы данных и поставщиков сообщаются вышестоящим проектам, если только проблема не в том, как Weblate их использует. (документировано) (источник: Обработка уязвимостей и инцидентов)

  • Гигиена сборки и выпуска, включая закрепление действий, подписание артефактов, свежесть зависимостей и защиту веток репозитория. Это влияет на операции проекта, но не является утверждениями модели угроз о поведении Weblate во время выполнения. (сопровождающий)

  • Общая безопасность внешних поставщиков СКВ, поставщиков удостоверений, почтовых серверов, служб машинного перевода, служб аватаров, CDN-хранилищ или хранилищ резервных копий. Weblate моделирует только свои настроенные взаимодействия с ними. (сопровождающий)

  • Выбор цепочки поставок переводов организациями пользователей вне Weblate. Риски аутсорсинговых или краудсорсинговых переводчиков описаны отдельно в Модель угроз локализации. (документировано) (источник: Модель угроз локализации)

  • Код сторонних надстроек, код локальной настройки, фикстуры разработки, сгенерированный вывод документации, код только для тестирования и демонстрационные или примерные данные. (сопровождающий)

Границы доверия и потоки данных

Основная граница доверия Weblate — это обращённая к сети поверхность приложения: представления браузера, конечные точки API, конечные точки веб-обработчиков и конечные точки загрузки принимают данные от менее доверенных действующих лиц и преобразуют их в строки базы данных, состояние локального репозитория, фоновые задачи, исходящие запросы и отображаемый пользовательский интерфейс. (сопровождающий)

Граница

Переход доверия

Браузер клиента / API-клиент к Weblate

Недоверенные или аутентифицированные запросы становятся действиями приложения, проверенными на разрешения. (документировано) (источник: API REST для Weblate, Контроль доступа)

Отправитель веб-обработчика к Weblate

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

Weblate к базе данных / хранилищу данных

Состояние приложения, проверенное на разрешения, становится постоянными данными и поставленной в очередь работой. (документировано) (источник: Инструкции по настройке)

Weblate к локальным репозиториям СКВ

Конфигурация проекта и содержимое репозитория управляют операциями файловой системы и СКВ. (документировано) (источник: Непрерывный перевод)

Weblate к внешним службам

Настроенные URL-адреса, учётные данные и параметры поставщика управляют исходящими сетевыми соединениями. (документировано) (источник: Интеграции с хостингом кода, Конфигурация)

Архив резервной копии в файловую систему Weblate

Загруженные ZIP-элементы и метаданные становятся восстановленным состоянием проекта. (документировано) (источник: Резервное копирование и перенос Weblate)

Предварительные условия достижимости:

  • Находка в веб-интерфейсе или API попадает в модель, только если она достижима неаутентифицированным клиентом, аутентифицированным пользователем или токеном с областью действия проекта через документированные маршруты, формы или конечные точки API. (сопровождающий)

  • Находка, связанная с авторизацией, попадает в модель, только если она пересекает документированную границу разрешения, команды, проекта, компонента, языка, словаря, токена или общесайтовую границу. (документировано) (источник: Контроль доступа)

  • Находка, связанная с веб-обработчиком, попадает в модель, только если запрос может достичь включённой конечной точки обработчика и повлиять на планирование обновлений репозитория, объём задач или информацию, возвращаемую вызывающей стороне. (документировано) (источник: Обработчики уведомлений, Включить обработчики)

  • Находка, связанная с СКВ, попадает в модель, только если контролируемые злоумышленником или менее доверенные данные репозитория, имена веток, URL-адреса, имена файлов, метаданные коммитов или конфигурация проекта могут повлиять на операции СКВ Weblate. (сопровождающий)

  • Находка, связанная с импортом резервной копии, попадает в модель, только если она достижима из резервной копии проекта, загруженной через Weblate или предоставленной в import_projectbackup. (документировано) (источник: Резервные копии на уровне проекта, import_projectbackup)

  • Находка, связанная с фоновой задачей, попадает в модель, только если задача может быть поставлена в очередь из поверхности Weblate, находящейся в области действия, или из запланированного пути обслуживания Weblate. (документировано) (источник: Инструкции по настройке)

  • Находка, связанная с командой управления, попадает в модель, только если команда обрабатывает недоверенные данные Weblate; произвольный доступ к локальной оболочке не является возможностью злоумышленника. (сопровождающий)

Предположения об окружении

Weblate предполагает поддерживаемую среду выполнения Python и Django, правильно настроенную базу данных, хранилище данных, каталог данных для записи и запущенные обработчики для функций, требующих фоновой обработки. (документировано) (источник: Инструкции по настройке)

Ожидается, что производственные развёртывания будут настраивать внешний веб-сервер или обратный прокси в соответствии с настройками Weblate для HTTPS, заголовка хоста, размера тела и заголовков прокси. (документировано) (источник: Инструкции по настройке, ENABLE_HTTPS, ALLOWED_HOSTS)

Предполагается, что база данных, хранилище данных и внутренние порты служб напрямую не доступны недоверенным сетям. (сопровождающий)

Предполагается, что права доступа к файловой системе предотвращают изменение не связанными с Weblate локальными пользователями каталога данных Weblate, конфигурации, репозиториев VCS, сгенерированных SSH-обёрток, резервных копий и секретных материалов. (документировано) (источник: Резервное копирование и перенос Weblate, Инструкции по настройке)

Обработчики Celery являются доверенными компонентами того же экземпляра Weblate. Злонамеренный или скомпрометированный обработчик эквивалентен скомпрометированному процессу приложения. (сопровождающий)

Предполагается, что выполнение команд VCS, SSH и HTTPS-клиенты выполняются от имени пользователя службы Weblate с учётными данными, настроенными для соответствующего проекта или интеграции. (документировано) (источник: Интеграции с хостингом кода, SSH_EXTRA_ARGS)

Что Weblate делает со своим хостом:

  • Он открывает исходящие сетевые соединения для настроенных функций СКВ, поставщика удостоверений, аватаров, машинного перевода, резервного копирования, отчётности о состоянии, телеметрии, сообщения об ошибках и дополнений. (документировано) (источник: Конфигурация, Интеграции с хостингом кода, Резервное копирование и перенос Weblate)

  • Он выполняет вспомогательные команды СКВ и резервного копирования как часть рабочих процессов репозитория и резервного копирования. (документировано) (источник: Непрерывный перевод, Резервное копирование и перенос Weblate)

  • Он выполняет запись в настроенный каталог данных, хранилище репозиториев, media/fonts, дампы резервных копий, журналы и расположения кэша. (документировано) (источник: Конфигурация, Резервное копирование и перенос Weblate)

  • Он отправляет электронные письма и уведомления, когда это настроено. (документировано) (источник: Конфигурация)

  • Он не заявляет об отсутствии общепроцессных побочных эффектов, таких как журналирование, запись в кэш, выполнение подпроцессов или исходящий сетевой доступ. (сопровождающий)

Варианты сборки и конфигурации

Ручка настройки

Позиция по умолчанию или документированная

Влияние на модель

Позиция сопровождающего

ENABLE_HOOKS и Включить обработчики

Анонимные удалённые обработчики настраиваются и также должны быть включены для проекта. (документировано)

Предоставляет конечные точки веб-обработчиков как общедоступный интерфейс планирования. Устойчивость к злоупотреблениям зависит от средств контроля развёртывания. (документировано) (источник: Обработчики уведомлений, Включить обработчики)

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

ENABLE_HTTPS, заголовки SSL прокси и настройки HSTS

HTTPS влияет на безопасные куки, перенаправления, HSTS, WebAuthn и сгенерированные URL-адреса. (документировано) (источник: ENABLE_HTTPS)

Отключение или неправильная настройка HTTPS удаляет транспортные и куки-защиты, на которые полагается Weblate для безопасности браузера. (документировано) (источник: ENABLE_HTTPS)

Документированная производственная позиция — это HTTPS с правильными заголовками прокси. (документировано)

ALLOWED_HOSTS

Настраивает разрешённые имена хостов HTTP. (документировано) (источник: ALLOWED_HOSTS)

Широкое принятие хостов может ослабить защиты, основанные на заголовке хоста, и предположения о генерации URL-адресов. (сопровождающий)

Производственные развёртывания ограничивают это именами хостов экземпляра. (сопровождающий)

WEBLATE_API_RATELIMIT_ANON, WEBLATE_API_RATELIMIT_USER и RATELIMIT_ATTEMPTS

Ограничения скорости настраиваются. (документировано) (источник: API REST для Weblate, Конфигурация)

Утверждения о доступности предполагают ограничения скорости, соответствующие размеру и степени открытости развёртывания. (сопровождающий)

Отключение ограничений скорости изменяет сортировку DoS с ошибки Weblate на позицию развёртывания, если только один запрос не нарушает заявленное свойство. (сопровождающий)

CSP_SCRIPT_SRC, CSP_IMG_SRC, CSP_CONNECT_SRC, CSP_STYLE_SRC, CSP_FONT_SRC, CSP_FORM_SRC

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

Расширение источников может снизить изоляцию на стороне браузера для XSS или стороннего содержимого. (сопровождающий)

Развёртывания, добавляющие сторонние источники, принимают это расширенное доверие браузера. (сопровождающий)

PROJECT_BACKUP_UPLOAD_MAX_SIZE, PROJECT_BACKUP_IMPORT_MAX_MEMBERS, PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE, PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE, PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE, PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO

Значения по умолчанию ограничивают размер загрузки и импорта резервных копий проекта, количество элементов и подозрительные коэффициенты сжатия. (документировано) (источник: Конфигурация)

Повышение или отключение этих ограничений расширяет воздействие на ресурсы во время восстановления. (документировано) (источник: Конфигурация)

Значения по умолчанию, задокументированные выше, являются частью гарантий ресурсов при импорте резервных копий. (документировано)

Ограничения частных целей и списки разрешённых для исходящих URL-адресов

Настраиваемые пользователем поверхности исходящих URL-адресов, задокументированные с параметрами ограничения частных целей, по умолчанию отклоняют внутренние или непубличные цели. (документировано) (источник: ASSET_RESTRICT_PRIVATE, PROJECT_WEB_RESTRICT_PRIVATE, WEBHOOK_RESTRICT_PRIVATE, VCS_RESTRICT_PRIVATE)

Настройки списка разрешённых и привилегированная конфигурация могут намеренно расширять достижимость. (документировано) (источник: ASSET_PRIVATE_ALLOWLIST, PROJECT_WEB_RESTRICT_ALLOWLIST, WEBHOOK_PRIVATE_ALLOWLIST, VCS_ALLOW_HOSTS)

Отклонение частных целей по умолчанию является свойством безопасности на уровне приложения для документированных настраиваемых пользователем поверхностей URL-адресов. (сопровождающий)

SSH_EXTRA_ARGS

Разрешает пользовательские параметры SSH. (документировано) (источник: SSH_EXTRA_ARGS)

Ослабление алгоритмов SSH или проверки хоста изменяет предположения о транспорте СКВ. (сопровождающий)

Операторы несут ответственность за влияние на безопасность пользовательских параметров SSH. (сопровождающий)

Сторонние надстройки и локальная настройка

Администраторы могут расширять поведение. (документировано) (источник: Дополнения)

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

Сторонний код моделируется отдельно. (сопровождающий)

Входные предположения

Поверхность

Входные данные

Контролируемо злоумышленником?

Вызывающая сторона или оператор должны обеспечивать

Формы браузера и REST API

Тела запросов, строки запроса, загруженные файлы, заголовки, куки

Да, в пределах состояния аутентификации действующего лица. (документировано) (источник: API REST для Weblate)

HTTPS, правильная конфигурация хоста/прокси, ограничения скорости и назначение разрешений. (документировано) (источник: Инструкции по настройке, Контроль доступа)

Конечные точки аутентификации

Пароли, данные WebAuthn, обратные вызовы SSO, токены сброса

Да. (документировано) (источник: Авторизация)

Правильная конфигурация поставщика удостоверений и HTTPS. (документировано) (источник: Авторизация, ENABLE_HTTPS)

Токены с областью действия проекта

Запросы API, аутентифицированные по токену

Да, тем, кто владеет токеном. (документировано) (источник: API REST для Weblate)

Хранение токена, его смена и членство в команде с наименьшими привилегиями. (сопровождающий)

Содержимое перевода

Исходные строки, переводы, комментарии, предложения, записи словаря

Да, от пользователей с соответствующими разрешениями или импортированных репозиториев. (документировано) (источник: Перевод с помощью Weblate, Контроль доступа)

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

Конечные точки веб-обработчиков

Заголовки, тип события, тело, метаданные репозитория и ветки

Да, где конечная точка достижима. (документировано) (источник: Обработчики уведомлений)

Включение обработчиков только там, где это необходимо, ограничения запросов и мониторинг. (сопровождающий)

Конфигурация репозитория

Repository URLs, branches, push URLs, credentials, Gerrit review push options, add-on settings

Доверено пользователям с соответствующими разрешениями управления. (документировано) (источник: Контроль доступа, Непрерывный перевод)

Назначайте разрешения СКВ и управления проектом только доверенным пользователям. (документировано) (источник: Контроль доступа)

Содержимое внешнего репозитория

Файлы переводов, пути, имена веток, метаданные коммитов

Да, если вышестоящим репозиторием управляет другое действующее лицо. (сопровождающий)

Доверяйте настроенному вышестоящему репозиторию или рецензируйте импортированные изменения. (сопровождающий)

Импорт резервной копии проекта

ZIP-элементы архива, метаданные, файлы переводов, состояние репозитория

Да, для того, кто может загрузить или предоставить резервную копию. (документировано) (источник: Резервные копии на уровне проекта)

Сохраняйте ограничения импорта на значениях, соответствующих экземпляру. (документировано) (источник: Конфигурация)

Конфигурация машинного перевода и внешних служб

URL-адреса поставщика, учётные данные, настройки модели или службы

Доверено администраторам или пользователям, которым предоставлены разрешения на конфигурацию. (документировано) (источник: Автоматические советы, Контроль доступа)

Относитесь к настроенным поставщикам как к получателям отправляемых им данных; отправляемое содержимое зависит от поставщика и включённой функции. (сопровождающий)

Команды управления

Аргументы командной строки и файлы, предоставленные локальным оператором

Доверенный локальный ввод, если только не обрабатываются данные Weblate или резервные копии проектов. (сопровождающий)

Ограничьте доступ к оболочке доверенными операторами. (сопровождающий)

Предположения о размере и частоте:

  • Weblate полагается на ограничения загрузки приложения и обратного прокси для больших HTTP-запросов. (документировано) (источник: PROJECT_BACKUP_UPLOAD_MAX_SIZE)

  • Импорт резервных копий проектов ограничен количеством элементов, общим несжатым размером, размером сжатого элемента, минимальным размером отношения и настройками коэффициента сжатия. (документировано) (источник: Конфигурация)

  • Ожидается, что API и выбранные веб-действия будут защищены настроенными ограничениями скорости. (документировано) (источник: API REST для Weblate, Конфигурация)

  • Размер репозитория, количество проектов, количество компонентов и ёмкость обработчиков являются проблемами определения размера развёртывания, если только один входной параметр, находящийся в области действия, не обходит задокументированные ограничения или разрешения. (сопровождающий)

Модель противника

Действующее лицо

Возможности в рамках области действия

Возможности вне области действия

Неаутентифицированный интернет-клиент

Отправлять HTTP(S)-запросы на публичные страницы, регистрацию, вход, API и достижимые конечные точки веб-обработчиков. (документировано) (источник: API REST для Weblate)

Читать память сервера, обходить средства контроля обратного прокси или получать прямой доступ к внутренним службам. (сопровождающий)

Аутентифицированный пользователь

Выполнять действия, разрешённые назначенными командами, разрешениями и рабочим процессом. (документировано) (источник: Контроль доступа)

Действовать за пределами назначенных разрешений без использования ошибки в Weblate. (документировано) (источник: Контроль доступа)

Рецензент или управляющий проектом

Использовать делегированные разрешения на проект, компонент, язык, рецензирование, систему контроля версий, память переводов, снимки экрана или управление доступом. (документировано) (источник: Контроль доступа)

Стать администратором сайта, если только эта роль не предоставлена или не используется ошибка Weblate. (сопровождающий)

Владелец токена API с областью действия проекта

Использовать разрешения API, назначенные членству токена в командах. (документировано) (источник: API REST для Weblate, Контроль доступа)

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

Отправитель веб-обработчика

Отправлять поддельные, повторно воспроизведённые, неверно сформированные или высокообъёмные запросы веб-обработчиков на включённые конечные точки обработчиков. (документировано) (источник: Обработчики уведомлений)

Получить аутентифицированную фабрикой личность там, где Weblate её не проверяет. (сопровождающий)

Внешний СКВ или поставщик услуг

Возвращать данные репозитория, ответы API, перенаправления или ошибки в соответствии с настроенной интеграцией. (документировано) (источник: Интеграции с хостингом кода)

Скомпрометировать хост Weblate, кроме как через данные или поведение протокола, которые обрабатывает Weblate. (сопровождающий)

Переводчик или участник локализации

Предоставлять содержимое перевода, которое могут потреблять нижестоящие приложения. (документировано) (источник: Модель угроз локализации)

Управлять экранированием, отрисовкой или политикой рецензирования нижестоящего приложения за пределами Weblate. (документировано) (источник: Модель угроз локализации)

Локальный оператор

Запускать команды управления, изменять конфигурацию и получать доступ к резервным копиям. (документировано) (источник: Команды управления, Резервное копирование и перенос Weblate)

Локальные злонамеренные операторы считаются доверенными для этой модели. (сопровождающий)

Моделируемый злоумышленник пытается обойти авторизацию, изменять данные перевода или репозитория без разрешения, раскрывать приватные данные проекта или пользователя, подделывать или злоупотреблять синхронизацией репозитория, инициировать небезопасные исходящие запросы, выполнять команды через управляемые Weblate рабочие процессы или исчерпать ограниченные ресурсы приложения. (сопровождающий)

Свойства безопасности, которые предоставляет Weblate

Свойство

Условия

Симптом нарушения

Уровень серьёзности

Веб-авторизация разделяет разрешения на сайт, проект, компонент, язык, словарь, систему контроля версий, память переводов, снимки экрана, рецензирование и управление доступом. (документировано) (источник: Контроль доступа)

Назначения разрешений соответствуют предполагаемым доверительным отношениям.

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

Критично для безопасности, когда раскрываются приватные данные или привилегированное изменение.

Токены API с областью действия проекта ограничены назначенными разрешениями проекта/команды. (документировано) (источник: API REST для Weblate, Контроль доступа)

Токен создаётся и хранится доверенным действующим лицом.

Токен может действовать за пределами области проекта или команды.

Критично для безопасности.

Средства контроля аутентификации и сеансов защищают сеансы браузера, когда настройки HTTPS и прокси верны. (документировано) (источник: Авторизация, ENABLE_HTTPS)

Включены производственные настройки HTTPS и безопасных куки.

Фиксация сеанса, обход учётных данных или путаница сеансов между пользователями.

Критично для безопасности.

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

Содержимое отображается через шаблоны пользовательского интерфейса Weblate и стандартное экранирование.

Сохранённый или отражённый XSS в источнике Weblate.

Критично для безопасности.

Входные данные репозитория, ветки, пути и СКВ, обрабатываемые Weblate, не должны приводить к выполнению команд оболочки. (сопровождающий)

Операции CRD вызываются через поддерживаемые Weblate рабочие процессы репозитория и настроенные учётные данные.

Внедрение команд или выполнение произвольного кода от имени пользователя Weblate.

Критично для безопасности.

Приватные данные проекта, данные пользователя, учётные данные, токены, SSH-ключи и секреты 2FA не раскрываются действующим лицам, не имеющим разрешения. (документировано) (источник: Контроль доступа, Соответствие нормам конфиденциальности)

Права доступа к хосту, базе данных и хранилищу не нарушены.

Утечка данных между проектами, раскрытие учётных данных или неавторизованный экспорт.

Критично для безопасности.

Импорт резервных копий отклоняет архивы, превышающие задокументированные пороги загрузки, количества элементов, общего размера и подозрительного сжатия. (документировано) (источник: Конфигурация, Резервные копии на уровне проекта)

Остаются настроенными значения по умолчанию или более строгие ограничения.

Архив большого размера или с высоким коэффициентом усиления принимается сверх настроенных порогов.

Критично для безопасности при DoS одним запросом; в противном случае — ошибка доступности.

Задокументированные настраиваемые пользователем поверхности исходящих URL-адресов по умолчанию отклоняют внутренние или непубличные цели. (документировано) (источник: ASSET_RESTRICT_PRIVATE, PROJECT_WEB_RESTRICT_PRIVATE, WEBHOOK_RESTRICT_PRIVATE, VCS_RESTRICT_PRIVATE)

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

Настраиваемый пользователем URL-адрес снимка экрана, URL-адрес удалённого HTML, URL-адрес веб-сайта проекта или обозревателя репозиториев, исходящий URL-адрес веб-обработчика или URL-адрес VCS достигает внутренней или непубличной цели, несмотря на средства контроля по умолчанию.

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

Weblate записывает изменения в учётных записях, разрешениях и настройках проекта или компонента, важные для безопасности, в журналы аудита или историю. (документировано) (источник: Соответствие нормам конфиденциальности, Weblate 2026.7)

Журналирование настроено и хранилище доступно.

Отсутствует журнал аудита для действия, которое Weblate заявляет, что регистрирует.

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

Действия API и веб-действия с ограничением скорости применяют настроенные ограничения скорости. (документировано) (источник: API REST для Weblate, Конфигурация)

Ограничение скорости включено и поддерживается работающим хранилищем данных.

Запросы, превышающие настроенные пороги, продолжают обрабатываться.

Улучшение доступности/безопасности в зависимости от чувствительности конечной точки.

Weblate намеренно не раскрывает базу данных, хранилище данных, хранилище резервных копий или необработанное внутреннее хранилище напрямую через публичный веб-интерфейс; экспортированные репозитории системы контроля версий намеренно раскрываются Экспортер Git, когда этот опциональный модуль включён. (сопровождающий)

Развёртывание не обслуживает пути внутреннего хранилища как статические файлы, за исключением задокументированных функций экспорта.

Публичный запрос извлекает необработанное внутреннее хранилище, конфигурацию или неэкспортированные данные репозитория.

Критично для безопасности.

Пороги ресурсов в этой модели являются задокументированными значениями конфигурации по умолчанию, где они существуют, особенно ограничения на импорт резервных копий и ограничения скорости. В отношении размера репозитория, количества проектов, количества компонентов и объёма перевода Weblate не заявляет о фиксированном универсальном потолке ресурсов, независимом от мощности развёртывания. (сопровождающий)

Свойства безопасности, которые Weblate не предоставляет

Weblate не аутентифицирует криптографически каждую доставку веб-обработчика для всех поддерживаемых интеграций с фабриками. Конечные точки обработчиков ориентированы на совместимость и укреплены на уровне развёртывания, а не единообразно аутентифицированы фабрикой. Отчёты, которые показывают только неаутентифицированный запуск в пределах смоделированных эффектов, являются VALID-HARDENING, а не BY-DESIGN. (сопровождающий)

Weblate не приравнивает неаутентифицированный веб-обработчик к доверенному удостоверению фабрики. Обработка обработчика может запускать рабочие процессы обновления, но атрибуция и подлинность слабее, чем для аутентифицированного пользователя или токена. (сопровождающий)

Weblate не является песочницей для злонамеренных администраторов, злонамеренных локальных операторов, сторонних надстроек, пользовательского кода развёртывания, клиентов VCS или инструментов резервного копирования. (сопровождающий)

Weblate не гарантирует, что содержимое перевода безопасно при копировании в нижестоящий продукт без собственного экранирования, проверки или рецензирования этого продукта. Проверки перевода и рабочие процессы рецензирования помогают управлять качеством и рисками локализации; они не являются полной границей безопасности нижестоящего приложения. (документировано) (источник: Модель угроз локализации, Проверки и исправления)

Ложные друзья:

  • Разрешения Weblate — это авторизация приложения, а не песочница хоста. Пользователь, которому предоставлены разрешения СКВ или управления проектом, может намеренно настраивать интеграции в пределах полномочий этой роли. (сопровождающий)

  • Сопоставление проекта веб-обработчика и анализ событий не являются доказательством того, что отправитель является легитимной фабрикой, когда интеграция не аутентифицирует доставку. (сопровождающий)

  • Проверки перевода обнаруживают распространённые проблемы качества и формата; они не гарантируют, что переведённые строки безопасны для любого нижестоящего средства отрисовки. (документировано) (источник: Проверки и исправления, Модель угроз локализации)

  • Шифрование BorgBackup защищает архивы резервных копий в соответствии с дизайном Borg; Weblate не добавляет отдельной криптографической гарантии для внутренних компонентов Borg. (документировано) (источник: Резервное копирование и перенос Weblate)

  • Ограничения скорости уменьшают злоупотребление настроенными конечными точками; они не являются гарантией доступности при объёмных сетевых атаках. (сопровождающий)

Хорошо известные классы атак, частично или полностью оставленные на усмотрение систем развёртывания или нижестоящих систем:

  • Фишинг и повторное использование учётных данных смягчаются политикой аутентификации и 2FA, но Weblate не может помешать пользователям раскрывать учётные данные за пределами сервиса. (сопровождающий)

  • Злонамеренные переводы могут стать проблемами XSS, форматной строки, команды или политики в нижестоящих приложениях, которые отображают их небезопасно. (документировано) (источник: Модель угроз локализации)

  • Настраиваемые пользователем поверхности исходящих URL-адресов с задокументированными ограничениями частных целей по умолчанию отклоняют внутренние или непубличные цели; привилегированные списки разрешённых, прокси и конфигурация, контролируемая администратором, могут намеренно расширять достижимость. (сопровождающий)

  • Большие истории репозиториев, масштаб проектов и объём фоновых задач требуют определения размера развёртывания и операционных ограничений, выходящих за рамки проверки одного входного параметра Weblate. (сопровождающий)

Обязательства нижестоящих сторон

Операторы должны развёртывать Weblate за производственным HTTPS с правильными заголовками прокси, именами хостов, ограничениями размера запроса и поведением безопасных куки. (документировано) (источник: Инструкции по настройке, ENABLE_HTTPS, ALLOWED_HOSTS)

Операторы должны назначать команды, роли, токены с областью действия проекта, учётные данные системы контроля версий и разрешения управления проектом в соответствии с наименьшими привилегиями для своей организации. (документировано) (источник: Контроль доступа, API REST для Weblate)

Операторы, предоставляющие Обработчики уведомлений, должны включать их только там, где это необходимо, и обеспечивать средства контроля развёртывания, такие как ограничения скорости обратного прокси, ограничения размера тела, мониторинг и опциональные ограничения источников. (сопровождающий)

Операторы должны относиться к спискам разрешённых частных целей, прокси и привилегированным настройкам исходящих интеграций как к намеренному расширению ограничений сетевой достижимости Weblate по умолчанию. (сопровождающий)

Операторы должны поддерживать ограничения импорта резервных копий, ограничения скорости API и ограничения скорости веб-интерфейса на значениях, соответствующих ёмкости и степени открытости экземпляра. (документировано) (источник: Конфигурация)

Операторы должны защищать каталог данных Weblate, конфигурацию, учётные данные резервного копирования, сгенерированные ключи, базу данных, хранилище данных и локальный доступ к оболочке как доверенную инфраструктуру. (документировано) (источник: Резервное копирование и перенос Weblate, Инструкции по настройке)

Нижестоящие продуктовые команды должны обрабатывать переведённые строки как недоверенное содержимое в своих собственных приложениях, если только они не провели отдельное рецензирование, экранирование и проверку для целевого средства отрисовки. (документировано) (источник: Модель угроз локализации)

Известные модели неправильного использования

  • Широкое раскрытие конечных точек веб-обработчиков, включение обработчиков проектов и reliance на полезные нагрузки веб-обработчиков как на аутентифицированное удостоверение фабрики. Это небезопасно, потому что некоторые поддерживаемые обработчики ориентированы на совместимость. Используйте средства контроля развёртывания и предпочитайте аутентифицированные интеграции, где это возможно. (сопровождающий)

  • Предоставление разрешений управления проектом, СКВ или управления доступом пользователям, которым доверяют только как переводчикам. Это небезопасно, потому что эти разрешения могут влиять на репозитории, учётные данные или других пользователей. Назначайте более узкие роли. (документировано) (источник: Контроль доступа)

  • Отправка конфиденциальных исходных строк или приватного содержимого клиента поставщикам машинного перевода без отношения к поставщику как к получателю данных. Это небезопасно, потому что Weblate должен передавать содержимое в настроенную службу, и отправляемое содержимое зависит от поставщика и включённой функции. Настраивайте поставщиков в соответствии с политикой обработки данных для проекта. (сопровождающий)

  • Импорт резервных копий проектов из недоверенных источников как административное удобство. Это небезопасно, потому что резервные копии несут метаданные проекта, содержимое перевода и состояние репозитория. Держите ограничения импорта включёнными и импортируйте только резервные копии, подходящие для целевого экземпляра. (документировано) (источник: Резервное копирование и перенос Weblate)

  • Отношение к проверкам перевода Weblate как к доказательству того, что нижестоящие приложения не могут быть атакованы через переведённые строки. Это небезопасно, потому что нижестоящее средство отрисовки определяет конечный контекст выполнения. Рецензируйте и экранируйте переводы в потребляющем приложении. (документировано) (источник: Модель угроз локализации)

Известные ненаходки

  • Отчёт о том, что в достижимый веб-обработчик можно вызвать без аутентификации фабрики, и он только инициирует смоделированное планирование обновления, сам по себе не является VALID. Он направляется в VALID-HARDENING, если только он не обходит задокументированные ограничения, не допускает утечку данных или не вызывает эффекты, выходящие за рамки смоделированного планирования. (сопровождающий)

  • Отчёт о том, что управляющий проектом может изменить настройки репозитория, учётные данные системы контроля версий или конфигурацию проекта, не является уязвимостью, когда действующее лицо имеет задокументированное разрешение на это действие. (документировано) (источник: Контроль доступа)

  • A report that a project manager can configure Gerrit review push options is not a vulnerability by itself. Gerrit interprets these options as the configured Weblate Gerrit account and enforces Gerrit-side permissions. (documented) (source: Ветка для отправки)

  • Отчёт против поведения сторонней надстройки не является уязвимостью ядра Weblate, если только отчёт не показывает, что границы разрешений или установки Weblate обойдены. (сопровождающий)

  • Отчёт о том, что злонамеренный локальный оператор может читать конфигурацию, запускать команды управления или изменять файлы, находится вне модели, потому что локальные операторы являются доверенной инфраструктурой. (сопровождающий)

  • Отчёт о том, что нижестоящее приложение отображает опасный перевод, не является уязвимостью Weblate, если только сам Weblate не нарушает заявленное свойство при хранении, проверке, рецензировании или отображении этого перевода. (документировано) (источник: Модель угроз локализации)

Условия, которые изменяют эту модель

Пересматривайте эту модель, когда Weblate добавляет новое семейство публичных конечных точек, новый режим аутентификации или токенов, новый режим развёртывания по умолчанию, новый формат резервного копирования или импорта, новый путь выполнения системы контроля версий, новый класс исходящей интеграции, новую возможность выполнения надстроек или изменение значений по умолчанию для обработчиков, HTTPS, ограничений скорости, CSP, доступа к частным сетям или ограничений импорта резервных копий. (сопровождающий)

Пересматривайте эту модель, когда неподдерживаемый компонент становится поддерживаемой поверхностью продукта, когда задокументированное свойство безопасности удаляется или сужается, или когда сопровождающие принимают отчёт об уязвимости, который не может быть направлен к одному из решений сортировки ниже. (сопровождающий)

Решения при сортировке

Решение

Значение

Лицензировано

VALID

Нарушает свойство, заявленное Weblate, через действующее лицо и входные данные в области действия.

Свойства безопасности, предоставляемые Weblate, Входные предположения, Модель противника

VALID-HARDENING

Ни одно заявленное свойство не нарушено, но Weblate решает снизить известный риск неправильного использования, например, срабатывание совместимого веб-обработчика, которое остаётся в рамках смоделированных эффектов.

Известные модели неправильного использования, Свойства безопасности, которые Weblate не предоставляет

OUT-OF-MODEL: trusted-input

Требует контроля злоумышленника над входными данными, которые эта модель помечает как доверенные.

Входные предположения

OUT-OF-MODEL: adversary-not-in-scope

Требует возможности, которую эта модель исключает.

Модель противника

OUT-OF-MODEL: unsupported-component

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

Вне области действия

OUT-OF-MODEL: non-default-build

Проявляется только после выбора развёртывания, который намеренно удаляет заявленное свойство.

Варианты сборки и конфигурации

BY-DESIGN: property-disclaimed

Касается свойства, которое Weblate явным образом не предоставляет.

Свойства безопасности, которые Weblate не предоставляет

KNOWN-NON-FINDING

Совпадает с задокументированным повторяющимся ложным срабатыванием.

Известные ненаходки

MODEL-GAP

Не может быть чётко направлено ни к одному из вышеуказанных решений.

Условия, которые изменяют эту модель