Securing your Package Ecosystem with Trusted Publishing
10-27, 10:50–11:15 (Europe/Berlin), Main stage

This talk will provide a developer-minded introduction to "trusted publishing," an OpenID Connect-based authentication scheme that PyPI has successfully deployed to reduce the need for (and risk associated with) manual configured API tokens. Thousands of packages (including many of Python's most critical packages) have already enrolled in trusted publishing, improving the overall security posture (and audibility) of the Python ecosystem.

We will cover trusted publishing in two parts: the first part will be a high-level overview of the trusted publishing scheme and how it uses ephemeral OpenID Connect credentials, including motivation for the scheme's security properties and how they improve upon pre-existing package index authentication schemes (e.g. user/password pairs and long-lived API tokens).

The second part will dive into the nitty-gritty details of how trusted publishing was implemented on PyPI, and will serve as both a retrospective on the work and a reference for other package indices considering similar models: it will cover some of the challenges posted by OIDC (including support for multiple identity providers), threat model considerations, as well as "knock-on" benefits (such as future adjoiners with code-signing schemes like Sigstore).


This talk is primarily aimed at maintainers of package indices and package managers. By the end of the talk, attendees should have a grasp of trusted publishing, its basic architecture and security model, and how it improves upon existing package index authentication schemes (like passwords and long-lived API tokens).

For package index/manager maintainers, this talk should serve as a technical reference for adding trusted publisher-style authentication to their own ecosystems. It should concisely explain the index or manager's role, where the trust and security assumptions lie, as well as the implementation "gotchas" that arose in PyPI's implementation. By the end of the talk, maintainers should have everything they need to both propose and begin implementation of trusting publishing within their own ecosystems.

William Woodruff is an Engineering Director at Trail of Bits, a NYC-based cybersecurity consultancy. He currently splits his time between open source engineering (primarily supply chain and cryptographic engineering) and running the Ecosystem Security group, which is responsible for contributing security and usability improvements to a wide range of open source tools and services (PyPI, Homebrew, pip-audit, Sigstore, LLVM, PyCA Cryptography, etc.).

Outside of work, William is a member of the Homebrew project and is a contributor to a wide variety of open source projects. He maintains a personal blog at https://blog.yossarian.net.