NuGet官方包源:我应该担心包裹的安全吗?

11 nuget nuget-package

根据这个页面:

没有用于添加包的集中审批流程.当您将包上传到NuGet包图库(尚不存在)时,您不必等待数天或数周等待某人审阅并批准它.相反,当涉及饲料时,我们将依靠社区来调节和警察自己.这符合CodePlex.com和RubyGems.org的工作原理.

这让我感到不安.在我下载Firefox附加组件之前,我知道它不应该包含恶意代码,因为Mozilla会审查addons.mozilla.org上的AFAIK所有附加组件.在我从codeplex.com或code.google.com下载开源项目之前,我知道它应该是安全的,因为任何人都可以查看它的源代码.我还可以使用WOT(信任网)来检查其他人对该项目的看法.

但在我从NuGet官方包源下载包之前.就拿这一次的例子.我不知道是谁制作了这个包装,也不知道包装中包含的是什么.在我看来,任何人都可以打包任何东西,给它任何他们想要的名字(如"微软棱镜",只要不采取名称),然后将其上传到官方包源.

我是否应该担心NuGet官方软件包源代码的安全性?

Jam*_*ter 11

您的不安应该适用于您从任何来源获得的软件:

  1. 从Sourceforge.net,Codeplex.com等下载的二进制文件可能包含恶意代码(由原始提交者植入,或者更有可能是由黑客插入到网站中),可能会被忽视,直到有人(你?)被咬过来引起警报.
  2. 即使您从以前的一个网站下载的源代码编译自己的二进制文件,它仍然可以执行恶意行为,除非您查看所有源代码并了解它的作用.
  3. 即使是从"app store"(例如Apple iTunes,Android Market)下载的软件也可能包含恶意代码; 其中一些审核流程是部分自动化的,但仍然不是绝对可靠的,而且同样发生的人工审核绝对不是绝对正确的!
  4. 过去有包含恶意软件的盒装软件的例子!

也许你可以在软件中拥有一个信任的连续体(作为二进制文件或源代码提供),像Nuget Package Gallery(以及CodePlex.com和RubyGems等)可能位于连续体的不太可靠的一端. .

这类问题有潜在的解决方案,例如可信计算平台联盟提出的那些问题,但是它们对我们目前在开发软件和共享我们认为合适的软件时所享有的自由有很大的限制,没有需要从中央当局获得的许可证或加密密钥,费用很高.

我相信社区将提出各种约定和机制,以确保Nuget成为.Net开发人员可信赖的软件库来源,同时保持其灵活性,而不需要正式的审核流程.但是,作为用户,最终的责任在于确保您的IT安全不会受到损害,并且您采取的预防措施是在您编写的软件环境中(例如,家庭项目;可能很低.银行,医疗,过程控制项目;可能很高!)