【发布时间】:2011-10-03 22:05:53
【问题描述】:
我正在浏览某位作者的 Nuget 库并看到有问题的内容.. 与我之前看过的一些作品质量不同。
我怎么知道 Nuget 包的作者真的是那个人?
我可以将这种信任扩展到 Nuget 的内置更新过程吗?
【问题讨论】:
标签: security nuget nuget-package spoofing nuget-server
我正在浏览某位作者的 Nuget 库并看到有问题的内容.. 与我之前看过的一些作品质量不同。
我怎么知道 Nuget 包的作者真的是那个人?
我可以将这种信任扩展到 Nuget 的内置更新过程吗?
【问题讨论】:
标签: security nuget nuget-package spoofing nuget-server
“作者”只是包含在 .nuspec 文件中的元数据。请参阅(http://docs.nuget.org/docs/reference/nuspec-reference)。这可能与包所有者/创建者不同。
在 NuGet 刚起步的时候,有几个人为他们没有编写的项目创建包,主要是为了在存储库中获取包。
现在 NuGet 更加成熟,建议人们联系项目所有者并让他们创建自己的 NuGet 包。
对于已经由作者以外的人上传到存储库的包,作者可以请求将所有权转移给他们。
由于无法保证包创建者就是原作者,我不确定这会如何影响信任。但是,如果您安装了一个包,可以肯定地说更新将来自创建初始包的同一个人,或者可能已转移给项目的实际作者。
换句话说,信任度可能相同或更好(如果是实际作者),但很少比您安装的原始包差。
希望对您有所帮助。
【讨论】:
我知道这是一个相当古老的问题,但this 是我找到的最佳答案。我想把我的 $.02 加到收银台上。我在 nuget.org 上有几个基于另一个包的包。 Unity.Mvc3.VB、Unity.Mvc3.DLL,我正在开发 Unity.Mvc4.VB 包。它们都基于来自devtrends 的Unity.Mvc3。 DLL 项目基本上只是安装 Unity.Mvc3 的程序集引用,没有 c# 源代码文件,因此在其他语言的项目中使用起来更容易一些。 VB 包包括 C# 源文件的 VB.Net 版本。由于我在 DLL 包中除了 nuspec 文件之外没有写任何东西,所以我只是将 Paul Hiles 列为作者,我列为包所有者。
对于 VB 包,我再次被列为所有者,但对于作者,我在括号中列出了 Paul 和我自己以及我们的每个贡献,如下所示:
我的想法是我将我的衍生作品的原作者归功于我。
【讨论】:
Kiliman 的回答是正确而全面的。我想补充一点,开始在 NuGet 库中编写对 nuget 包的评论取决于社区。评论很少而且相差甚远,而且他们有一个星级评分系统,所以如果您认为某个软件包没有用,或者您对某个特定软件包有疑虑,请在那里写下评论并帮助您的程序员同行。
【讨论】: