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

时间:2016-02-20 18:59:23

标签: security testing continuous-integration gitlab-ci test-runner

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

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

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

  

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

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

感谢您的任何见解。

1 个答案:

答案 0 :(得分:12)

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模式!