Github的Repository分为三种类型,主要是用于决定谁可以访问、查看和克隆该仓库。GitHub 提供了几种不同的可见性选项,包括 Private
、Public
和 Internal。
- Private
- 只有仓库的拥有者和被明确邀请为协作者(Collaborator)的用户才能访问仓库
- Internal
- 这是 GitHub Enterprise Server 的一个特性,而不是标准的 GitHub.com。
- 仓库的内容仅对组织内的成员可见。
- Public
- 任何人都可以查看仓库的内容
在决定对Gihub的graphql进行扫描时,需要检测是否有Repo在扫描的范围之外,检测出可能遗漏的Repository,同时又需要排除一些私有的Repo。 于是,就通过graphql尝试获取graphql的属性。获取的EnterpriseRepositoryInfo的信息中包含有一个 isPrivate 属性。 这个属性具有一定的欺骗性,如果单看名字就可能认为它是Private的repo,但是,根据它的说明如下: