VulnPrio - Plataforma de Priorización de Vulnerabilidades
Plataforma SaaS de priorización inteligente de vulnerabilidades para PYMEs. Analiza dependencias vía SBOM, enriquece con 5 fuentes de vulnerabilidades, scoring determinístico + IA, compliance con NIS2 y ENS, integración CI/CD vía GitHub Action.
- Turborepo
- Express.js
- Next.js 14
- PostgreSQL 16
- Redis 7
- Claude AI
- Stripe
- Drizzle ORM
- Vitest
- Playwright
Mi rol
Arquitecto y desarrollador full-stack del sistema completo: monorepo Turborepo, API Express.js con 24 servicios, dashboard Next.js, base de datos PostgreSQL con 11 tablas, pipeline de 5 etapas, scoring determinístico + IA, compliance NIS2/ENS, billing Stripe, GitHub Action.
Impacto
Proyecto de fin de máster (PGPIVP). SaaS completo con multi-tenant, 4 tiers de billing, compliance con 2 marcos regulatorios (NIS2 + ENS), GitHub Action para CI/CD, y framework de evaluación con métricas Precision@K, NDCG@K y MRR.
Reto
Las PYMEs no pueden priorizar vulnerabilidades de forma efectiva. Las herramientas existentes son demasiado complejas, caras o no consideran el contexto del negocio. El 60% de las brechas en PYMEs se podrían haber evitado con priorización correcta. Además, NIS2 exige compliance que las PYMEs no saben cómo implementar.
Solución
Monorepo con Turborepo: API Express.js (24 servicios, 9 repositorios, DI vía composition root), Dashboard Next.js 14 (App Router, Tailwind, Recharts), PostgreSQL 16 (11 tablas, Drizzle ORM), Redis 7 (cache + BullMQ queue). Pipeline de 5 etapas: SBOM (Syft) -> Enrichment (OSV, NVD, GHSA, EPSS, CISA KEV) -> Scoring determinístico (CVSS 30% + EPSS 25% + criticality 25% + exposure 20% + KEV bonus) -> AI (Claude Sonnet con fallback) -> Persistencia. GitHub Action con security gates. Stripe billing (4 tiers). Multi-tenant con RBAC (4 roles). MFA TOTP. SSRF protection, command injection prevention.
Pipeline de priorización
- SBOM: Inventario de dependencias generado con Syft.
- Enriquecimiento: Cada vulnerabilidad se cruza con OSV, NVD, GHSA, EPSS y CISA KEV.
- Scoring determinístico: CVSS 30% + EPSS 25% + criticality 25% + exposure 20% + KEV bonus.
- IA: Claude Sonnet con fallback sobre los resultados del scoring.
- Persistencia: Guardado de los resultados priorizados.
Seguridad
- Autenticación multifactor con TOTP
- RBAC con 4 roles en entorno multi-tenant
- Protección contra SSRF
- Prevención de command injection
- Contratos validados con Zod y valores por defecto fail-closed
- Security gates en la GitHub Action de CI/CD
Arquitectura
Layered Architecture con DI: Presentation (Next.js) -> API (Express Routes) -> Service Layer (24 services) -> Repository Layer (9 interfaces) -> Data (PostgreSQL + Redis). Pipeline pattern para el scanner. Contract-first con Zod validation. Fail-closed security defaults.