You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our canary workflow broke in December due to tightened security rules.
Let's adopt the new security model and fix the canary publish workflow.
I'm considering this a feature because it improves security for our users.
This PR should fix the canary publish after having configured publish.yml as the repo's trusted publishing workflow on npm for all packages of this repo. Unfortunately, this process is manual, and we will have to configure any new package we create on npm.
Note: I have configured publish.yml because later we'll likely set up trusted publishing for actual releases, and not limit ourselves to canary releases. We can only set a single workflow file as the trusted one on npm, so both canary/release publishes would have to happen in the same file.
Note: to support OIDC, we need to upgrade to Lerna 9. Since it's not compatible with Node 20.0, I only install it locally during the workflow run, and keep node retrocompatibility for our whole monorepo. We'll be able to cleanup that soon.
Next steps: Take a moment to review the security alert
above. Review the linked package source code to understand the potential
risk. Ensure the package is not malicious before proceeding. If you're
unsure how to proceed, reach out to your security team or ask the Socket
team for help at support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/safer-buffer@2.1.2. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
npm supply chain security model is changing:
Our canary workflow broke in December due to tightened security rules.
Let's adopt the new security model and fix the canary publish workflow.
I'm considering this a feature because it improves security for our users.
This PR should fix the canary publish after having configured
publish.ymlas the repo's trusted publishing workflow on npm for all packages of this repo. Unfortunately, this process is manual, and we will have to configure any new package we create on npm.Note: I have configured
publish.ymlbecause later we'll likely set up trusted publishing for actual releases, and not limit ourselves to canary releases. We can only set a single workflow file as the trusted one on npm, so both canary/release publishes would have to happen in the same file.Note: to support OIDC, we need to upgrade to Lerna 9. Since it's not compatible with Node 20.0, I only install it locally during the workflow run, and keep node retrocompatibility for our whole monorepo. We'll be able to cleanup that soon.
Test Plan
It should publish