使用 Gitlab CI 共享测试运行程序有哪些安全风险



我正在尝试用Gitlab托管一个新项目。这是一个私有的Python项目。我能够使用Gitlab CI测试一些初始测试。

我在运行测试时不使用缓存,

在设置中浏览运行器部分时,会显示一条警告,

GitLab 运行器不提供项目之间的安全隔离: 他们确实为之构建。您信任所有可以推送的 GitLab 用户 项目 A、B 或 C 的代码,以在托管的计算机上运行 shell 脚本 跑步者 X.

使用共享测试运行程序有哪些安全风险?在共享运行器上运行私有项目是否安全?在共享运行器上运行测试时可以采取哪些预防措施?

感谢您的任何见解。

GitLab CI 运行器提供以下执行器类型:

  • shell
  • docker
  • ssh
  • docker-ssh
  • parallels
  • virtualbox

您应该有的安全问题主要来自使用 sshshell 运行器。

  • 除非您处于受控环境中,否则shell不安全。
    这是因为从字面上看,它是一个简单的外壳。运行生成的用户将有权访问该用户正在进行的所有其他内容,包括其他项目。
  • ssh容易受到中间人攻击。
    如果您在构建中处理私有加密密钥,请注意它们可能会被盗。

幸运的是,http://gitlab.com 似乎只分享docker跑步者。
docker运行器通常是安全的*,因为每个构建都在新容器中运行,因此无需担心。

您可以在此处阅读有关 GitLab CI Runner 安全性的更多信息。

*除非您正在执行讨厌的privileged模式!

使用 Gitlab 共享运行器并非没有风险。当 Gitlab 缓存运行运行器的存储库的内容时,您的代码仍存储在 Gitlab 实例中的某个位置。任何可以作为能够读取缓存文件夹的用户访问这些实例的人都可以访问您的实例。

如果你已经在将Gitlab作为SaaS运行,我想这不会有太大的区别。

相关内容

  • 没有找到相关文章

最新更新