Skip to content

fix(deps): actualizaciones de seguridad dentro de la misma versión mayor - #94

Merged
JoseSerpaCode merged 1 commit into
mainfrom
chore/deps-seguridad
Oct 18, 2026
Merged

JoseSerpaCode merged 1 commit into
mainfrom
chore/deps-seguridad

Conversation

@JoseSerpaCode

Copy link
Copy Markdown
Owner

Por qué

npm audit contaba 22 avisos, 2 críticos, varios de ellos en dependencias que llegan a producción. Dependabot llevaba parado desde agosto: sus 4 PR (#83–#86) estaban desfasados, y los avisos más graves ni siquiera tenían PR.

Qué cambia

Paquete Antes Después Motivo
@astrojs/node 11.1.2 11.1.8 Grave: una cabecera Host con un puerto malformado podía tumbar el servidor
astro 7.2.2 7.4.0 Crítico
socket.io / engine.io 4.8.3 / — 4.8.4 / 6.6.11 Grave
undici, express 8.10 / 5.2.1 8.12.2 / 5.3.0 undici grave; proxy-addr (crítico) llega con express
Transitivos devalue, fast-uri, js-yaml, sharp… con npm audit fix sin --force
@biomejs/biome, vitest 2.5.8 / 4.1.10 2.5.15 / 4.1.12 Desarrollo; sustituyen a #83 y #85

Todo se queda dentro de la misma versión mayor. Fuera de este PR: vitest 5, typescript 7 y @types/better-sqlite3 9 (#84). Playwright se queda en 1.62.1 para no tener que descargar navegadores nuevos.

Quedan 6 avisos moderados sin arreglo real: 4 en drizzle-kit y 2 en @tailwindcss/typography. En los dos casos npm propone retroceder de versión. El CLAUDE.md lo documenta, junto con que no se ejecute npm audit fix --force.

Un cambio de comportamiento de Astro 7.4

Astro 7.4 deja de rechazar los POST que no traen ni Origin ni Sec-Fetch-Site. Son peticiones de clientes que no son un navegador, que no llevan las cookies de nadie, así que no son un vector de CSRF. Un POST hecho desde otro sitio con un navegador sigue recibiendo 403. oauth-linking.spec.ts simula ahora ese ataque real, y su test hermano hace de control (misma petición desde el propio dominio → 401).

Otros

  • vitest.config.ts excluye .claude/**: los worktrees de las sesiones viven dentro del repo y vitest corría también sus copias de los tests.
  • El test de copiar y pegar coloca el cursor con el teclado y comprueba dónde quedó antes de pegar. Con la suite entera en paralelo, el clic a veces dejaba el cursor al final de «tres».

Pruebas

  • npx vitest: 350/350.
  • npx playwright test: 253/253, dos ejecuciones seguidas.
  • astro check: 0 errores. biome check: limpio.
  • npm audit: de 22 avisos (2 críticos) a 6 moderados sin arreglo real.

🤖 Generated with Claude Code

npm audit contaba 22 avisos, dos críticos, en dependencias que llegan a
producción, y Dependabot llevaba parado desde agosto.

- @astrojs/node 11.1.8: una cabecera Host malformada podía tumbar el
  servidor.
- astro 7.4.0, socket.io/engine.io 4.8.4, undici 8.12.2, express 5.3.0 y
  transitivos (devalue, proxy-addr...) con npm audit fix sin --force.
- biome 2.5.15 y vitest 4.1.12. Playwright se queda en 1.62.1 para no
  cambiar de navegadores.
- Astro 7.4 deja pasar los POST sin Origin ni Sec-Fetch-Site, que no
  vienen de un navegador. El test de CSRF simula ahora el ataque real
  desde otro sitio, que sigue dando 403.
- Quedan 6 avisos moderados sin arreglo real (drizzle-kit y typography);
  CLAUDE.md lo documenta.
- vitest ignora .claude/ (los worktrees de las sesiones) y el test de
  copiar y pegar coloca el cursor con el teclado, que era lo que fallaba
  con la suite en paralelo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant