Skip to content

ru BINARIES

VD $ VD171 @ Priv8 edited this page Nov 4, 2026 · 2 revisions

Languages: English | العربية | Čeština | Deutsch | Español | فارسی | Français | हिन्दी | Bahasa Indonesia | Italiano | 日本語 | 한국어 | Nederlands | Polski | Português | Русский | Svenska | ไทย | Türkçe | Tiếng Việt | 中文


Встроенные двоичные файлы: происхождение и аудит

Конфиденциальность и безопасность в VDBackup не опциональны. Инструмент резервного копирования работает как root над вашими самыми личными данными, поэтому вы должны иметь возможность видеть в точности, что находится внутри него. Эта страница документирует каждый готовый двоичный файл и библиотеку, которые несёт модуль, откуда каждый из них берётся, и как убедиться, что ничего непрозрачного не было тайком подложено.

Принципы

  • Ничего непрозрачного. Каждый поставляемый двоичный файл и библиотека прослеживается до названного публичного upstream на зафиксированной версии, с записанным SHA-256. Ни один blob не встраивается без записи, которую вы можете проверить.
  • Берётся из upstream, никогда с устройства. Нативные инструменты берутся из официального репозитория пакетов Termux (подписанные файлы .deb на packages.termux.dev/apt), а не скопированы из Termux, установленного на каком-то телефоне. Сборка падает с явной ошибкой, она никогда не импровизирует.
  • Воспроизводимо. Пересоберите - и вы получите те же файлы; повторно загрузите зафиксированные источники - и значения SHA-256 совпадут.
  • След аудита поставляется вместе с модулем. Он не только на сайте - он путешествует внутри установленного модуля, на вашем устройстве, так что вы можете проводить аудит офлайн.

Что поставляется и откуда

Артефакт Источник Как он собирается
нативные инструменты в bin/<abi>/ (tar, zstd, gzip, lz4, jq, rclone, restic, rsync, ssh/scp/sftp, age, age-keygen, script, sqlite3) + их closure в lib/ Официальный apt-репозиторий Termux (packages.termux.dev/apt), официальные пакеты .deb .github/scripts/build_bin.sh скачивает файлы .deb + их транзитивные зависимости, распаковывает их и копирует двоичные файлы плюс только те разделяемые библиотеки, которые нужны каждому
bin/<abi>/abx2xml, bin/<abi>/xml2abx (запасной конвертер ABX) Релиз на GitHub rhythmcache/android-xml-converter (ABX_RELEASE, статический ELF) скачивается из зафиксированного релиза скриптом build_bin.sh
companion.apk (опциональный companion для Google Drive) Этот репозиторий, companion/ (Gradle/Kotlin) собирается из исходного кода в CI и подписывается ключом проекта (VD_Key); это не готовый blob
vdbhelper.dex (framework-хелпер) Этот репозиторий, dex/src/ (Java) компилируется из исходного кода в CI с помощью javac + d8

Только первые две строки - это готовые сторонние двоичные файлы; последние две собираются из исходного кода, который находится в этом репозитории и может быть прочитан и пересобран.

Full- против lite-редакций. Редакции lite опускают только rclone и restic (два самых больших двоичных файла), чтобы оставаться маленькими; rsync и ssh/scp/sftp по-прежнему присутствуют, и любой другой двоичный файл, перечисленный выше, тоже присутствует. Редакции Full добавляют rclone (облачные провайдеры) и restic (снимки).

Манифест на устройстве: PROVENANCE.json

build_bin.sh записывает один bin/<abi>/PROVENANCE.json на каждую ABI. При установке модуль сохраняет только ABI вашего устройства, так что этот файл остаётся на устройстве по пути /data/adb/modules/vdbackup/bin/<abi>/PROVENANCE.json. Он фиксирует:

  • sources: каждый upstream-.deb (пакет, версия, полный URL, SHA-256 файла .deb) и релиз ABX (URL, SHA-256 архива).
  • files: каждый файл, фактически поставленный в bin/<abi>/ (путь, размер, SHA-256).

Вы можете прочитать его в WebUI (вкладка О программе ссылается на него) или через API агента:

sh /data/adb/modules/vdbackup/helper.sh provenance '' | jq .

Как проверить (шаг за шагом)

  1. Проверьте поставленные файлы. Посчитайте хэш каждого файла в bin/<abi>/ на вашем устройстве и сравните с files[].sha256 в PROVENANCE.json:
    cd /data/adb/modules/vdbackup/bin/<abi>
    sha256sum tar zstd jq rclone ... lib/*
  2. Проверьте файлы относительно upstream. Для каждой записи sources[] скачайте зафиксированный .deb по его URL, подтвердите, что его SHA-256 совпадает с deb_sha256, распакуйте его и подтвердите, что двоичные файлы/библиотеки, которые он содержит, имеют те же хэши, что и поставленные. Файлы .deb в репозитории Termux сами раздаются из подписанного apt-репозитория Termux.
  3. Пересоберите с нуля. Запустите .github/scripts/build_bin.sh сами (нужны только curl, ar, tar, xz, zstd, readelf) и сравните результат с тем, что было поставлено.
  4. Companion и dex. Пересоберите companion/ и dex/ из исходного кода; подпись companion - это ключ проекта VD_Key (SHA-256 F3:F8:2B:B9:2F:2C:69:A1:75:90:1D:40:BD:65:DD:A6:8F:2B:B5:88:69:77:F5:EA:8B:BA:AA:51:40:E5:25:2B).

Сообщение о проблемах

Если какой-либо поставленный файл не совпадает со своим записанным источником, относитесь к этому как к проблеме безопасности и сообщите о ней (см. SECURITY.md). Это именно тот тип расхождения, который этот манифест и существует, чтобы делать видимым.

Clone this wiki locally