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

Проект: Weblate

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

Дата: 2026-05-14.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Stored translation reports

Report forms and GET /api/reports/ endpoints

Database snapshots and background tasks

In scope as authenticated, permission-checked contributor data with operator-configured retention. (documented) (source: Отчёт о прогрессе перевода, API REST для Weblate)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резервные копии на уровне проекта, API REST для Weblate конечные точки резервного копирования проектов, import_projectbackup

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

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

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

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

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

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

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

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

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

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

Дополнения

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

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

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

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

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

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

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

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

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

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

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

The intended deployment is a server-side Weblate installation behind a web server or reverse proxy, with a WSGI or ASGI application server, PostgreSQL database, datastore, Celery workers, a writable data directory, and optional outbound VCS, backup, identity-provider, and machine-translation integrations. (documented) (source: Инструкции по настройке)

The WSGI and ASGI deployment modes expose the same Django HTTP request surface and rely on the same reverse-proxy controls. ASGI deployment does not add a WebSocket interface. (documented) (source: Sample configuration to start Granian with ASGI)

Соответствующие действующие лица разделены по уровню доверия: неаутентифицированные клиенты, аутентифицированные пользователи, рецензенты, управляющие проектами, администраторы, токены 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

Public forge notifications can schedule repository synchronization where hooks are enabled. GitHub App webhooks additionally authenticate with a per-app URL token and GitHub signature verification before processing. (documented) (source: Обработчики уведомлений, Включить обработчики, URL-адрес веб-обработчика приложения)

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

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

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

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

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

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

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

Загруженные ZIP-элементы и метаданные становятся восстановленным состоянием проекта; сгенерированные резервные копии проектов записываются и читаются из локального хранилища резервных копий. (документировано) (источник: Резервное копирование и перенос Weblate, API REST для Weblate, Резервные копии на уровне проекта)

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

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

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

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

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

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

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

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

  • A stored-report finding is in model when an authenticated user can generate, list, or render contributor data outside the creator or current reports.view scope. (documented) (source: Отчёт о прогрессе перевода, API REST для Weblate)

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

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

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

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

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

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

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

Предполагается, что выполнение команд СКВ, SSH и HTTPS-клиенты выполняются от имени пользователя службы Weblate с учётными данными, настроенными для соответствующего проекта или интеграции, включая учётные данные приложений GitHub, хранящиеся в базе данных и используемые для токенов установки и проверки подписи веб-обработчиков. (документировано) (источник: Code-hosting integrations, SSH_EXTRA_ARGS)

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

  • Он открывает исходящие сетевые соединения для настроенных функций СКВ, поставщика удостоверений, аватаров, машинного перевода, резервного копирования, отчётности о состоянии, телеметрии, сообщения об ошибках и надстроек, таких как исходящие веб-обработчики и доставка Fedora Messaging через AMQP. (документировано) (источник: Конфигурация, Code-hosting integrations, Резервное копирование и перенос 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 и RATELIMIT_GITHUB_SETUP_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-адресов

User-configurable outbound URL surfaces documented with private-target restriction settings, including Fedora Messaging AMQP broker URLs, reject internal or non-public targets by default. (documented) (source: ASSET_RESTRICT_PRIVATE, PROJECT_WEB_RESTRICT_PRIVATE, WEBHOOK_RESTRICT_PRIVATE, VCS_RESTRICT_PRIVATE) Protected Git HTTPS and SSH operations are bound to addresses approved by runtime validation. Protected SSH operations validate the effective HostName and Port. Trusted administrator SSH configuration can alter routing, and SSH_EXTRA_ARGS can override connection binding. Git LFS object transfers are disabled and outside the supported VCS integration surface. VCS clients without connection binding require an explicit trusted-host exemption. (maintainer)

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

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

SSH_EXTRA_ARGS

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

Weakening SSH algorithms or host verification changes VCS transport assumptions. Routing options can override protected repository address pinning. (maintainer)

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

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

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

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

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

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

Поверхность

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source strings, translations, comments, suggestions, glossary entries; suggestion API requests including rejection_reason text, is_spam flag, and approve flag

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

Review workflows for project-specific content integrity; approving a suggestion via the API additionally requires the unit.review permission check to be satisfied. (documented) (source: Рабочие процессы перевода, API REST для Weblate)

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

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

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

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

Обратные вызовы подключения приложения GitHub

Код OAuth GitHub, подписанное состояние Weblate, идентификатор установки, метаданные учётной записи

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

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

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

URL-адреса репозиториев, ветки, URL-адреса отправки, учётные данные, параметры отправки на рецензирование Gerrit, настройки надстроек

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

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

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

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

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

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

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

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

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

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

Экспорт резервной копии проекта

Запросы на создание резервных копий и запрошенные имена файлов резервных копий

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Project backup metadata, object references, repository paths, outbound URLs, regular expressions, and screenshot content are validated before restore writes project state. Failed restores remove repository and media objects created by that attempt. (documented) (source: Резервные копии на уровне проекта)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Свойство

Условия

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

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

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

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

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

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

Токены 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)

Default private-target checks are enabled and no trusted allowlist exemption applies. VCS restrictions remain enabled, Git HTTPS and SSH address binding is not bypassed, and VCS backends without binding use only explicitly trusted hosts.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Отчёт против поведения сторонней надстройки не является уязвимостью ядра 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

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

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