PyPI Preventing Domain Resurrection Attacks

blog.pypi.org

131 points by pabs3 2 days ago


TLDRisk - a day ago

Domain expiration is something that's more complicated than most people realize. As an example, I'm not sure if there's a definitive source stating that auto-renew grace is part of the ERRP. In my opinion it's not and the ERRP typically won't trigger for high value domains because they'll be sold or auctioned by the registrar instead.

As far as I know, the ERRP rules describe the policies for the deletion of expired domains, which isn't required, so working off the auto-renew grace status was a good choice here. Most people don't realize that expired domains aren't guaranteed to go through the ERRP lifecycle [1].

> You should be aware that during the auto-renew period, the domain name may be available to third parties for registration, depending on your registrar's terms of service. You may also run the risk of having your domain name auctioned to a third party by your registrar during this period (depending on your terms of service)

The process described here sounds like a pretty reasonable approach to a hard problem. It won't catch everything, but it's a good approach and it's nice to see some effort put into the issue.

1. https://www.icann.org/resources/pages/registrant-about-errp-...

jonhohle - 2 days ago

This isn’t limited to just domains, though it’s good to consider. What happens when Google, Microsoft, or anyone else recycles unused accounts? Unfortunately for them, it seems like email addresses have been so tightly coupled with identity that it seems unreasonable that an address could be reused after any period of account inactivity.

michalpleban - a day ago

The presented domain expiration model looks like .com and other global domains. What about .de, .uk and countless other country domains, each having its unique expiration policy? Will it work with them, or only with .com domains?

ocdtrekkie - 2 days ago

One of the places this worried me the most was Golang, where domains for repositories are used as a package source. Credit where credit's due, when I contacted Google about a developer who had passed before their domain expired, and they were able to lock out the domain from pulling anything new into their cache.

Dunedan - 20 hours ago

dupe of https://news.ycombinator.com/item?id=44942432

blibble - a day ago

great!

this was one of the major problems with doing maven style domain based namespacing

namespaces when?!

sneak - 2 days ago

All of this because we still haven’t solved durable long-term strong cryptographic identity on the internet.

(Actually we have, but nobody wants to make people install Metamask or similar to log into websites.)