Skip to content

Commit f761441

Browse files
committed
fix(deps): resolve high dependency alerts
- Patch high-severity transitive JS advisories with scoped pnpm overrides. - Update openssl and hickory resolver crates, including DNS resolver API use. - Replace fixed crypto test keys with generated keys and dependency pin tests. Tests: - npx --yes pnpm@9.15.9 ui:gate:static - npx --yes pnpm@9.15.9 test - npx --yes pnpm@9.15.9 test:security-regression - npx --yes pnpm@9.15.9 audit --audit-level high - npx --yes pnpm@9.15.9 git:guard:all - cd src-tauri && cargo check - cd src-tauri && cargo test --test security_dependency_versions
1 parent 7bfac4d commit f761441

8 files changed

Lines changed: 6401 additions & 3835 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# 0013. Security Alert Dependency Overrides
2+
3+
## Status
4+
5+
Accepted
6+
7+
## Context
8+
9+
Dependabot and audit checks reported high-severity transitive dependency alerts
10+
in JavaScript tooling packages and Rust networking or TLS crates. The affected
11+
JavaScript packages are not direct runtime dependencies, but they still run in
12+
developer and CI workflows. The Rust alerts sit on security-sensitive TLS and DNS
13+
resolution paths.
14+
15+
## Decision
16+
17+
Use scoped package-manager overrides for patched JavaScript transitive versions,
18+
and update the Rust lockfile for patched `openssl` and `hickory` dependency
19+
versions. Keep the hickory resolver API migration local to the pinned DNS
20+
resolver so the SSRF protection boundary stays unchanged.
21+
22+
## Consequences
23+
24+
High-severity JavaScript audit output is cleared while preserving the existing
25+
toolchain shape. Rust TLS and DNS dependency versions move forward with a small
26+
API compatibility update. The remaining moderate audit items are left visible
27+
for a separate pass instead of widening this remediation.
28+
29+
## Alternatives Considered
30+
31+
Directly upgrading parent tools such as Lighthouse, Commitizen, and Stylelint
32+
would touch more of the frontend toolchain than needed for this security slice.
33+
Suppressing the alerts was rejected because patched versions are available for
34+
the high-severity items handled here.

package.json

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -95,56 +95,63 @@
9595
"dependencies": {
9696
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
9797
"@fontsource-variable/jetbrains-mono": "^5.2.8",
98-
"@tauri-apps/api": "^2.11.0",
99-
"@tauri-apps/plugin-dialog": "^2.7.1",
100-
"@tauri-apps/plugin-opener": "^2.5.4",
101-
"react": "^19.2.6",
102-
"react-dom": "^19.2.6"
98+
"@tauri-apps/api": "^2",
99+
"@tauri-apps/plugin-dialog": "^2.6.0",
100+
"@tauri-apps/plugin-opener": "^2",
101+
"react": "^19.1.0",
102+
"react-dom": "^19.1.0"
103103
},
104104
"devDependencies": {
105-
"@axe-core/playwright": "^4.11.3",
105+
"@axe-core/playwright": "^4.11.0",
106106
"@commitlint/cli": "^19.8.1",
107107
"@commitlint/config-conventional": "^19.8.1",
108108
"@commitlint/cz-commitlint": "^19.8.1",
109-
"@eslint/js": "^9.39.4",
109+
"@eslint/js": "^9.39.1",
110110
"@lhci/cli": "^0.15.1",
111-
"@playwright/test": "^1.59.1",
112-
"@tauri-apps/cli": "^2.11.1",
113-
"@testing-library/react": "^16.3.2",
111+
"@playwright/test": "^1.56.1",
112+
"@tauri-apps/cli": "^2",
113+
"@testing-library/react": "^16.3.0",
114114
"@testing-library/user-event": "^14.6.1",
115-
"@types/react": "^19.2.14",
116-
"@types/react-dom": "^19.2.3",
117-
"@typescript-eslint/eslint-plugin": "^8.59.2",
118-
"@typescript-eslint/parser": "^8.59.2",
115+
"@types/react": "^19.1.8",
116+
"@types/react-dom": "^19.1.6",
117+
"@typescript-eslint/eslint-plugin": "^8.46.1",
118+
"@typescript-eslint/parser": "^8.46.1",
119119
"@vitejs/plugin-react": "^5.2.0",
120120
"@vitest/coverage-v8": "^3.2.4",
121121
"commitizen": "^4.3.1",
122-
"eslint": "^9.39.4",
122+
"eslint": "^9.39.1",
123123
"eslint-plugin-react-hooks": "^5.2.0",
124-
"globals": "^16.5.0",
124+
"globals": "^16.4.0",
125125
"husky": "^9.1.7",
126-
"jsdom": "^27.4.0",
126+
"jsdom": "^27.1.0",
127127
"lighthouse": "^12.8.2",
128128
"lint-staged": "^15.5.2",
129-
"prettier": "^3.8.3",
130-
"prettier-plugin-tailwindcss": "^0.7.4",
131-
"stylelint": "^16.26.1",
129+
"prettier": "^3.6.2",
130+
"prettier-plugin-tailwindcss": "^0.7.1",
131+
"stylelint": "^16.25.0",
132132
"stylelint-config-standard": "^39.0.1",
133133
"typescript": "~5.8.3",
134-
"typescript-eslint": "^8.59.2",
135-
"vite": "^7.3.3",
134+
"typescript-eslint": "^8.46.1",
135+
"vite": "^7.3.2",
136136
"vitest": "^3.2.4",
137-
"web-vitals": "^5.2.0"
137+
"web-vitals": "^5.1.0"
138138
},
139139
"pnpm": {
140140
"overrides": {
141141
"@lhci/cli>tmp": "^0.2.4",
142-
"basic-ftp": "^5.3.0",
143-
"commitizen>lodash": "^4.17.23",
142+
"basic-ftp": "^5.3.1",
143+
"commitizen>lodash": "^4.18.1",
144144
"eslint>ajv": "^6.14.0",
145145
"external-editor>tmp": "^0.2.4",
146+
"express>path-to-regexp": "0.1.13",
147+
"fast-uri": "^3.1.2",
146148
"flatted": "^3.4.2",
149+
"fdir>picomatch": "^4.0.4",
150+
"lodash": "^4.18.1",
151+
"lodash-es": "^4.18.1",
152+
"micromatch>picomatch": "^2.3.2",
147153
"minimatch": "^10.2.3",
154+
"tinyglobby>picomatch": "^4.0.4",
148155
"rollup": "^4.59.0",
149156
"tmp": "^0.2.4",
150157
"yauzl": "^3.2.1"

0 commit comments

Comments
 (0)