Tu producto depende de cerca de 1.200 paquetes npm que nadie auditó, y cada uno es una puerta de entrada. La seguridad de supply chain llegó a la agenda de los consejos porque ataques recientes comprometieron pipelines de build enteros a través de un único paquete bien mantenido. Son cinco frentes técnicos y ninguno exige reescribir el producto; el costo de prevenir es una fracción del costo de un build comprometido en producción.
La superficie de ataque en números
Una aplicación moderna arrastra de cientos a miles de dependencias transitivas: auditas 80 paquetes directos y heredas más de mil sin leer una línea. El patrón de los ataques se repite: comprometer al mantenedor de un paquete popular y esperar el próximo release. Herramientas como npm ls y Syft mapean el árbol en minutos; el inventario viene antes de la política. Un único paquete transitivo comprometido basta; el atacante nunca toca tu código fuente. Cada PR que añade una biblioteca amplía la superficie.
Lockfile, pinning y automatización con gate humano
- Haz commit del lockfile y bloquea el merge sin él.
- Fija versiones exactas en los caminos críticos de ejecución.
- Revisa el diff completo en PRs de dependencias, además del changelog.
- Ejecuta Renovate o Dependabot para proponer actualizaciones, con aprobación humana obligatoria.
El gate humano importa: la automatización propone, una persona aprueba, y el historial de revisión queda registrado para auditoría.
SBOM y procedencia: prueba en vez de promesa
Genera una SBOM por artefacto de release; reguladores y clientes enterprise ya piden el documento en procesos de compra. Las herramientas de CI producen SBOM a costo casi cero. La firma con Sigstore y los atestados de provenance del npm comprueban que el artefacto salió de la fuente declarada; replica la verificación en los registries internos.
Proveedores y plan de incidente
Los componentes de terceros merecen un cuestionario que cubra estado de mantenimiento e historial de respuesta a CVEs. Pregunta cuántos mantenedores activos tiene el componente: un paquete con mantenedor único carga riesgo de concentración, una persona desaparece y cien aplicaciones quedan expuestas. Decide antes del incidente quién autoriza un upgrade emergencial, cómo congelar deploys y cómo avisar a los clientes cuando un CVE alcanza producción. Improvisar esas llamadas durante la crisis multiplica el daño.
La señal que corresponde al liderazgo
El trabajo de seguridad compite con las features por la capacidad del equipo. Asigna de forma permanente el 10% a 15% del tiempo de ingeniería para ese backlog: sin cuota fija, el roadmap gana todos los sprints y el riesgo crece en silencio. Un incidente de dependencia en producción consume semanas de remediación; la cuota preventiva cuesta una fracción de eso. El presupuesto comunica prioridad mejor que un discurso de apertura de trimestre.