github protected 分支机构不提供任何真正的安全性

标签 git security github

github's docs他们提到 protected 分支是“让你的项目和 pull 请求有条理和安全”的一种方式。然而,在做了一些研究之后,模型并没有真正增加安全性。以下描述不准确吗?

github 中的 protected 分支依赖于使用状态 api 将提交标记为“成功”。然后,github 将阻止 merge 、强制推送等到所需的分支(即 master),除非要 merge 的 pull 请求已通过 API 标记为成功。

问题在于,任何拥有存储库推送权限的人都可以通过 API 手动将成功状态应用于他们的提交。

例如:

  • 用户向 master 发出 pull 请求,而 master 的构建测试失败
  • github 将不允许 merge pull 请求,因为状态为失败
  • 开发人员可以绕过测试检查手动使用 API 将他们的提交标记为成功
  • 失败的代码进入 protected 分支

Protected Branches 可以提供一些不错的代码质量检查,但由于 Status API 没有任何限制,因此没有什么可以防止这些检查被绕过。

最佳答案

我在与 Github 交谈后确认,如果你有推送访问权限,那么你也可以使用状态 api;没有更精细的控制可用。

关于github protected 分支机构不提供任何真正的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622068/

相关文章:

python - 如何删除github上的文件或文件夹?

其他团队成员创建的 Git 子模块

git - Emacs shell : save commit message

xcode - 我可以从我的 git 存储库中将哪些 Xcode 项目文件设为 'exclude'?

php - 验证文件上传服务器端 - 只允许使用 php 的图像

github - 启用分支锁

Asp.net Mvc 6 登录后立即获取用户声明

java - Java 中的信用卡洗涤器/ sanitizer 库

go - 通过drone.io提交代码构建应用时,如何在代码中提供所需的go模块?

Git 克隆导致 : "Cannot get remote repository information."