Перейти к содержанию

Обнаружены расхождения между сравниваемыми версиями приложения

Описание

При сравнении контрольной APK и загруженной на сканирование APK инструмент обнаружил отличия, не попадающие в список допустимых (динамически генерируемые идентификаторы аналитики, timestamp-ресурсы и т. п.). Расхождения могут затрагивать DEX-файлы, Smali-код и/или часть ресурсов, что указывает либо на недетерминируемую сборку, либо на подмену артефактов.

Потенциальные последствия

  • Подмена или внедрение вредоносного кода на пути «CI → Store», т. е. компрометация цепочки поставки. (SLSA)
  • Несоответствие проверенной версии требованиям ИБ: ревью безопасности проверяло одну сборку, а пользователи получают другую.
  • Блокировка/отклонение релиза в Google Play при обнаружении новых разрешений или сигнатур.
  • Утрата юридической и пользовательской доверенности — особенно критично для финансовых и гос-приложений.

Дополнительные рекомендации

  • Внедрите политику «two-person rule» на публикацию: релиз-проверка ИБ + release-manager.
  • Внедрите регламент «что может отличаться», обновляемый в код-ревью.
  • Рассмотрите SafetyNet/PlayIntegrity (на старых API) как резервный канал верификации целостности. (Stack Overflow)

Ссылки

  1. Reproducible Builds и их польза для безопасности Android (Consagous Technologies)
  2. Play Integrity API — обзор (Android Developers)
  3. SLSA — Supply-chain Levels for Software Artifacts (SLSA)
  4. ApkRash — инструмент сравнения APK/Manifest/Smali (GitHub)
  5. Stack Overflow: Tamper-detection & SafetyNet (Stack Overflow)
К началу