Skip to content

Verify npm dependency signatures before builds - #402

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

Verify npm dependency signatures before builds#402
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/setup-uv#1027 adds the same signature and provenance verification. #401 separately hardens npm install defaults.

eifinger pushed a commit that referenced this pull request Aug 20, 2026
`devEngines` is ignored by npm releases such as `10.8.2`, so those
clients can install dependencies without applying the seven-day
`min-release-age` setting added in #401. Declare the same minimum in
`engines.npm` and enable `engine-strict` to make that legacy installer
requirement fatal. Keep `devEngines` for its earlier checks on newer npm
versions, and pin the build and checksum workflows to Node.js `24.19.0`
so their bundled `npm` supports the policy.

Related: astral-sh/setup-uv#1026 and astral-sh/ruff#27844 enforce the
same legacy-aware `npm` version floor. #400 covers
Dependabot's update cooldown, and #402 separately
verifies registry signatures and available provenance.

---------

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