主要观点总结
本文介绍了删除GitHub仓库中的代码和数据并不意味着它们被永久删除,仍有可能被访问的问题。微软坚称这是功能而非漏洞,但Truffle Security呼吁GitHub应重新考虑其处理方式。
关键观点总结
关键观点1: 删除GitHub仓库并不真正删除数据和代码
被删除的GitHub代码仓库(公开或私有)及仓库的已删除副本(分叉)仍有可能继续存在,并可通过API密钥等方式继续访问。
关键观点2: 悬空提交问题
git提交会捕捉代码仓库在特定时间点上的状态快照,即使删除分支,提交本身并不会从仓库的对象数据库中删除。悬空提交问题使得旧版本的代码彼此链接在一起,只要掌握标识符仍可正常下载相关数据。
关键观点3: GitHub对悬空提交和分叉的处理方式引发争议
Truffle Security认为GitHub应该重新考虑其在数据安全方面对公共和私有仓库的处理方式,特别是删除操作应该能够将提交数据实际清理掉。而GitHub则表示这是预期内的行为,并且已在文档中解释。
关键观点4: 可能的解决方案和应对方法
更换API密钥是应对此问题的基本措施之一。此外,用户应意识到被删除的内容仍然可能被访问的风险,并采取相应的安全措施。
文章预览
↓ 推荐关注↓ 转自:InfoQ , 编译 | 核子可乐、Tina 删除理论上意味着数据不再可访问,但实际上它变成了永久可访问,并且不受你控制。微软则坚称这是一个 feature,而非 bug。 普通用户将私有仓库和公共仓库的分离视为安全边界,并理所当然地认为位于私有仓库中的任何数据都无法被公共用户访问。不幸的是,在 GitHub 上,这并不总是正确的。此外,删除行为意味着数据的销毁。但实际上删除一个仓库或分叉并不意味着你提交数据真的被删除了。 Truffle Security 的研究人员们发现,已被删除的 GitHub 代码仓库(公开或私有)及仓库的已删除副本(分叉)仍有可能继续存在。 该公司安全研究员 Joe Leon 在本周三的一份咨询报告中表示,这种可能通过 API 密钥等方式继续访问已删除仓库中数据的情况属于安全风险。他还提出一条全新术语来描述这项漏洞
………………………………