更改 Github 上分叉的可见性会导致什么安全问题?

Pra*_*nab 61 github

在 Github 上,假设我分叉了一个项目,但不想在我的个人资料中显示它,因为该项目与我因非竞争原因而不允许从事的事情相关。

当我尝试将分叉设置为私有时,我在 Github 上收到以下错误消息:

“出于安全原因,您无法更改分叉的可见性。”

改变分叉的可见性有哪些潜在的安全隐患?

bk2*_*204 56

当您在 GitHub 上执行推送时,数据将被推送到您 fork 的存储库中。然后,如果有多个分叉,这些对象将被移动到由该网络中的所有存储库(包括分叉)共享的备用对象中。当有很多分叉时,这可以节省大量空间,并且使拉取请求变得更加容易,因为对象已经存在于主存储库中。

然而,这实际上意味着网络中所有分叉中的所有对象都可以通过任何分叉可见。因此,如果您的分叉是私有的,那么知道对象 ID 的人就可以通过主存储库查看它并查看该数据。这将是一个安全问题,因此 GitHub 不允许这样做。

  • 假设人们不知道对象 ID 是不安全的。这些内容经常在构建信息等内容中暴露,并且由于可以通过 Git 协议访问对象,如“gitnamespaces(7)”概述,因此即使在普通的 Git 服务器上也可以使用增量化进行攻击。任何分叉中的任何对象都应该是公开可见的。 (6认同)