The one question asked at the end was "How did the attackers bypass 2FA?"

The answer is a little deeper in our blog post: blog.pypi.org/posts/2025-07-31

The TL,DR is that the attack used a web proxy in front of PyPI, and users using TOTP method saw a site that looked valid, entered their username, password, which was captured by the proxy and forwarded along to PyPI, and then presented with a web form for their TOTP, which they entered, and that was also sent along to the attacker.
If they were using Webauthn, nothing happened, since the browser/device wouldn't prompt the user since the domains don't match - strengthening the case for non-TOTP.

Since then, we've also added an extra layer of confirmation for TOTP logins from a new location, which while can be annoying, may also inspire folks to use Webauthn more.
Read more about that here: blog.pypi.org/posts/2025-11-14

0

If you have a fediverse account, you can quote this note from your own instance. Search https://hachyderm.io/users/miketheman/statuses/116008792409955286 on your instance and quote it. (Note that quoting is not supported in Mastodon.)

0