17

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

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

在设置中探索跑步者部分时,会显示警告,

GitLab Runners 不会在他们为其构建的项目之间提供安全隔离。您信任所有可以将代码推送到项目 A、B 或 C 以在托管运行程序 X 的机器上运行 shell 脚本的所有 GitLab 用户。

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

感谢您的任何见解。

4

1 回答 1

16

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

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

您应该有的安全问题主要来自使用sshshell跑步者。

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

幸运的是,http://gitlab.com似乎只共享docker跑步者。
docker跑步者通常是安全的* 因为每个构建都在一个新容器中运行,所以没有什么可担心的。

您可以在此处进一步了解 GitLab CI Runner 安全性

*除非你在做讨厌的privileged模式!

于 2016-02-23T00:13:50.247 回答