Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Nicholas Zakas

๐Ÿ‘ค Speaker
455 total appearances

Appearances Over Time

Podcast Appearances

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

that it's almost impossible to protect our users if some malicious package gets in the dependency tree somehow.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

So my read on the changes that they made was that it was pushing more responsibility onto maintainers.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

So eliminating the kind of older style tokens, I can understand fine-grained tokens are way more secure.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

But then limiting the lifetime of those tokens, they went through a bunch of iterations.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

I think they finally landed on like 90 days later.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

That alone, if you're doing token-based publishing, now you need to remember to update your tokens every 90 days, or you have to implement some sort of automation to do it for you on top of whatever else you're already doing.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

And the response to that was, well, if you use trusted publishing,

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

the OpenID Connect feature that they have in GitHub Actions, then you don't need to actually store a token anymore.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

It's generated on the fly and you can just publish using that.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

great like it's a good solution to not just have a token laying around yeah somebody can use kind of a lock-in thing though right it's kind of a lock-in thing well it is i mean number one that's great if you're on github or gitlab also supports it but what if you're not on either of those platforms right

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

Like not every company in the world that's publishing NPM packages is using GitHub.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

You know, they might have private repositories that might be publishing directly from their internal repositories and not having stuff out on GitHub or GitLab.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

And then the other problem is that there's no two-factor authentication for trusted publishing.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

And as a result, the OpenJS Foundation even came out and just said, for critical packages, we recommend that you don't use trusted publishing.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

Because if somebody is able to get access to your GitHub repo, all of a sudden, they're going to be able to publish your packages and you won't know until it's too late.

The Changelog: Software Development, Open Source
Securing npm is table stakes (Interview)

Trusted publishing is the beginning of a good solution.