# .trivyignore — Prismal
# ============================================================
# CVEs/GHSAs aceptadas/mitigadas en dependencias SIN fix upstream
# aplicable. Cada entrada exige: razon, surface, referencia al spec
# y TRIGGER de re-evaluacion.
#
# Mismos IDs que `pip-audit --ignore-vuln` en `.github/workflows/ci.yml`
# y en `.pre-commit-config.yaml` -> hook `pip-audit`. Mantener los tres
# espejados (regla de oro).
#
# Triage activo: `prismal doctor security-check` (Phase 30 maintenance).
# Remediacion 2026-06: specs/dependency-security-remediation/ (18 alertas
# Dependabot; las resueltas por el lock se retiraron de esta lista).
# ============================================================

# --- ecdsa CVE-2024-23342 (Minerva) — RESUELTO 2026-07-11 ----
# La deuda registrada (python-jose -> PyJWT) fue EJECUTADA: prismal ahora
# depende de pyjwt[crypto] y `network_supervisor._make_a2a_jwt` usa PyJWT.
# Al quitar python-jose desaparece su dep transitiva `ecdsa` del uv.lock, de
# modo que la vulnerabilidad queda ELIMINADA (no aceptada). Ignore retirado
# de los tres archivos espejados (.trivyignore / ci.yml / .pre-commit-config).

# --- transformers 4.57.6 (marker py>=3.14) -> CVE-2026-1839 --
# RCE en Trainer._load_rng_state() via torch.load() sin weights_only
# (GHSA-69w3-r845-3855, fix transformers 5.0.0rc3). MITIGADO:
# (1) pyproject fija torch>=2.6 (lock: 2.11.0) -> safe_globals() de
#     PyTorch >=2.6 neutraliza el vector de deserializacion;
# (2) prismal no usa la clase Trainer (solo inferencia/embeddings via
#     sentence-transformers);
# (3) en py<3.14 el lock ya resuelve transformers 5.5.4 (>=5.0.0rc3);
#     solo la rama del lock para py>=3.14 conserva 4.57.6.
# Spec: specs/dependency-security-remediation/SPEC.md (SEC-A10, alerta #2).
# TRIGGER de re-evaluacion: release estable de transformers 5.x soportado
# por sentence-transformers en py>=3.14 -> subir y quitar este ignore.
CVE-2026-1839

# --- pip 26.0.1 -> CVE-2026-3219 (sin fix upstream aun) ------
# pip 26.0.1 es el ultimo release publicado y CVE-2026-3219 no tiene
# first_patched_version. Dependencia del toolchain (pip-audit), no del
# runtime de prismal.
# TRIGGER de re-evaluacion: pip publica release con fix -> quitar ignore.
CVE-2026-3219

# --- chromadb -> CVE-2026-45829 (sin fix upstream) -----------
# CRITICAL — pre-authentication code injection (GHSA-f4j7-r4q5-qw2c /
# PYSEC-2026-311). RE-VERIFICADO 2026-07-11 contra OSV: rango vulnerable
# >=1.0.0, last_affected=1.5.9, sin evento `fixed` -> la ultima version (1.5.9)
# SIGUE afectada; no existe first_patched_version. ChromaDB se usa aqui como
# vector store local/embebido (`Chroma(persist_directory=...)`, sin HttpClient
# ni `chroma run`), por lo que el vector pre-auth del SERVER no esta expuesto;
# ademas Chroma es ahora backend OPCIONAL (Fase Z vector-store-port), no el
# unico. Riesgo residual re-afirmado. Mismo ignore en pip-audit
# (.pre-commit-config.yaml + ci.yml).
# Spec: specs/dependency-security-remediation/SPEC.md (SEC-A02, alerta #15).
# TRIGGER de re-evaluacion: chromadb publica first_patched_version, o proxima
# revision programada 2026-10. Triage: `prismal doctor security-check`.
CVE-2026-45829

# --- torch 2.11.0 -> CVE-2025-3000 (sin fix upstream) --------
# CRITICAL — memory corruption en `torch.jit.script` (first_patched=None:
# no existe version parcheada). El vector exige compilar/scriptar codigo
# controlado por el atacante en el host local ("It is possible to launch the
# attack on the local host"). Surface: prismal solo hace inferencia/embeddings
# (sentence-transformers / open-clip), NO scripta modelos con torch.jit desde
# entrada de usuario, y torch entra solo via los extras opcionales
# [multimodal-*]/[ml]. Riesgo residual local aceptado. Mismo ignore en
# pip-audit (.pre-commit-config.yaml + ci.yml).
# TRIGGER de re-evaluacion: PyTorch publica first_patched_version para
# CVE-2025-3000 -> subir y quitar este ignore.
CVE-2025-3000

# --- click PYSEC-2026-2132 (NO listado aqui a proposito) ----
# fix = click 8.3.3, pero guardrails-ai 0.10.2 fija click<=8.2.0, por lo que
# el bump es irresoluble hasta que guardrails suba el cap. Baja severidad:
# NO entra en el gate HIGH/CRITICAL de trivy, asi que no requiere ignore aqui;
# solo se ignora en pip-audit (ci.yml + .pre-commit-config.yaml).
# TRIGGER de re-evaluacion: guardrails-ai permite click>=8.3.3 -> quitar el
# ignore de pip-audit (el cap desaparece solo).
