fix(deps): B3 security upgrades dirigidos — shell-quote + undici/ws + vite + monaco + lodash (card b97898c5) - #10
Merged
Merged
Conversation
…fresh undici/ws + vite 8.0.16 + monaco 0.56 — card b97898c5 - pnpm.overrides: shell-quote 1.9.0 (CVE-2026-9277 GHSA-w7jw-789q-3m8p >=1.8.4 + GHSA-395f-4hp3-45gv >=1.9.0; via teen_process ^1.8.1, dev-scope) - pnpm.overrides: vite 8.0.16 (peer autoinstalado pegado a 8.0.14, advisory <=8.0.15) - pnpm.overrides: @appium/logger>lodash 4.18.1 (pin exacto 4.17.21, code injection) - pnpm.overrides: monaco-editor>dompurify 3.4.13 (monaco 0.56.0 pinea 3.4.8 exacto, 3 advisories >=3.4.9/3.4.11/3.4.12) - pnpm.overrides: next>sharp 0.35.4 (4 CVEs libvips <0.35.0, runtime) - lockfile refresh in-range: undici 7.25.0->7.29.0 / 6.25.0->6.28.0 (cheerio ya latest), ws 8.20.1->8.21.3 / 7.5.10->7.5.13 (lighthouse), vitest 4.1.7->4.1.11 - monaco-editor 0.55.1->0.56.0 (peer-compatible >=0.25.0 <1, suelta pin dompurify 3.2.7) - excluidos con evidencia: next 16.3.x (0 advisories abiertas en 16.2.11, minor-stability aprobada PR #9), postcss 8.4.31 (pin exacto de next, se cura con 16.3), extract-zip (B4 security sin fix), @opentelemetry/core 1.30.1 y deepmerge-ts 7.1.5 (fix solo major) - hallazgo: bloque root 'overrides' de package.json es config muerta (pnpm 9 no la aplica; las 3 entradas son resolucion natural), se deja intacta para decision aparte Verificacion: frozen-lockfile OK, build verde (14s), test:run 1064/1064 (96 files), tsc 172 = baseline main, pnpm audit 13->7 (residuales fuera de alcance B3 documentados)
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.
Batch B3 — upgrades dirigidos con verificación de holders exactos
Derivado del triage fe5d15f1 (§batches B3). Base: main b5861b5 (post PR #9).
Cambios (holders verificados con
pnpm whyANTES de cada bump)agent-browser 0.15.3 → node-simctl 7.7.5 → teen_process 2.3.3(declara^1.8.1)pnpm.overrides→ 1.9.0^7.21.0), cheerio 1.2.0 (^7.19.0), webdriver 9.27.1 (^6.21.3) — cheerio YA era latest 1.2.0pnpm update undici(solo lockfile)^7.0.0), puppeteer-core/webdriver/webdriverio (^8.x)pnpm update ws(solo lockfile)@vitejs/plugin-react(`^6@monaco-editor/react 4.7.0 → monaco-editor 0.55.1pineaba dompurify 3.2.7 exacto>=0.25.0 <1, ya suelta el pin) + override escopadomonaco-editor>dompurify: 3.4.13(0.56.0 pinea 3.4.8 exacto, aún vulnerable a 3 advisories)agent-browser → node-simctl 7.7.5 → @appium/logger 1.7.1pineaba 4.17.21 exacto (su 2.x exige node-simctl 9 = 2 majors)@appium/logger>lodash: 4.18.1next 16.2.11(^0.34.5) — 4 CVEs libvips <0.35.0 en runtimenext>sharp: 0.35.4(validado con build + suite)^4.0.18)Toca package.json — solo bloque nuevo
pnpm.overrides(9 líneas)Nota tradeoff:
vite: 8.0.16es pin exacto (existe 8.2.x) — elegido como target de la card;dependabotlo levantará cuando toque. Los 3 escopados (padre>hijo) no afectan al resto del árbol.Exclusiones documentadas (evidencia, no slip)
pnpm audit --prodmuestra 0 advisories abiertas en next 16.2.11; minor-stability 16.2 fue decisión aprobada en pipeline del PR chore(deps): higiene dependencias B1+B2+B5 — card b1569dc1 #9. Sin driver de seguridad → riesgo innecesario. 16.3.3 cura postcss (pinea 8.5.23) y arrastra sharp ^0.35.3 — recomendado como chore PR separado.Hallazgo: config muerta pre-existing
El bloque root
overridesde package.json (@asamuzakjp/css-color 5.1.11, basic-ftp 6.0.1, fast-xml-builder 1.2.0) nunca fue aplicado por pnpm 9 (no lee overrides npm-style de root; verificado empíricamente — shell-quote añadido ahí no movió el lockfile). Las 3 versiones son resolución natural. Se deja intacto para decisión aparte (remover o migrar).Verificación
pnpm install --frozen-lockfile✓ (CI gate)pnpm build✓ (Compiled successfully 14s — sharp 0.35.4, monaco 0.56.0, vite 8.0.16 bundleados)pnpm test:run✓ 1064/1064 (96 files)tsc --noEmit172 errores = baseline main (sin delta)pnpm audit: 13 → 7 locales (residuales = exclusiones arriba);--prod: 10 → 5pnpm lint: fallo pre-existing (no existe eslint.config.* en main; CI lo ejecuta|| true)Residual esperado post-merge (re-scan GitHub)
~7: postcss×4 (next pin → 16.3 chore), extract-zip×1 (B4), otel-core×1 + deepmerge-ts×1 (major-only). El critical shell-quote queda CERRADO.