我们如何知道可以信任Maven中央存储库?
很抱歉,如果这个问题不适合StackOverflow,它不是一个编码问题我们如何知道可以信任Maven中央存储库?,maven,Maven,很抱歉,如果这个问题不适合StackOverflow,它不是一个编码问题 我是Maven的新手,我很好奇为什么会有一个Maven中央存储库看起来可以免费访问。据我所知,它是由一家名为SonaType的公司维护的。他们在资助吗?为什么?它是否在其剩余业务中充当潜在客户开发工具?我想如果我理解了他们的理由,我就会知道是否或者如何/何时信任他们。有任何问题,请阅读条款/服务:。如果你没有一个温暖和模糊之后,那么你可以自由地不使用它。还有其他maven回购协议,但我在开发领域认识的大多数人都使用中央回购
我是Maven的新手,我很好奇为什么会有一个Maven中央存储库看起来可以免费访问。据我所知,它是由一家名为SonaType的公司维护的。他们在资助吗?为什么?它是否在其剩余业务中充当潜在客户开发工具?我想如果我理解了他们的理由,我就会知道是否或者如何/何时信任他们。有任何问题,请阅读条款/服务:。如果你没有一个温暖和模糊之后,那么你可以自由地不使用它。还有其他maven回购协议,但我在开发领域认识的大多数人都使用中央回购协议,从来没有出现过问题。坦率地说,如果你不信任任何回购协议,你完全可以放弃你自己的回购协议(比如Artifactory) 关于Sonatype。他们是一家具有附加值的服务公司,中央回购或多或少是善意的。很多公司都有这种商业模式。说诱饵为钩子。詹森提到了索纳类型。其中包含有关如何提交内容的链接:
- GAV标识符(组、工件、版本)
- 名称和说明字段以及项目URL
- 从事该项目的开发人员
- 许可证信息
- 源代码存储库的位置
这些信息发布了您和我需要了解的关于代码、代码是如何构建的以及更重要的是谁构建的所有信息。GPG的使用使我们能够验证二进制文件是由项目POM文件中所述的开发人员构建的。此外,Maven Central自动生成SHA校验和,使您能够验证生成过程下载的文件的完整性 那么Sonatype能从中得到什么呢
- 一个有用的专业特性是能够限制可以从Maven Central下载的工件。用于强制执行标准或关注第三方软件
- 这些提供了与公司软件使用的第三方库相关的安全漏洞的详细报告。令人印象深刻的是,这些工具可以直接集成到软件开发和构建过程中
- Sonatype还可以提供与其代码的第三方依赖项相关的软件许可报告。对于法规遵从性非常重要,如果没有这种工具,在实践中很难做到
希望这有帮助。最后,我要指出,Sonatype所做的与其他开源软件打包计划没有太大区别。Redhat、Debian和Canonical花费大量精力将软件打包,以便在操作系统中安全地分发。Maven Central可能对开发人员更为友好。这是一个非常好的问题,尤其是因为使用不安全的第三方库现在是OWASP的前10名。不幸的是,大多数人认为对Maven Central的信任是理所当然的。我认为他们过于乐观了 很多人认为,因为你必须签署提交给Maven的文件,所以软件是可信的。不幸的是,他们忽略的是,如果您不能确定为库签名的密钥属于提供给Maven的原始源,那么签名就毫无意义。Maven似乎就是这样 简单的解释 为了简化解释,请考虑下面的类比。当你去机场飞往某地时,你需要提供身份证来证明你是你所说的那个人。对于当地旅行,驾驶执照就足够了。检查您身份证的人有几件事要检查:
- 同一来源:驾照上的名字和车票上的名字匹配吗?这阻止了奥萨马·本·拉登以巴拉克·奥巴马的名义预订机票。
- 来源真实性:驾照上的照片看起来像是登记的人。这防止了奥萨马·本·拉登窃取巴拉克·奥巴马的驾驶执照,并用它以他的名义办理登机手续。
- 证件真实性:驾驶证是真实的。这可以防止奥萨马·本·拉登获得一张伪造的驾照,驾照上有他的照片,但也有巴拉克·奥巴马的名字。