Поищите клиент по названию — на первой странице выдачи обязательно окажется несколько сайтов, не имеющих отношения к проекту. Часть из них безобидные перезаливки, часть отдаёт инсталлятор с довеском. А программа тут не рядовая: она по замыслу встаёт перед вашим сетевым трафиком, так что подменённая сборка видит всё. Эта асимметрия и есть единственная причина, по которой пять минут стоят того.
Сначала источник — он важнее всего, что идёт ниже
- Чему верить: собственному репозиторию проекта и его странице releases, где файлы лежат вложениями под тегом версии.
- Чему не верить: файловым каталогам, перезаливкам в облако, вложениям на форумах и рекламной строке, которая стоит над настоящим результатом.
- Этот сайт — только информационный, не более. Любой путь загрузки, перечисленный здесь, в итоге ведёт на страницу релизов самого проекта, и авторитет именно у неё, а не у этой страницы.
- Всё, что называет себя официальным зеркалом, ускоренной сборкой или версией без настройки, — повод уйти, а не удобство.
Попасть на нужную страницу помогает имя аккаунта и репозитория в адресе, а не похожесть оформления: скопировать вёрстку не стоит ничего. Потратьте пару секунд при первом заходе, сверьте владельца и репозиторий, добавьте в закладки и дальше ходите только из закладок. Эта привычка целиком убирает поисковик из цепочки, а именно там живёт большая часть риска.
Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверыПроверьте файл прежде, чем считать хеш
- Архитектура. На Windows и Linux x64 против arm64, на macOS Intel против Apple Silicon. Не тот вариант либо не запустится, либо будет ковылять через слой трансляции.
- Расширение. На Windows
.exeили.msi, на macOS.dmgили.pkg, на Linux.AppImageлибо пакет самого дистрибутива, на Android.apk. Какой формат вам удобнее — отдельный разговор; здесь вы лишь подтверждаете, что скачали именно то, что собирались. - Размер. Сравните с числом рядом с вложением на странице релиза. Разница в пару килобайт — ничто, разница в пару мегабайт — повод остановиться.
Посчитайте хеш
certutil -hashfile installer.exe SHA256
Get-FileHash .\installer.exe -Algorithm SHA256
shasum -a 256 app.dmg
sha256sum app.AppImage
Первые две строки — про Windows, достаточно любой: certutil есть в любой установке, Get-FileHash — способ для PowerShell. Третья для macOS, четвёртая для Linux. Сверьте вывод со значением на странице релиза. Читайте строку целиком, а не первые и последние несколько символов: тот, кто способен подменить сборку, способен и подобрать хеш со знакомым началом. Регистр значения не имеет, так что строчный вывод против опубликованного значения прописными — это нормально.
Когда хеша на странице релиза нет вовсе
Так бывает часто, и запасной вариант есть. На Windows щёлкните по файлу правой кнопкой, откройте свойства и поищите вкладку с цифровыми подписями. Если она есть, откройте сведения о подписавшем и спросите себя, тот ли это субъект, которого вы ожидали. Вкладки нет вовсе — значит, сборка не подписана; для небольшого open-source проекта это в порядке вещей и само по себе не тревожный знак, просто конкретно эта проверка вам здесь ничего не даёт. На macOS эквивалент — команда.
codesign -dv --verbose=4 /Applications/YourApp.app
gpg --import publisher-key.asc
gpg --verify app.AppImage.asc app.AppImage
Первая строка печатает подписывающую личность уже установленного приложения. Две другие пригодятся, когда рядом с бинарником на странице релиза лежит .asc или .sig: импортируйте публичный ключ издателя, затем проверяйте. И будьте честны насчёт того, что это доказывает. Подпись подтверждает лишь, что файл сходится с тем ключом, который вы импортировали; если ключ взят с той же страницы, что подсунула бы вам подделку, цепочку не держит ничто. Возьмите ключ по независимому каналу либо признайте, что шаг слабее, чем выглядит. Подпись GPG и подпись кода обе лучше, чем ничего, и ни одна из них не доказательство.
Ещё одна вещь, которая не является доводом ни в одну сторону, — ваш антивирус. Инструменты, переписывающие сетевые настройки и ставящие виртуальные адаптеры, регулярно ловят эвристику, так что предупреждение на честной сборке значит немного. Обратное говорит не больше: у свежеподменённой сборки ещё нет сигнатуры, с которой можно сойтись. Решайте по источнику и хешу. Не позволяйте сканеру решать за вас.