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:
@@ -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.
|
||||
Reference in New Issue
Block a user