chore(deps+security): clear 2026-06-12 CVE backlog + install security stack#110
Open
zeug-zz wants to merge 1 commit into
Open
chore(deps+security): clear 2026-06-12 CVE backlog + install security stack#110zeug-zz wants to merge 1 commit into
zeug-zz wants to merge 1 commit into
Conversation
… stack * dompurify ^3.3.1 -> ^3.4.0 (runtime, 8 XSS-bypass CVEs cleared) * vitest ^4.0.18 -> ^4.1.8 (devDep CRIT + 3 transitive HIGHs) * vite ^6.0.0 -> ^7.3.5 (devDep HIGHs) * @vscode/vsce ^3.7.1 -> ^3.9.2 (transitive chain) * pnpm.overrides: force patched versions of undici, picomatch, lodash, fast-uri, postcss, uuid, qs, brace-expansion, tmp (clears remaining transitive devDep CVEs) pnpm audit: critical 1 -> 0, high 10 -> 0, moderate 21 -> 0 (530 deps). Add security stack: gitleaks + pre-commit + SECURITY.md + Dependabot + weekly security-audit CI workflow + Makefile. SHA-pin GitHub Actions.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Clears 1 CRITICAL + 10 HIGH + 21 MODERATE dependency CVEs to 0/0/0 across 530 packages, and installs the security stack (Gitleaks + pre-commit + Dependabot + weekly CI + Makefile + SHA-pinned actions).
Why
Routine audit (2026-06-12) found:
[email protected]CRITICAL — UI server arbitrary file read+exec when port exposed[email protected](runtime, ships in VSIX) — 8 XSS-bypass CVEs acrossmarkedoutput sanitizationChanges
Dependency upgrades (pnpm)
Added
pnpm.overridesin rootpackage.jsonto force patched versions ofundici,picomatch,lodash,fast-uri,postcss,uuid,qs,brace-expansion,tmp— these were locked in by peer dependencies (jsdom,cheerio,fdir) at the old vulnerable versions. The overrides are scoped to clear known CVEs only.Security stack
.gitleaks.toml— allowlist (lockfile, build outputs, self-references).pre-commit-config.yaml+ hook install — gitleaks runs on every commitSECURITY.md— disclosure policy → private GitHub advisories.github/dependabot.yml— weekly pnpm + GitHub Actions PRs, grouped devDep + runtime security.github/workflows/security-audit.yml— on-PR + weekly Monday 06:00 UTC cron, runs Gitleaks + Semgrep + pnpm auditscripts/security/Makefile—make audit-all,make audit-secrets,make audit-code,make audit-deps,make pre-commit-installCI hardening
Pinned all GitHub Actions in
release.yml,test.yml, and the newsecurity-audit.ymlto commit SHAs (no tag-only references).Verification
pnpm audit --json→{ critical: 0, high: 0, moderate: 0 }pnpm -r build→ green (vite 7.3.5, esbuild 0.27.7)gitleaks detect --source .→ 0 leakssemgrep scan(110 rules on 27 changed files) → 0 findingsopencodegui-0.5.3.vsixsucceededOut of scope (follow-up issues)
p/owasp-top-ten+p/mcpSemgrep rulesetsthreat reportcycle (2026-06-15)Test plan
security-audit.ymlgates correctlytest.ymlandrelease.ymlpass with the new action SHAsNotes
packages/core/package.jsonbecause upstreamdevelopmentdoes not havevitestin its devDependencies (the original 2026-06-10 audit ran on a state wherefeat/model-effort-togglehad it, but that was a feature-branch change).