下载Nuget包会出现错误“包中包含一个不安全的提取条目”为什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载Nuget包会出现错误“包中包含一个不安全的提取条目”为什么?相关的知识,希望对你有一定的参考价值。

我们正在运行一个私有的nuget存储库。我们的构建服务器从几个框架项目中创建nuget包,并将这些包复制到存储库中。截至今天,当我们尝试恢复一些软件包时,我们收到了来自nuget的奇怪错误。

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

不幸的是,我没有在谷歌找到任何能够帮助我的东西。

我的问题是:nuget包中的哪些被认为对提取不安全?是否有一个条目列表,这些条目不能成为软件包的一部分?

当前版本的包看起来像以前版本的包,仍然可以通过nuget管理器检索。或者这是与15.8.2的最新视觉工作室补丁一起出现的?

** *更新* **同时我们发现问题出现在包管理器4.8.0.5385中。在版本4.7.*一切正常工作。在nuget.org上,nuget.exe的最新推荐版本是4.7.1!不幸的是,它没有选择退出更新版本的选项,因为它安装了最新的Visual Studio Patch for 15.8.2

答案

根据NuGet source code,看起来这是为了防止ZIP遍历攻击(有时称为'zip-slip')

您的NuGet包中包含一个文件,该文件的名称会导致它在错误的位置被提取,或者NuGet客户端确定该错误的方式存在错误。如果是后者,你可能需要file a bug来修复它。

以上是关于下载Nuget包会出现错误“包中包含一个不安全的提取条目”为什么?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我打开我java的jar包会出现这样的错误?

为啥 Python informixdb 包会抛出错误!

Visual Studio 2015 出现 NuGet 安装程序包错误解决方法

Visual Studio 2013 更新 NuGet 包管理器

安装Anaconda遇到问题

使用NUGet自动下载(还原)项目中使用的包