Files
apps-registry/docs/devsecops/trivyignore-review.md
T
devopsandClaude Sonnet 5 7b872af746 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
2026-08-16 14:46:29 -05:00

2.4 KiB

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.