TGViewer
Android Broadcast Android Broadcast @android_broadcast · 14.5K subscribers
Post #10068 12.7K
🐘 Два Gradle-механизма для supply chain, которые почти никто не включает

В Android-проектах зависимости обновляются тихо: transitive upgrade пришёл, сборка не сломалась, никто не заметил.

Dependency Locking фиксирует resolved версии:

// build.gradle.kts
dependencyLocking {
lockAllConfigurations()
}


Запускаешь ./gradlew dependencies --write-locks, Gradle создаёт .lockfile в gradle/dependency-locks/. После этого любое изменение версий требует явного --update-locks.

Dependency Verification проверяет подлинность артефактов:

# gradle.properties
org.gradle.dependency.verification=strict


Инициализация: ./gradlew --write-verification-metadata sha256. Создаёт gradle/verification-metadata.xml с checksums.

Оба файла идут в git. Локинг без верификации не защитит от подмены артефакта на CDN. Верификация без локинга не предотвратит silent upgrade. Работает только в паре. В большинстве Android-проектов ни одно из этого не включено, а полезно чтобы остановиться каскадные неявные обновления

#Gradle #Android #DevSecOps
  • 👍 34
  • 👎 7
More from @android_broadcast
  1. Sep 23, 2026🪙 Оптимизация расхода памяти Android приложений. РАЗБОР В Android 17 система вешает мягки…
  2. Sep 23, 2026🤖 Google запускает игры на Android Auto и Automotive. Теперь когда машина стоит, можно бу…
  3. Sep 23, 2026⚡️⚡️Топовый конкурс с розыгрышем билетов на Mobius 2026 Autumn Разыгрываем 2 билета на Mob…
  4. Sep 22, 2026🤖 Стала доступна запись интервью про процесс собеседования в Amazon на позицию Android ра…
  5. Sep 22, 2026🤖 Одно Android-приложение — куча процессов. Зачем это может понадобиться Android-приложен…
  6. Sep 21, 2026🤖 Правильно собирай билд для оценки производительности Чтобы оценить скорость работы прил…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →