При использовании кода от неизвестных третьих лиц на github я всегда проверяю код на отсутствие очевидных бэкдоров, которые могут поставить под угрозу безопасность моей системы.
Конкретное состояние репозитория, который я просматриваю, вероятно, связано с тегом git и хешем коммита. Как мы знаем, содержимое тега git можно легко изменить. Таким образом, повторная загрузка исходного кода и доверие к нему на основе тега версии определенно небезопасны.
У меня вопрос: при новой загрузке исходного кода могу ли я быть уверен, что если я проверю конкретную фиксацию на основе ее полного хэша фиксации, это будет на 100% тот же код, который я просматривал ранее?
Основное внимание в этом вопросе уделяется не вероятности возникновения коллизий sha1 (поскольку коллизию намного проще вычислить, чем вычисление конкретного хэша sha1, что, надеюсь, в значительной степени невозможно в данный момент?), но каждый и каждый файл является частью этой суммы sha1, так что изменение всегда будет вызывать другой хэш.