Skip to content

chore(deps): fix open Dependabot alerts via pnpm overrides - #166

Merged
teallarson merged 3 commits into
mainfrom
teallarson/https-github.com-ArcadeAI-arcade-js-security-dependabot
Sep 4, 2026
Merged

teallarson merged 3 commits into
mainfrom
teallarson/https-github.com-ArcadeAI-arcade-js-security-dependabot

Conversation

@teallarson

Copy link
Copy Markdown
Contributor

Closes the nine open Dependabot alerts. All are transitive dev dependencies in the build/test toolchain — nothing ships in the published package.

Dependabot alerts fixed

Package Was Now Alerts
js-yaml 3.14.2, 4.1.1 3.15.2, 4.3.2 #47 #46 #43 #42 #41 #40 — quadratic CPU in !!omap resolution and in merge-key chains
brace-expansion 2.1.0 2.1.4 #48 — exponential-time expansion of consecutive non-expanding {} groups
@humanfs/node 0.16.7 0.16.8 #50 — recursive copy follows symlinks outside the source tree
@babel/core 7.28.6 7.29.7 #39 — arbitrary file read via sourceMappingURL comment

Also fixed (reported by pnpm audit, not by Dependabot)

  • minimatch was still resolving to the vulnerable 9.0.5. The blanket "minimatch": "^9.0.5" override outranks the narrower minimatch@>=9.0.0 <9.0.7 selectors below it, so those selectors never took effect. Bumped the blanket to ^9.0.9, which resolves it and makes the two range selectors redundant.
  • browserslist 4.28.1 → 4.28.8 (ReDoS in normalizeStats).

The other override entries were duplicates covering ranges a sibling entry already covered (three handlebars entries, two flatted, two minimatch). Collapsed to one entry per package.

Known remaining finding

pnpm audit still reports one moderate: fflate <0.8.3 under @arethetypeswrong/cli. Overriding it to 0.8.3 makes attw --pack fail with Cannot read properties of undefined (reading 'filename'), so it's left alone — it needs an @arethetypeswrong/cli upgrade instead. Dependabot does not flag it.

Verification

Clean node_modules install, then:

  • pnpm audit → 1 moderate remaining (the fflate one above), down from 6
  • pnpm lint → eslint, build, tsc, attw, publint all pass
  • pnpm test → 22 suites, 395 tests passing

🤖 Generated with Claude Code

Bumps the transitive dev dependencies flagged by the nine open Dependabot
alerts, all of them DoS or file-read advisories in the build/test toolchain:

- js-yaml 3.14.2 -> 3.15.2 and 4.1.1 -> 4.3.2 (four alerts: quadratic CPU
  in !!omap resolution and in YAML merge-key chains)
- brace-expansion 2.1.0 -> 2.1.4 (exponential-time expansion of consecutive
  non-expanding {} groups)
- @humanfs/node 0.16.7 -> 0.16.8 (recursive copy follows symlinks out of tree)
- @babel/core 7.28.6 -> 7.29.7 (arbitrary file read via sourceMappingURL)

Also picks up two findings that pnpm audit reported but Dependabot did not:

- minimatch stays pinned at the vulnerable 9.0.5 today, because the blanket
  "minimatch": "^9.0.5" override outranks the narrower range selectors below
  it. Bumping the blanket to ^9.0.9 resolves it and makes those two range
  selectors redundant, so they are removed.
- browserslist 4.28.1 -> 4.28.8 (ReDoS in normalizeStats).

The remaining override entries were duplicates covering ranges already
covered by a sibling entry; collapsed to one entry per package.

pnpm audit now reports a single remaining moderate finding: fflate <0.8.3
under @arethetypeswrong/cli. Overriding it to 0.8.3 makes `attw --pack`
fail with "Cannot read properties of undefined (reading 'filename')", so
that one is left for an @arethetypeswrong/cli upgrade instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@teallarson
teallarson marked this pull request as ready for review September 4, 2026 19:00
@teallarson
teallarson marked this pull request as draft September 4, 2026 19:01
Clears the last pnpm audit finding: fflate <0.8.3, reachable only through
@arethetypeswrong/core (infinite loop parsing malformed ZIP64 archives).

Overriding fflate under the old cli was not viable — @arethetypeswrong/core
0.17.x declares fflate ^0.8.2, and forcing 0.8.3 under it makes `attw --pack`
fail with "Cannot read properties of undefined (reading 'filename')".
0.18.5 declares fflate ^0.8.3 itself, so the patched version resolves with
no override needed.

Verified the upgrade does not weaken the types check: `attw --pack dist`
analyzes the same 37 entrypoints and reports the same problem set as 0.17.4
(240 InternalResolutionError, 9 CJSResolvesToESM, 1 MissingExportEquals),
all of which scripts/utils/attw-report.cjs filters out by design.

pnpm audit now reports no known vulnerabilities.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@teallarson
teallarson marked this pull request as ready for review September 4, 2026 19:09
@teallarson
teallarson requested review from evantahler, kamath and sdreyer and removed request for evantahler September 4, 2026 19:09
…g-cli

chore(deps): bump @arethetypeswrong/cli to ^0.18.5
@teallarson
teallarson merged commit 832b00f into main Sep 4, 2026
7 checks passed
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