Я столкнулся с этим во время загрузки Bootstrap этим утром и подумал, что, возможно, обнаружил какое-то вредоносное ПО ...
Согласно этой проблеме GitHub это потому, что ZIP-файл был создан на Mac.
Этот пост в блоге описывает проблему:
Это действительно забавно. Спецификация ZIP требует, чтобы программа / ОС, создающая zip-архив, включала тег, сообщающий о себе программе, пытающейся распаковать архив. Эта информация называется «version made by» и выглядит следующим образом:
0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems)
1 - Amiga 2 - OpenVMS
3 - UNIX 4 - VM/CMS
5 - Atari ST 6 - OS/2 H.P.F.S.
7 - Macintosh 8 - Z-System
9 - CP/M 10 - Windows NTFS
11 - MVS (OS/390 - Z/OS) 12 - VSE
13 - Acorn Risc 14 - VFAT
15 - alternate MVS 16 - BeOS
17 - Tandem 18 - OS/400
19 - OS/X (Darwin) 20 thru 255 - unused
Интересно, что Mac OS отмечает теги zip-архивов, которые она создает, значением 3 (UNIX). Хорошо, пока проблем нет, наверное.
Проблема возникает, когда Windows запутывается в том, как интерпретировать атрибуты файла / папки. В FAT / NTFS эти значения хранятся в соответствии с этим определением констант атрибутов файла. Вы увидите, что FILE_ATTRIBUTE_ENCRYPTED имеет значение 0x4000.
Интересно, как Mac OS хранит свои атрибуты файлов в zip-архиве. Mac OS, являющаяся операционной системой на основе UNIX, использует систему атрибутов файлов / папок UNIX (и разрешения, но это тема для другого времени ...) .. Ну, просто так получилось, что в POSIX флаг для описания каталога / папки (S_IFDIR) по совпадению также имеет значение 0x4000. Таким образом, оказывается, что код распаковки zip не знал, что могут быть другие операционные системы, которые могут создавать zip-архивы…
Вы можете изменить это поведение?
Нет, но вы можете легко удалить флаг шифрования из извлеченных файлов / папок.