Skip to content

SK-2839: Harden against supply chain attacks (pin versions + ignore-scripts)#696

Merged
saileshwar-skyflow merged 1 commit into
release/26.6.0from
saileshwar/SK-2839-pin-versions-and-add-ignore-scripts
Jun 4, 2026
Merged

SK-2839: Harden against supply chain attacks (pin versions + ignore-scripts)#696
saileshwar-skyflow merged 1 commit into
release/26.6.0from
saileshwar/SK-2839-pin-versions-and-add-ignore-scripts

Conversation

@saileshwar-skyflow
Copy link
Copy Markdown
Collaborator

@saileshwar-skyflow saileshwar-skyflow commented Jun 3, 2026

Summary

  • Pin all npm dependency versions — removes every ^/~ range specifier from package.json and replaces them with the exact versions currently resolved in package-lock.json (42 packages updated). Prevents a compromised minor/patch release from being silently pulled on the next install.
  • Add --ignore-scripts to all CI install commands (npm ci in main.yml and pr.yml, npm install in common-release.yml) and create .npmrc with ignore-scripts=true as a project-level default for local installs. Blocks malicious postinstall hooks from executing.

Install-script safety audit

All 1,067 packages in the dependency tree were scanned for postinstall, preinstall, and install lifecycle scripts. Zero packages have such hooks — no native binaries, no compiled modules, no build-time setup. --ignore-scripts is unconditionally safe for this repo.

Files changed

File Change
package.json Exact-pin 42 dependencies using lock-resolved versions
.npmrc Created — ignore-scripts=true
.github/workflows/main.yml npm cinpm ci --ignore-scripts
.github/workflows/pr.yml npm cinpm ci --ignore-scripts
.github/workflows/common-release.yml npm installnpm install --ignore-scripts

No source files, no logic changes, no version upgrades.

…gainst supply chain attacks

- Remove all ^ and ~ version ranges from package.json; replace with exact versions resolved from package-lock.json (42 packages updated)
- Add --ignore-scripts flag to npm ci / npm install in all three CI workflow files
- Create .npmrc with ignore-scripts=true as a project-level default for local installs

Audit confirmed zero packages in the 1,067-package dependency tree have postinstall/install lifecycle scripts, so --ignore-scripts is unconditionally safe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

@saileshwar-skyflow saileshwar-skyflow changed the base branch from main to release/26.6.0 June 4, 2026 18:26
@saileshwar-skyflow saileshwar-skyflow merged commit 4086e36 into release/26.6.0 Jun 4, 2026
4 checks passed
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.

2 participants