GitHub如何为每个存储库提供持久的所有者

GitHub拥有超过14,000个存储库。只有不到一半的人拥有明确的所有权。以下是我们如何在45天内为每个活动存储库提供一个经过验证的所有者,将其余部分存档,并将所有权作为随后所有内容的基础。帖子GitHub如何给每个存储库一个持久的所有者出现...

Michael Recachinas是GitHub的员工安全工程师,负责领导专注于漏洞管理、安全开发生命周期工具和开发人员至上的安全自动化的大规模安全计划。在他的职业生涯中,他一直在构建大规模运营的系统,并帮助团队轻松做出安全的选择。GitHub在我们的主要内部GitHub组织中拥有超过14,000个存储库。

截至2025年初,有超过11,000个非存档存储库,其中绝大多数没有明确的所有者。对于附加到生产服务的存储库,我们历来拥有强大的持久所有权,但对于没有相关服务的存储库,没有可靠的方法来判断所有者是谁。

在我们的秘密扫描补救工作中,这一差距成为一个反复出现的问题:虽然我们在技术上可以轮换一个秘密,但在不知道存储库所有者的情况下这样做是有风险的,而且往往具有破坏性,而且我们没有明确的方法来路由补救工作。

在一个半月的时间里,我们验证了每个活动存储库的所有权,存档了大约8,000个不再使用的存储库,并更改了存储库的创建,因此从一开始就需要所有权。多年来, GitHub一直通过我们的内部服务目录跟踪已部署服务的所有权。

每个服务条目都记录了元数据,例如它所在的存储库,这为我们提供了从服务到存储库的映射;拥有团队;执行发起人;和支持信息。