Skip to content

fix: upgrade dependencies and harden installation paths - #48

Merged
horsefacts merged 3 commits into
mainfrom
centaur/fix-dependency-security-20260927
Sep 27, 2026
Merged

horsefacts merged 3 commits into
mainfrom
centaur/fix-dependency-security-20260927

Conversation

@decofe

@decofe decofe commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

The docs toolchain currently has six npm audit findings, including vulnerable Vite, esbuild, PostCSS, Rollup, and nanoid dependencies. Upgrade VitePress from 1.6.4 to 2.0.0-alpha.20 and refresh its lockfile to remove all six without overrides. This deliberately adopts a prerelease: VitePress 1.6.4 is still the latest stable release and cannot resolve the vulnerable Vite/esbuild chain through compatible upgrades.

Also address the supply-chain findings from the repository scan:

  • Disable npm lifecycle scripts, require a seven-day release age, reject Git dependencies, and use Node 24 in docs CI.
  • Lock Python analysis dependencies with hashes, retain editable requirements in analysis/requirements.in, and refuse source builds. Pin crytic-compile and Slither installs and apply a seven-day resolver cooldown.
  • Verify Echidna, Medusa, Recon, binary Foundry, uv, and rustup downloads before execution; verify AWS CLI against its published signing-key fingerprint. Custom fuzzer versions now require a matching SHA-256 via the existing environment map.
  • Upgrade public GitHub Actions to SHA-pinned releases older than seven days. The newer Pages upload action also fixes its previously unpinned nested upload-artifact action, which blocked the docs job at setup.
  • Upgrade the actionlint job's Go toolchain from 1.22 to 1.27.1 and actionlint to 1.7.12; the existing actionlint dependency already requires Go 1.24 or newer.
  • Pass benchmark values through environment variables instead of shell/JavaScript source interpolation, validate release path identifiers, replace inherited secrets with the five declared inputs, and remove the corresponding zizmor suppressions.
  • Add grouped Dependabot updates for npm, Python, and GitHub Actions, with cooldowns and PR limits.

Validation: npm ci and the docs build pass with install scripts disabled; npm audit, OSV lockfile scanning, and pip-audit report no known vulnerabilities. All 135 Python tests pass, including modified-download and missing-checksum rejection. actionlint, shell syntax checks, and git diff --check pass. Zizmor reports only the existing low-severity self-repository syntax suggestion. Pinact passes with the shared org policy (seven days for public actions, the existing exemption for tempoxyz/gh-actions). All five GitHub release archives were downloaded and their pinned digests verified.

Operational limitations: EC2 provisioning and AWS deployments were not executed. The repository currently has no GitHub Environments; protecting secret-bearing jobs needs an administrator's environment/credential policy. Existing shared secure-runner actions remain first in all execution jobs, but may fall back to audit mode or skip Aegis when STS/setup fails; fork PRs do not receive Aegis credentials. This PR does not claim runtime enforcement from static configuration. No releases exist in this fork, so release immutability could not be verified. Terraform/provider versions and benchmark source refs retain their existing behavior.

GitHub validation on d20b587: CI, Dependency Scan, Scan GitHub Actions, and both Socket checks all passed.

Prompted by: @horsefacts

Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
@socket-security

socket-security Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

horsefacts and others added 2 commits September 27, 2026 05:12
Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
@horsefacts
horsefacts merged commit b7aa070 into main Sep 27, 2026
8 checks passed
@horsefacts
horsefacts deleted the centaur/fix-dependency-security-20260927 branch September 27, 2026 05:25
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