No way to check if a renamed repo's namespace is retired without claiming it — supply-chain risk #205607
Unanswered
Shoshkin
asked this question in
Repositories
Replies: 1 comment
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Bug
Body
This is about the "Popular repository namespace retirement" policy documented in the Username reference: https://docs.github.com/en/account-and-profile/reference/username-reference
The policy is meant to protect popular repositories: when an account is renamed, a qualifying namespace (a Marketplace-listed action, >100 clones, or >100 Actions uses in the prior week) is permanently retired so the old owner/repo combination cannot be reclaimed and used for namespace hijacking.
The problem: there is no way to determine whether a given owner/repo namespace is actually protected. Retirement appears to be evaluated only server-side at repository creation time. From the outside, a retired namespace and a plain non-existent one are indistinguishable — both just 404. There is no API, no UI indicator, and no lookup that reports a namespace's retired/protected status.
The consequence is that the only apparent way to find out whether a formerly-popular namespace is protected is to register the freed username and attempt to create the exact repo name:
owner/repo@refcould be redirected to attacker-controlled content (a supply-chain compromise).So the check itself is the risky action. To confirm a popular repo's old namespace is safe, someone has to perform the exact steps that would compromise it if it is not protected — which is not something a defender should have to do.
Requests / questions:
All reactions