Overview of Security of Everything at PyCon 2026
This episode is a roundtable on the first-ever dedicated security track at PyCon US, featuring Seth Larson, Juanita Gomez, and Mike Fiedler. The conversation uses the track’s talks as a lens on the current state of Python security: supply-chain attacks, phishing, dependency cooldowns, zero trust, Rust in CPython, SBOMs, GitHub Actions risks, and why security is still very much an unsolved problem. The big theme: Python security is finally getting real attention, but it still needs more people, more tooling, and more funding.
Why the Security Track Mattered
- PyCon US 2026 gave security its own day-long track, one of only two special tracks at the conference.
- The room was packed, with some talks reaching standing-room-only levels.
- The organizers saw the track as a signal that security is not a side topic—it applies to every Python project, maintainer, and user.
- Juanita emphasized that security should be part of the default mindset for maintainers, even if they are not security experts.
- Seth and Mike both stressed that dedicated funding and full-time security work make a real difference.
Key Themes From the Discussion
Security is Everyone’s Problem
- Supply chain security affects every layer of the Python ecosystem, from core Python to packaging to third-party libraries.
- Even if you write mostly application code, you depend on packages, tools, compilers, editors, operating systems, and infrastructure you do not control.
- The speakers repeatedly returned to the idea that no one is fully isolated from the ecosystem.
Paid Security Work Helps, But Doesn’t Solve Everything
- Mike described PyPI security as a full-time job with real impact, especially compared to volunteer-only efforts.
- Seth noted the need to leave room for volunteer contribution rather than “snacking” on tasks that the community could take on.
- The role of full-time security staff is to handle the high-impact, less volunteer-friendly work and to help others adopt better practices.
Open Source Security Needs Transparency
- Because the work is at a nonprofit, the team can publish what they do, what works, and what they learn.
- That makes it easier for maintainers and other projects to copy good practices instead of reinventing them.
Talk-by-Talk Highlights
Anatomy of a Phishing Campaign
- Mike shared a real phishing attack against PyPI users and maintainers.
- Attackers used lookalike domains and legitimate-looking emails to steal credentials.
- Only a few accounts were affected, but one compromised package was especially dangerous because it was a dependency of a dependency in a major AI package chain.
- The talk showed that:
- TOTP-based 2FA helps against credential theft, but not against real-time phishing proxies.
- WebAuthn/passkeys/YubiKeys provide stronger phishing resistance.
- API tokens are powerful and should be treated carefully.
Dependency Cooldowns
- The idea: delay pulling in newly published packages for a few days so scanners and humans have time to catch malicious releases.
- Mike explained why this helps consumers who install latest versions automatically.
- Juanita liked it as a secure default for less experienced developers.
- Michael raised a real usability issue: cooldowns can conflict with vulnerability fixes, causing confusing dependency resolution problems.
- The group agreed cooldowns are useful, but hard to make a universal default.
Zero Trust in 200 Milliseconds
- This talk focused on identity-per-transaction patterns in regulated environments like FedRAMP.
- It highlighted how much extra work is needed to make zero-trust systems practical.
- The speakers appreciated that it brought a real-world, compliance-heavy perspective into a Python conference.
Rust in CPython
- The discussion centered on proposals to rewrite some CPython components in Rust.
- The speakers liked both the technical and community framing of the talk.
- It was seen as a long-term effort, not a quick rewrite.
- Starting with a module like
zlibwas discussed as a sensible first target because it processes untrusted data and is well understood. - A major point: the social challenge may be harder than the technical one.
SBOMs for Python Builds
- The talk introduced SBOM tooling that can capture what actually happened during a build, not just what was declared.
- The speakers liked the idea of making SBOMs more accurate and useful for real supply-chain tracking.
- It was notable that the researchers were students who were trying to make their work directly usable by the community.
Post-Incident Runtime SBOM Generation
- This talk explored deriving an SBOM from runtime or memory state after a process has run.
- The value: see what was actually loaded and used, not just what should have been there.
- The speakers liked the idea as a way to validate builds and potentially detect suspicious or unexpected code paths.
- Seth noted that dynamic Python makes this harder, because code paths are not always straightforward to trace.
GitHub Actions Security in Python Packages
- The talk highlighted how many Python projects have insecure or risky GitHub Actions setups.
- A key danger:
pull_request_target, which can execute with elevated privileges and is easy to misuse. - The recommended response is to run tools like Zizmor regularly and treat GitHub Actions as part of the attack surface.
Breaking Bad Packages
- This talk focused on why traditional vulnerability tracking struggles with intentional malware.
- CVEs work well for unintentional software flaws, but malware is a different category.
- The speakers pointed out that supply-chain attacks often sit awkwardly between “vulnerability” and “malicious package,” and the ecosystem still lacks a perfect reporting system.
Main Takeaways
- Python security is no longer a niche concern; it is an ecosystem-wide priority.
- The packaging ecosystem has made real progress, but attackers only need one weak link.
- Strong authentication, careful dependency management, and better build provenance are all important.
- Tooling helps, but human process and community investment matter just as much.
- Security is still not “solved,” which is exactly why the room was full.
Recommended Actions
For Python Users and Maintainers
- Enable phishing-resistant 2FA where possible, especially WebAuthn/passkeys.
- Review your dependency strategy:
- Use version pins where appropriate.
- Consider dependency cooldowns for less mature workflows.
- Audit GitHub Actions with tools like Zizmor.
- Use trusted publishing for package release workflows.
- Check whether your build process can produce or consume SBOMs.
For Teams and Organizations
- Invest in open source security work directly, either through funding or engineering time.
- Support the projects and infrastructure your team depends on.
- Treat package and CI security as part of normal software engineering, not as an afterthought.
Notable Closing Advice
- Juanita: Use security tools more; even one improvement helps.
- Mike: Convert at least one project to trusted publishing and delete the old token.
- Seth: Support the open source ecosystems you rely on, because security work requires real resources.
Where to Find the Guests
- Juanita Gomez: LinkedIn and her personal website
- Mike Fiedler:
miketheman.dev - Seth Larson:
sethmlarson.dev, plus Mastodon, LinkedIn, and Signal
