首页 > 解决方案 > 安全性不足:从触发持续集成的分叉中拉取请求

问题描述

我喜欢使用 Azure Pipelines 或 Travis CI 来运行构建和测试作业。使用几个部署步骤也很好,例如仅在为分支运行作业时执行master。因此,我通常使用环境变量来启用 CI 进行部署。

实际上这样做有一个安全问题:黑客可以

从某种意义上说,这个问题有什么解决方案吗?

处理此问题的一种方法可能是在来自分叉的拉取请求的情况下禁用触发构建。GitHub.com 有这样的功能吗?我没有找到关于这个主题的任何内容。或者有没有其他方法可以实现目标?

标签: securitygithubcontinuous-integration

解决方案


就像@bk2204 所说,这些信息在文档中可用。

对于特拉维斯

该文档说,对于来自分叉的这些“外部拉取请求”构建,机密将不可用,仅适用于来自原始存储库的“内部拉取请求”。

请参阅:https ://docs.travis-ci.com/user/pull-requests/

对于 Azure 管道:

Microsoft 的 azure 管道已经有一个复选框,可以在其中启用或禁用对来自分叉的拉取请求的机密可用性:

  • 选择您的管道
  • 点击Edit右上角
  • 点击右上角的三个点
  • 选择Triggers
  • 点击Pull request validation左下方。
  • 在右侧,您可以配置是否应该运行作业以及是否可以使用机密

推荐阅读