docs(devsecops): proceso de revision de excepciones en .trivyignore

Checklist para revisar en cada bump de @medusajs/* si las excepciones
documentadas (esbuild/vite via admin-sdk) siguen vigentes o deben
removerse. Evita que una excepcion se vuelva permanente por olvido.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
This commit is contained in:
2026-08-16 14:46:29 -05:00
co-authored by Claude Sonnet 5
parent b3da3cc131
commit 7b872af746
+46
View File
@@ -0,0 +1,46 @@
# Revisión de excepciones en `.trivyignore`
Cada `.trivyignore` en este repo (por ejemplo
`workloads/commerce-backend/.trivyignore`) es una lista de CVEs excepcionadas
del gate CRITICAL de Trivy, con justificación y fecha por entrada. No es un
mecanismo para silenciar hallazgos sin revisar — cada excepción está atada a
una versión concreta de una dependencia, y deja de tener sentido en cuanto esa
dependencia cambia.
## Riesgo si no se revisa
Una excepción vieja que sigue activa después de un bump de versión puede
ocultar CVEs **nuevas y no relacionadas** que Trivy habría detectado, si el
número de CVE cambia entre versiones del mismo paquete pero el `.trivyignore`
no se actualiza. La excepción se vuelve permanente por inercia en vez de por
decisión.
## Checklist: cada vez que se hace bump de `@medusajs/*`
1. Ubicar el `.trivyignore` de la app afectada y leer la justificación de cada
entrada — identifica de qué dependencia transitiva viene cada CVE (ej.
`esbuild` vía `vite` vía `@medusajs/admin-sdk`).
2. Después del bump, correr el build/escaneo y comparar: ¿la nueva versión de
la dependencia transitiva (`vite`/`esbuild` en el caso de admin-sdk) ya
trae el fix?
- Si el CVE ya no aparece en el reporte de Trivy → **remover la entrada**
del `.trivyignore`.
- Si el CVE sigue apareciendo pero con un identificador distinto → no
asumir que es "la misma" excepción; documentarla de nuevo con su propia
justificación.
- Si el CVE sigue igual (misma causa, mismo transitivo sin actualizar) →
dejar la entrada, pero actualizar la fecha/nota si vale la pena
(ej. "sigue aplicando tras bump a X.Y.Z, revisado 2026-MM-DD").
3. Nunca copiar una excepción de una app a otra sin repetir este proceso —
cada `.trivyignore` es local a la imagen que describe.
## Precedente
`workloads/commerce-backend/.trivyignore` documenta `CVE-2024-24790` /
`CVE-2025-68121` (Go stdlib embebido en el binario de `esbuild`, traído por
`[email protected]``@medusajs/admin-sdk`, no se ejecuta en runtime del
contenedor) desde el commit `93f071c` (2026-08-15), con `@medusajs/*` en
`2.18.0`. Revisado el 2026-08-16: sin bumps de `@medusajs/*` desde entonces,
la excepción sigue vigente. Ese commit y el `.trivyignore` mismo documentan el
intento de fix real que se descartó (bump de esbuild rompía el build del
admin) — leerlo antes de repetir el intento en un bump futuro.