GitHub 代码泄露问题
安全研究人员发现,即使从 GitHub 删除代码仓库,包括公开或私有的,这些代码及其分叉副本的数据仍然可以被访问。
这种现象被称为跨分叉对象引用(CFOR),它允许一个代码仓库的分叉访问另一个分叉的敏感数据,包括来自私有及已删除分叉的数据。
研究人员通过创建和分叉代码仓库,展示了即便删除了初始仓库,未同步的数据依然可以通过分叉访问。
GitHub 的母公司微软表示,这是一个有意为之的特性,而非 BUG。他们解释说,这一设计符合官方文档中的描述,且效果也完全符合预期。
安全专家表示,这种悬空提交概念存在于任何 git 平台中,包括 Gitbucket、GitLab、GitHub 等。
即使与代码树之间的连接被切断,这些提交仍会被保留,并且只要掌握能够直接访问这些内容的标识符,就仍可正常下载相关数据。
安全专家建议 GitHub 考虑不在分叉之间共享分叉池,并建立新功能,允许用户永久删除提交。