chore(deps): pin patched transitive npm deps (Vanta high/medium remediation)#7557
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7557 +/- ##
=======================================
Coverage 99.62% 99.62%
=======================================
Files 285 285
Lines 11971 11971
Branches 2920 2920
=======================================
Hits 11926 11926
Misses 45 45 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…emediation) Rebuilt on current main. Adds undici 6.27.0 and @tootallnate/once 2.0.1 to close Low-board gaps, and fixes the preact pin (was targeting a non-existent ^10.18.1 descriptor; the vulnerable copy was ^10.4.0 -> 10.28.0) by forcing all preact to 10.28.2. Verified no vulnerable version resolves. Note: @sigstore/core (dev-only) intentionally left — its only fix requires a cross-major force on the npm-publish signing chain; better handled upstream. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
b49536d to
da63e5a
Compare
santicomp2014
pushed a commit
that referenced
this pull request
Jul 1, 2026
The fast-xml-parser 5.7.0 resolution added in #7557 broke the client Release pipeline at 'Deploy to S3': @aws-sdk's XML response parser (fast-xml-parser 5.7.0) rejects the '
' entity in S3's XML reply ([EntityReplacer] Invalid character '#' in entity name: '#xD'). Deploy isn't in PR CI, so it passed review and only failed post-merge on main. fast-xml-parser here is deploy-tooling only (@aws-sdk in scripts/deploy-to-s3.js), not shipped. Its CVEs are in the XMLBuilder (write path, unused by @aws-sdk) or need untrusted XML input (@aws-sdk parses trusted S3 responses) -> LOW and not reachable. Reverting to the @aws-sdk-compatible 5.2.5 restores the working deploy; the proper long-term fix is bumping @aws-sdk itself. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
santicomp2014
pushed a commit
that referenced
this pull request
Jul 1, 2026
Reverts the resolutions block to restore the last-known-good build output. #7557's build-tool pins (serialize-javascript v6->v7 etc.) changed the generated inline bootstrap script's bytes, so its sha256 no longer matched the CSP script-src hash allowlist the backend serves -> browser blocked the inline script -> broken client in production (CSP violation). Restores package.json + yarn.lock to 6307520 (pre-#7557). Security pins will be re-applied carefully, excluding the ones that alter build output / CSP hash. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
Force patched versions of transitively-pinned npm dependencies via Yarn Berry (
3.6.0)resolutions, plus one direct dev-dep bump. Diff is limited topackage.json+yarn.lock.Why (the transitive-pin trap)
These packages are flagged by Vanta (high/medium) but we don't declare them directly — they're pulled in transitively, so a normal
yarn upcan't touch them. Yarn Berry matches eachresolutionsdescriptor exactly, so multi-major packages need one entry per vulnerable descriptor range that appears in the lockfile. After each install the lockfile was re-checked and resolutions added until no flagged package resolved below its patched target.Versions (resolved >= patched target)
Out of scope (no patched target defined, left untouched): minimatch v5 (5.1.6), brace-expansion v5 (5.0.6/5.0.7).
tarandserialize-javascriptare MAJOR v6 → v7 jumps. They are build/dev tooling only (not shipped to the browser bundle), but the major bump can shift APIs — this PR is a draft pending CI validation (build + tests) before it should be considered for merge.Draft. Do not merge until CI is green.
🤖 Generated with Claude Code