GitHub would like me to choose a password that has never been used by anyone on any site at any time in the history of the internet.
That's the general idea, though I would rephrase as
GitHub would like me to choose a password that has never appeared on any list of cracked passwords for any user on any site in the history of the internet.
Rationale:
Each time a famous site gets its password database hacked, hackers eventually publish the list of username:email:password
s for all users on that site at the time of the attack. The site haveibeenpwned.com catalogs all username:password
s where the password is publicly-available. You should check here every month or two (or sign up for their notification service) to make sure you aren't on the list! This is just the username:email:password
s that are publicly known, I'm sure darkweb hacker groups have many many more than haveibeenpwned knows about.
This leads to a couple different types of attacks which github is probably trying to prevent with this password policy.
Password re-use attacks
Attackers trying to get into your account can look you up on social media and make a list of all the usernames / accounts that belong to you. Then they can look these up in the cracked password databases and get a short list of passwords that you have used in the past. We know that users tend to re-use the same password across different sites.
Github doesn't want to get into the game of trying to guess which accounts on other sites belong to you, so it's easier to say "anyone on any site at any time in the history of the internet".
Dictionary attacks
Attackers doing more general password cracking -- usually after they have stolen a database of hashed passwords -- can't guess every possible password because there are too many, so instead they will use dictionary-based approaches for which passwords to guess. Lists of cracked passwords (sorted most frequently used first) are a pretty good dictionary to use.
Given today's GPU speeds, if your password is one of the, say, billion most used passwords on those lists, then you're probably vulnerable.
Again, it's easiest for github to just ban all passwords on the cracked password lists.
You also ask:
What are the implications? Does it spell the end of human-memorable passwords?
Yup, probably. Over time the lists of cracked passwords will get longer and longer with fewer human-memorable (aka "weak") passwords available to choose from. This will probably hasten the demise of passwords, cause more R&D focus on making password managers / Yubikeys, etc more user-friendly and force people beyond tin-foil-hat security nerds to start using them. This is probably a good thing. I hope more sites do start doing this!