我需要小心哪些Maven存储库我挂钩?

时间:2012-03-16 12:05:50

标签: security maven repository trust

一般来说,是否应该只将中央Maven存储库添加到pom.xml +可选的任何本地Maven存储库?理论上(我认为?)任何人都可以建立一个存储库 - 是否有一个Maven存储库< - > Maven存储库'信任圈还是什么?

我怎么知道我真的下载(比方说)log4j编译的JAR而不是一些卑鄙/邪恶的版本?

2 个答案:

答案 0 :(得分:1)

最佳做法是不将任何存储库添加到pom.xml中。最好的解决方案是配置到settings.xml中,或者最好的解决方案是使用存储库管理器。此外,如果你没有repo-manager,最好的办法就是使用maven central,但为此你不需要配置任何东西,因为Maven Central是Maven本身的默认设置。 Maven Central是Sonatype人员的控制管理员,并不是那么容易进入Maven Central。你可以做些什么来保证传输更多一点是打开由configuration in the settings.xml控制的校验和检查。

答案 1 :(得分:1)

你可以采取一些让自己感觉舒服的事情:

  • 使用像Nexus或JFrog这样的本地存储库管理器,并代理您要使用的任何存储库。这有几点好处:
    • 当地经理可以跟踪SHA哈希,以确保罐子不会在你的脚下发生变化。
    • 您可以限制开发人员可以访问的存储库。
  • 当你可以坚持使用Maven Central时 - 很多人都会使用它,如果有人用不值得信任的东西切换log4j版本,每个人都会很快知道(因为哈希不会排队)。一般来说,这个论点也适用于任何其他拥有流行库的存储库(例如sourceforge,google code,codehaus等)
  • 如果你正在使用一些花花公子的回购,他们写了一些在野外不受欢迎的图书馆,那么事情很可能会有风险。在实践中,这很少发生。在这些情况下,也许您可​​以自己构建代码以确保。