Dependency security upgrades and modernization - #227
Open
dividedmind wants to merge 9 commits into
Open
Conversation
Consolidate upgrades for multiple vulnerable dependencies: - bump micromatch to 4.0.8 (resolves ReDoS) - bump @octokit packages for vulnerability fixes - bump brace-expansion to 1.1.18, 2.1.4, and 5.0.9 - bump diff to 4.0.4 (resolves ReDoS) - bump ip-address to 10.5.0 and socks to 2.8.9 - bump js-yaml to 3.15.1 and 4.3.1 (resolves quadratic DoS) - bump tar resolution in package.json to 7.5.22 - bump glob to 10.5.0 (resolves command injection)
Upgraded several vulnerable transitive dependencies in the @test/pnpm-compat test environment package to safe versions: - brace-expansion: 5.0.6 -> 5.0.9 - ip-address: 10.2.0 -> 10.5.0 - nanoid: 3.3.11 -> 3.3.18 - postcss: 8.5.14 -> 8.5.26 - tar: 7.5.12 -> 7.5.22
Upgraded vitest to version 3.2.6 in the test/pnpm-compat integration test directory. This major upgrade resolves all remaining critical, high, and moderate vulnerabilities (including vitest, vite, and esbuild) while keeping the integration test suite green.
…ilities Upgrade semantic-release and its associated plugins to modern versions: - semantic-release to ^25.0.9 - @semantic-release/changelog to ^7.0.0 - @semantic-release/git to ^11.0.1 This resolves numerous transitive high and moderate vulnerabilities including sigstore and @npmcli/disparity-colors.
There was a problem hiding this comment.
Pull request overview
This PR updates dependency versions to address security audit findings and modernize the release/test toolchain across the root workspace and the test/pnpm-compat subproject.
Changes:
- Upgraded
semantic-releaseto^25.0.9and updated related plugins (@semantic-release/changelog,@semantic-release/git) in the root workspace. - Updated the root
taroverride to7.5.22viaresolutions. - Upgraded
test/pnpm-compattovitest@^3.2.6and refreshed itsyarn.lockto the new dependency tree.
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
package.json |
Bumps semantic-release + plugins and updates tar resolution override. |
test/pnpm-compat/package.json |
Updates vitest major version used by the pnpm compatibility test project. |
test/pnpm-compat/yarn.lock |
Lockfile refresh reflecting vitest/vite and related transitive upgrades. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
commit: |
…EXDEV link errors Redirect Yarn's cache and global state folders to live inside the GHA workspace volume (drive D:) using YARN_CACHE_FOLDER, YARN_GLOBAL_FOLDER, and YARN_ENABLE_GLOBAL_CACHE. On GHA Windows runners, the default global directories live on drive C:, which raises cross-device link errors (EXDEV: cross-device link not permitted) when the pnpm-compat test directory attempts to hard-link dependencies from Yarn's cache and index databases to a workspace located on drive D:. This change keeps the cache warm and shared, while ensuring all links occur on the same volume. Assisted-by: Gemini CLI:gemini-3.5-flash
dividedmind
force-pushed
the
chore/bump-deps
branch
from
August 15, 2026 13:59
39995e4 to
2ed4613
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 6 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/workflows/ci.yml:21
- This
pkg-pr-new publish --commentWithDevstep will still run onpushruns (includingmain), where it likely lacks PR metadata to post a comment/associate the preview build. Guard it so it only runs for PR-triggered runs.
name: appmap-node-${{ env.SHORT_SHA }}
path: appmap-node-${{ env.SHORT_SHA }}.tgz
- run: yarn pkg-pr-new publish --commentWithDev --yarn
- run: yarn lint
.github/workflows/ci.yml:3
pkg-pr-new publish --commentWithDevis PR-oriented, but this workflow is currently configured to run only onpush. That means the preview publish/comment step will run on non-PR pushes (includingmain) where no PR context exists, and can fail (also preventing downstreamtestsince it nowneeds: build-and-lint). Consider enablingpull_requestevents so this can run in PR context.
This issue also appears on line 18 of the same file.
on: push
jobs:
build-and-lint:
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.
This PR focuses on executing a comprehensive security audit of all package trees across the repository, resolving all active security vulnerabilities (ReDoS, SSRF, Command Injection, pax-size/path confusion, CPU exhaustion, etc.) in both the root workspace and the separate
test/pnpm-compatsubproject.All upgraded packages have been thoroughly verified:
yarn tsc -p tsconfig.build.jsonpasses with0errors).38test suites /182tests passed successfully).🚀 Summary of Upgrades
1. Root Workspace - Transitive & Targeted Upgrades (Consolidated)
The following packages were recursively upgraded in the root
yarn.lockto target and resolve specific CVEs:micromatch: Bumped recursively from4.0.5to4.0.8(resolves ReDoS).@octokit/*packages: Bumped recursively to secure releases (@octokit/plugin-paginate-rest@9.2.2,@octokit/request@8.4.1,@octokit/request-error@5.1.1) to resolve catastrophic backtracking ReDoS vulnerabilities.brace-expansion: Upgraded all tree instances (1.1.18,2.1.4, and5.0.9) to address process hang, memory exhaustion, and consecutive group DoS.diff: Upgraded recursively from4.0.2to4.0.4to fix low-severity ReDoS.ip-address&socks: Bumped recursively toip-address@10.5.0(resolves SSRF leading-zero octet decodes) andsocks@2.8.9(fixes package-lock deprecation/issues).js-yaml: Bumped all tree instances (3.15.1and4.3.1) to resolve quadratic-complexity CPU consumption/DoS.tar: Swapped resolution override inpackage.jsonfrom7.5.11to7.5.22to resolve multiple high/critical CVEs (pax size override file smuggling, numeric path type confusion process crash, negative size infinite loop).glob: Bumped recursively from10.3.10to10.5.0to resolve high-severity CLI Command Injection vulnerability.2. Root Workspace -
semantic-releaseMajor Bump (Separate Commit)Upgraded the
semantic-releasesuite and its associated plugins to modern major versions:semantic-release:^22.0.5➡️^25.0.9@semantic-release/changelog:^6.0.3➡️^7.0.0@semantic-release/git:^10.0.1➡️^11.0.1Why this was necessary:
Older versions of
semantic-releasedepended on older releases of@semantic-release/npmandlibnpmpublish, which pulled insigstore <= 4.1.0(vulnerable to certificate OID verification silently dropping and bypassing constraints). Upgradingsemantic-releasetov25recursively upgraded the sub-dependency tree to a secure release ofsigstore(>= 4.1.1) and completely resolved multiple deprecated packages like@npmcli/disparity-colors.3.
test/pnpm-compatSubproject (Fixed separately)The separate package tree in
test/pnpm-compathas been upgraded to be 100% clean of vulnerabilities:postcssfrom8.5.14to8.5.26nanoidfrom3.3.11to3.3.18tarfrom7.5.12to7.5.22ip-addressfrom10.2.0to10.5.0brace-expansionfrom5.0.6to5.0.9vitestto major version3🔒 Security Audit Results
Running
yarn npm audit -Rnow reports 0 active security vulnerabilities remaining across all packages:npmlog,rimraf@3,are-we-there-yet) remain.test/pnpm-compat: ReportsNo audit suggestions(100% clean).🛠️ Verification and Build Status
yarn tsc -p tsconfig.build.jsoncompiles with zero warnings or errors.