Anatomy of a Phishing Campaign - Mike Fiedler, Python Software Foundation
Why It Matters
The breach demonstrates how a single compromised maintainer can weaponize the open‑source supply chain, making robust authentication and funded security operations essential for protecting the broader software ecosystem.
Key Takeaways
- •Phishing emails mimicked PyPI, using one-character URL difference.
- •Attack leveraged compromised maintainer credentials to publish malicious packages.
- •WebAuthn prevented most credential theft; TOTP insufficient against session cookie theft.
- •PyPI responded by revoking tokens, removing packages, and issuing advisories.
- •Funding gaps limit 24/7 security response for open‑source registries.
Summary
Mike Fiedler of the Python Software Foundation walked the audience through a recent phishing campaign that targeted PyPI maintainers, illustrating how attackers spoofed official PyPI communications with a single‑character URL alteration and a man‑in‑the‑middle proxy to harvest credentials. The talk highlighted PyPI’s massive scale—13 billion daily requests, over a million accounts, and 900 new packages per day—making it a high‑value supply‑chain target. Attackers sent near‑identical emails, tricked four maintainers into entering credentials, captured session cookies, and published a malicious version of the popular num‑to‑words package, which could infiltrate downstream projects like Hugging Face Transformers. Fiedler emphasized that WebAuthn (passkey) stopped most compromises, while traditional TOTP codes were still vulnerable once a session cookie was obtained. He quoted, “keep the 100,000‑lb open source truck from rolling off a cliff,” and described the rapid response: revoking API tokens, removing the rogue releases, issuing public advisories, and coordinating with NPM and RubyGems. The incident underscores the need for stronger authentication defaults, better abuse‑report handling, and dedicated, funded security teams for open‑source registries, as reliance on volunteer staff leaves critical infrastructure exposed.
Comments
Want to join the conversation?
Loading comments...