При загрузке пакета Nuget выдается ошибка «Пакет содержит запись, небезопасную для извлечения». Почему? - PullRequest
0 голосов
/ 05 сентября 2018

У нас есть закрытый репозиторий nuget. Наш сервер сборки создает пакеты nuget из нескольких наших фреймворковых проектов и копирует эти пакеты в хранилище. На сегодняшний день мы получаем странную ошибку от nuget, когда пытаемся восстановить некоторые пакеты.

The package '[package name here]' contains an entry which is unsafe for extraction.

К сожалению, я не нашел в Google ничего, что могло бы мне помочь.

Мой вопрос: что в пакете nuget считается небезопасным для извлечения? Есть ли список записей, которые не должны быть частью пакета?

Пакет текущей версии выглядит как пакет предыдущих версий, который по-прежнему можно получить с помощью диспетчера nuget. Или это что-то, что пришло вместе с последним патчем visual studio для 15.8.2?

** * ОБНОВЛЕНИЕ * ** Тем временем мы выяснили, что проблема возникает в менеджере пакетов 4.8.0.5385. В версиях 4.7.* все работает как положено. На nuget.org последняя рекомендуемая версия nuget.exe - 4.7.1! К сожалению, никто не может отказаться от обновления версии, потому что он установлен с последней версией Visual Studio Patch для 15.8.2

1 Ответ

0 голосов
/ 05 сентября 2018

Согласно исходному коду NuGet , похоже, что это происходит, чтобы предотвратить атаку обхода ZIP (иногда называемую "zip-slip")

Либо ваш пакет NuGet содержит файл с именем, из-за которого он может быть извлечен в неправильном месте, либо имеется ошибка в способе определения этого клиентом NuGet. Если это последнее, вам, вероятно, потребуется сообщить об ошибке , чтобы исправить ее.

...