security(deps): bump dompurify, js-yaml, brace-expansion, undici - #257
Merged
parthrohit22 merged 3 commits intoAug 7, 2026
Merged
Conversation
…ond-Origin#256) Four advisories published since dev's last CI run made the live npm-audit gate (scripts/dependency-audit.mjs) start blocking every open PR: brace-expansion (GHSA-rgw5-rvv9-x895), dompurify (GHSA-55q2-fjhq-7xh7, GHSA-c2j3-45gr-mqc4), js-yaml (GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqj), and undici (GHSA-4cwx-7wf7-3272 and others via jsdom). All four patches land within the already-used major version, so no override needed a major bump; undici is newly added to overrides since it was previously unpinned.
19 tasks
16 tasks
parthrohit22
added a commit
to parthrohit22/PARTHA
that referenced
this pull request
Aug 7, 2026
Same fix as Second-Origin#257, plus nanoid (GHSA-2v37-7h3g-55p8, published after Second-Origin#257 was opened) -- this branch was cut from dev before Second-Origin#257 merged, so it inherited all five now-blocking advisories. Bumped via overrides to the patched versions; all within the major version already in use.
Published after this PR was opened -- caught it re-blocking PR Second-Origin#259, which branched from dev before this merged. Same pattern as the other four: patched version (3.3.17) is within the major already in use, no breaking change.
parthrohit22
added a commit
to parthrohit22/PARTHA
that referenced
this pull request
Aug 7, 2026
Same fix as Second-Origin#257, plus nanoid (GHSA-2v37-7h3g-55p8, published after so it inherited all five now-blocking advisories. Bumped via overrides to the patched versions; all within the major version already in use.
This was referenced Aug 7, 2026
parthrohit22
added a commit
to parthrohit22/PARTHA
that referenced
this pull request
Aug 7, 2026
Branched from dev before Second-Origin#257 merged, so this inherited the same still-open nanoid advisory blocking Second-Origin#259/Second-Origin#264's Frontend check. Same fix: patched version 3.3.17 is within the major already in use.
parthrohit22
added a commit
that referenced
this pull request
Aug 7, 2026
…dockerignore (#259) * fix(infra): fix backend Docker build cache invalidation (#258) apps/backend/Dockerfile copied app/ before running pip install, so Docker's content-addressed layer cache busted the dependency-install layer on nearly every build -- not just when requirements.txt changed. Reorder dependency install before source copy and add a BuildKit pip cache mount so a genuine dependency change doesn't re-fetch unchanged wheels either. Add the missing apps/backend/.dockerignore (frontend already has one) so the build context stops shipping .venv, caches, and egg-info -- none of it referenced by any COPY instruction, but all of it walked/transferred on every build without this. * security(deps): bump dompurify, js-yaml, brace-expansion, undici, nanoid Same fix as #257, plus nanoid (GHSA-2v37-7h3g-55p8, published after so it inherited all five now-blocking advisories. Bumped via overrides to the patched versions; all within the major version already in use.
parthrohit22
added a commit
that referenced
this pull request
Aug 7, 2026
* chore(ci): add scheduled dependency-audit scan against dev (#263) The Frontend job's live npm-audit gate blocks PRs on external advisory timing, not code changes -- three unrelated PRs went red today from newly published CVEs (#256, #258). This adds a daily scheduled workflow that re-runs the same audit against dev independent of any open PR, filing (or closing) a labelled issue so dev stays caught up and a PR rarely gets blindsided. Does not change ci.yml's existing per-PR gate at all -- same strictness, just an earlier warning. * security(deps): also bump nanoid (GHSA-2v37-7h3g-55p8) Branched from dev before #257 merged, so this inherited the same still-open nanoid advisory blocking #259/#264's Frontend check. Same fix: patched version 3.3.17 is within the major already in use.
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
Four npm advisories were published after
dev@04d8e2b's last green CI run and started failing theFrontendjob's dependency-audit gate (scripts/dependency-audit.mjs) on every open PR, including unrelated ones (confirmed on PR #255). This bumps the four affected packages viaapps/frontend/package.json'soverridesto their patched versions — all within the major version already in use, no breaking migration.Linked issue
Closes #256
Roadmap alignment
node scripts/dependency-audit.mjsexits 0 locally (was exit 1); full frontend suite, lint, and build all still pass after the bump.This doesn't cleanly map to a §23/§28 citation because it's infrastructure hygiene (an unblocking fix for a repo-wide CI gate), not a product change. Flagging honestly rather than forcing a citation, consistent with how #239's PR handled the same gap.
What changed
apps/frontend/package.json:overridesbumped —dompurify3.4.12 → 3.4.13,brace-expansion^5.0.8→^5.0.9,js-yaml4.3.0 → 4.3.1, andundicinewly added at7.29.0(was unpinned, transitively resolving to 7.28.0 viajsdom).apps/frontend/package-lock.json: regenerated to match (npm install --prefix apps/frontend, which is the correct invocation for this workspace layout — plainnpm installfrom insideapps/frontendincorrectly resolves against the monorepo root and would create a stray root-level lockfile; this repo intentionally has none, perscripts/dependency-audit.mjs's own comment).Patched-version confirmation (via GitHub Advisory API
first_patched_version, not justnpm audit's summary text, since one advisory's title text ("fix not backported") is easy to misread as applying to the 4.x line when it's actually about 3.x):brace-expansion5.0.9 fixes GHSA-rgw5-rvv9-x895.dompurify3.4.13 fixes GHSA-55q2-fjhq-7xh7 and GHSA-c2j3-45gr-mqc4.js-yaml4.3.1 fixes GHSA-52cp-r559-cp3m and GHSA-5p4m-2wfm-xmqj (patched range is>= 4.3.1; the 3.x-line "fix not backported" phrasing in the advisory title doesn't apply to 4.x).undici7.29.0 fixes GHSA-4cwx-7wf7-3272 and the other four undici advisories (patched range>= 7.29.0for the 7.x line) — same target version as the already-open Dependabot PR chore(deps): bump undici from 7.28.0 to 7.29.0 in /apps/frontend #253, which this supersedes for CI-unblocking purposes; chore(deps): bump undici from 7.28.0 to 7.29.0 in /apps/frontend #253 can still merge independently later.Acceptance criteria completed
node scripts/dependency-audit.mjsexits 0 locallynpm --prefix apps/frontend run test,npm run lint:frontend,npm run build:frontendall passTesting performed
Screenshots
Not applicable — dependency/lockfile-only change, no UI impact.
Security and data considerations
This PR itself is the security fix: it closes four advisories (one runtime-reachable —
dompurify, used by the Monaco editor preview; three development/build-time-only). No new dependency was added (undiciwas already a transitive dependency, just previously unpinned inoverrides), no scope widened, no new attack surface.Dependencies and blocked work
None. PR #255 (
feature/239-architecture-graph-non-visual) is currently blocked on the same CI gate this fixes; once this merges, #255 will need a rebase to go green (its own diff is unrelated and unaffected by this change).Scope changes or remaining work
None for this PR's scope. The pre-existing
react-routeracceptance inscripts/dependency-audit-policy.json(expires 2026-10-01) is untouched and still valid — not this PR's concern.Contributor checklist
devupstream/devupstream/devCloses) is used only because the issue is fully resolved