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

问题描述 投票:12回答:1

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

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

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

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

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

感谢您的任何见解。

security testing continuous-integration gitlab-ci test-runner
1个回答
13
投票

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

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

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

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

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

你可以进一步阅读about GitLab CI Runner security here

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

© www.soinside.com 2019 - 2024. All rights reserved.