Skip to content

Verify npm dependency signatures before builds - #1027

Draft
zaniebot wants to merge 1 commit into
astral-sh:mainfrom
zaniebot:agent/npm-signature-verification
Draft

Verify npm dependency signatures before builds#1027
zaniebot wants to merge 1 commit into
astral-sh:mainfrom
zaniebot:agent/npm-signature-verification

Conversation

@zaniebot

@zaniebot zaniebot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

CI installs the locked npm dependency tree without running lifecycle scripts, but it does not verify registry signatures or available provenance attestations. Run npm audit signatures after installation in both the test and checksum-update workflows, before npm run all executes dependency tooling. The check follows npm's registry-signature support and verifies attestations when present; it does not require every dependency to publish provenance.

Related: astral-sh/ruff-action#402 adds the same signature and provenance verification. #1026 separately hardens npm install defaults.

eifinger pushed a commit that referenced this pull request Aug 20, 2026
CI already disables npm lifecycle scripts, but ordinary installs from
the repository still run them. Set `ignore-scripts = true` in `.npmrc`
so developer and maintenance installs use the same default. Keep the
existing seven-day `min-release-age` policy for new resolutions. Require
`npm>=11.10.0` through `engines.npm` and `engine-strict`, while
retaining `devEngines` for newer clients; older installers can otherwise
ignore `devEngines` and the age setting. Pin the build and checksum
workflows to Node.js `24.19.0` so their bundled `npm` supports the
policy. Explicit project commands such as `npm run package` remain
available.

Related: astral-sh/ruff-action#401 applies the matching `npm` defaults,
and astral-sh/ruff-action#411 adds the same legacy-aware version floor.
astral-sh/ruff#27837 applies the install-script default to Ruff's
JavaScript projects. #1027 separately adds
registry-signature and provenance verification.

---------

Co-authored-by: zaniebot <242828183+zaniebot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant