想象一下目前的情况:
您是一名开发人员,希望参与一个新的(开源)项目。该项目可以通过不同的方式构建,其中之一是Maven。
如果您现在下载源代码仓库并启动构建过程,则从我所了解的情况来看,您的系统将面临多种安全风险:
默认的Maven [plugin-]仓库是通过http访问的 - 通过中间人攻击,某人可能会向您发送被篡改的软件包。在拦截插件仓库的情况下,这可能会导致注入代码并作为构建过程的一部分执行
在文件pom.xml中,您可以添加第三方仓库和插件仓库。如果攻击者设法将自己的插件仓库添加到项目pom.xml中(例如开源项目),则其他人可能会受到这些插件的攻击。对于第三方仓库,我不确定 - 在项目pom.xml中定义的仓库是否可以覆盖在用户或系统级别定义的仓库?
在我的看法中,这些都是严重的安全问题 - 或者说描述有误吗?
如果我有一个基于Maven的项目 - 我如何确保运行Maven是安全的?是否有可信赖的仓库列表(仅包含不会损害其执行的计算机中数据的代码)?