Сканер безопасности остановил сборку до компиляции

F-Droid заблокировал сборку Gradle из-за срабатывания правил suss.json, а не ошибки компилятора.

2026-06-06 GIGATAP Team #tools
#F-Droid#Gradle#open source security

Сбой сборки не всегда значит сломанный билд-сервер. В обсуждении на F-Droid Forum один мейнтейнер выяснил, что причина сбоя — компонент Gradle, отмеченный сканером F-Droid, а не ошибка компилятора или сбой инфраструктуры.

Что произошло?#

В fdroiddata pipeline сборка завершилась с ошибкой после того, как сканер F-Droid загрузил и проверил данные suss.json. В логах сканер отметил org.gradle.toolchains.foojay-resolver в settings.gradle.kts как “usual suspect”, после чего сборка упала.

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

Причина сбоя не связана с синтаксисом, разрешением зависимостей или компиляцией. Сбой произошел из-за того, что сканер или политика безопасности отметили конкретный компонент.

Что такое suss.json?#

suss.json используется сканером как набор правил для проверки кода, зависимостей, плагинов и элементов сборки. Если элемент совпадает с записью, сканер помечает его для дополнительного анализа.

Это важно при отладке: проект может компилироваться локально, но проваливаться в пайплайне с дополнительными проверками безопасности и воспроизводимости. Успешная локальная сборка не гарантирует соответствие требованиям платформы.

Значение для безопасности#

Системы распространения open source теперь рассматривают конфигурацию сборки как часть цепочки поставок. Безопасность проверяет не только код приложения, но и источники зависимостей, вспомогательные инструменты, внешние сервисы и автоматизацию сборки.

Различие локальной сборки и сборки в дистрибутиве:

Локальная сборка Пайплайн дистрибутива
Производит рабочий артефакт Проверяет доверие, воспроизводимость и политику
Может использовать удобные инструменты Отклоняет инструменты с внешними зависимостями доверия
Успех означает компиляцию Успех означает компиляцию и прохождение проверок политики

Факт: помеченный компонент не обязательно опасен, уязвим или эксплуатируется.

Что проверить#

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

Чего не следует утверждать#

На основе форума и логов нельзя делать выводы о взломе, эксплойте или угрозе пользователям. Единственно подтверждено: сборка упала из-за совпадения с правилом сканера для компонента Gradle.

FAQ#

Что изменилось в обсуждении F-Droid?#

Сборка fdroiddata упала, сканер отметил org.gradle.toolchains.foojay-resolver через правила из suss.json.

Кому это важно?#

Разработчикам Android, мейнтейнерам пакетов, командам безопасности, контрибьюторам, распространяющим ПО через F-Droid или похожие платформы.

Доказывает ли это проблему безопасности?#

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

Что проверить перед действиями?#

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