Git обычно не выполняет fsck при выборке, поэтому можно получить поврежденные данные (например, поврежденные или недействительные объекты фиксации или тега), не заметив этого. Также возможно, что ненадежный пульт может предоставить действительные, но вредоносные данные, такие как данные, которые пытаются перезаписать каталог .git
из-за проблем нечувствительности к регистру; они также отклоняются git fsck
.
Установка fetch.fsckObjects
на true
перехватит все эти случаи. Это, однако, не мешает людям вставлять допустимые объекты, содержащие вредоносный код или данные, которые будут использовать вашу рабочую среду, но должно отклонять случаи, которые пытаются использовать сам Git. Большинство хостинг-провайдеров устанавливают receive.fsckObjects
таким образом, чтобы они отклоняли все эти эксплойты до того, как они были приняты в репо, а также только общие поврежденные данные.
Если вам нужно установить pu sh на ненадежный сервер, вы можете установить fetch.fsckObjects
и использовать подписание фиксации, что предотвратит вмешательство других в фактические объекты. Однако это не помешает людям откатывать ссылки или иным образом изменять их.