News for hackers. Stuff that matters.

di

Re:Shai-Hulud Returns: Over 300 NPM Packages Infected on Monday November 24, 2025 @10:30AM (#46035157)
Maven Central does not currently support OIDC-based authentication (commonly called "Trusted Publishing").
For some context on the scale of this grant, the PSF took in only $1M in "Contributions, Membership Dues, & Grants" in 2024: https://www.python.org/psf/annual-report/2024/
It says "September 23, 2025" right at the top.
Re:TIL: Python's splitlines does more than just newlines on Thursday October 09, 2025 @02:40PM (#45531453)
Don't be embarrassed, it's a good book (and was my favorite too).
Re:I Solved PyTorch's Cross-Platform Nightmare on Thursday September 11, 2025 @10:00AM (#45211809)
Note that https://peps.python.org/pep-0440/#direct-references says:

> Public index servers SHOULD NOT allow the use of direct references in uploaded distributions. Direct references are intended as a tool for software integrators rather than publishers.

This means that PyPI will not accept your project metadata as you currently have it configured. See https://github.com/pypi/warehouse/issues/7136 for more details.

Re:PyPI Requires 2FA for New User Registrations on Wednesday August 09, 2023 @09:30AM (#37062385)
This is why PyPI recommends using Trusted Publishing (https://docs.pypi.org/trusted-publishers/) which removes the need for long-lived tokens entirely.
Re:Our Plan for Python 3.13 on Friday June 16, 2023 @12:04AM (#36351071)
That article is about the packaging summit talk on introducing namespaces, not about organizations. In fact, when talking about organizations, it explicitly says:

> But support for namespaces is not part of the new feature.

Re:Our Plan for Python 3.13 on Thursday June 15, 2023 @04:47PM (#36346313)
> An example of this is that PyPI just got the ability to namespace packages.

You're thinking of organizations, which are not namespaces: https://blog.pypi.org/posts/2023-04-23-introducing-pypi-orga...

Re:It's React, but in Python on Wednesday June 14, 2023 @11:01AM (#36327027)
Pip supports checksums too. A better link might be https://pip.pypa.io/en/stable/topics/secure-installs/
Re:PyPI will require 2FA by the end of 2023 on Friday May 26, 2023 @05:23AM (#36081901)
PyPI has never supported 2FA via SMS.
Re:Namespaces for the Python Package Index on Thursday May 11, 2023 @10:28AM (#35902601)
Periods are not prohibited in package names, they're just uncommon (e.g., https://pypi.org/project/zope.sqlalchemy/)
Re:PyPI Introduces “Trusted Publishers” on Thursday April 20, 2023 @08:33PM (#35648416)
Gitlab also doesn't support customizable OIDC audiences yet: https://gitlab.com/groups/gitlab-org/-/epics/7335
Re:Thoughts on the Python Packaging Ecosystem on Saturday January 21, 2023 @03:16PM (#34469950)
Re:Python 3.11.0 final is now available on Tuesday October 25, 2022 @04:51PM (#33336002)
Author here: yep.
Re:Python 3.11.0 final is now available on Tuesday October 25, 2022 @01:10PM (#33333375)
That's the point of the certificate authority and transparency log: it makes the public key known by publicly binding it to a verifiable identity.

A hash verifies integrity, but has no way to demonstrate any relationship to a signing identity. Signing is not just about integrity, but also being able to say _who_ generated the signature.

Re:Python 3.11.0 final is now available on Tuesday October 25, 2022 @12:24PM (#33332719)
Nope. The private key is generated within the client each time a signing event occurs, and that's what is used to sign the artifact. It doesn't come from the certificate.

The certificate just binds the public key to the identity at a given point in time, in a public way. This certificate is generated every time you sign something, and is put in the transparency log.

There's a walkthrough of the process here that might be helpful: https://www.youtube.com/watch?v=jdf-gNYg0fw&t=494s

Re:Python 3.11.0 final is now available on Tuesday October 25, 2022 @11:03AM (#33331491)
The certificate specifically demonstrates that the <release-manager>@python.org identity signed the artifact.

So there's a) no long-lived private key for them to lose (because it's never stored after signing) and b) a consumer doesn't need to find the right key PGP ID, verify (somehow) that that key ID is associated with a given release manager -- they can just trust that the release manager is in control of their @python.org identity.

Additionally, with PGP, you have no idea if your private key is being used somewhere else to generate valid signatures maliciously. With Sigstore, in order for the signature to be valid, it must be published in a transparency log, which is continuously monitored. So in the event of if the key/identity is compromised, the identity owner can be made aware immediately and the signature revoked.

More details are here: https://www.python.org/download/sigstore/ and here: https://docs.sigstore.dev/

Re:Python 3.11.0 final is now available on Tuesday October 25, 2022 @10:51AM (#33331244)
Anyone can generate a hash. Signing with a private key means that only the owner of that private key was able to generate a given signature. Singing with a private key which was bound to a known identity via a signing certificate proves that only that identity was in possession of the signing key, during a very short window.

In this specific case, we can say that the artifacts in question were verifiably signed by owner of the <release-manager>@python.org identity.

Older »