- 1

DevOps con GitLab para automatizar entregas de software
04:19 - 2

Qué es DevOps y cómo integra desarrollo con operaciones
08:44 - 3

DevOps como ciclo iterativo continuo: etapas y beneficios clave
08:21 - 4

GitLab como plataforma integral para el ciclo de vida DevOps
09:29 - 5

Diferencias clave entre GitLab y GitHub para desarrolladores
03:25
Análisis de vulnerabilidades en dependencias de NPM, PIP y Composer
Clase 39 de 53 • Curso de DevOps con GitLab
Contenido del curso
- 11

Diferencias entre Agile y Waterfall en desarrollo de software
06:20 - 12

Creación y gestión de issues en GitLab para colaboración eficaz
12:07 - 13

Etiquetas para organizar issues en GitLab
07:30 - 14
Planificación en Gitlab-Pesos
02:40 - 15

Creación y gestión de milestones en GitLab para sprints y releases
07:23 - 16

Boards en GitLab para visualizar flujos de trabajo con issues
06:25 - 17

Service Desk de GitLab para soporte por correo electrónico
08:34 - 18
Planificación en Gitlab-Quick actions
00:33
- 19

Inicialización de Angular con GitLab y test-driven development
06:50 - 20

Merge requests y control de calidad en GitLab
12:24 - 21

Flujo completo de merge requests en GitLab
09:24 - 22

Automatización de flujos de trabajo con GitLab CI
02:59 - 23

GitLab CI: configuración, stages y variables para automatización
10:12 - 24

Configuración de GitLab CI para proyectos Angular
11:53 - 25

Validación de archivos GitLab CI con linter antes del pipeline
09:18 - 26
gitlab-ci.yml
02:33 - 27

Configuración de GitLab Pages para hosting estático con CI
04:26 - 28

Configuración de GitLab Pages para deploy automático de Angular
13:11 - 29

Desarrollo ágil y sus doce principios fundamentales
02:33 - 30

GitLab AutoDevOps: pipelines automatizados con seguridad y calidad
06:26 - 31

Configuración de GitLab Auto DevOps con Kubernetes en Google Cloud
09:39 - 32

Configuración de Auto DevOps en GitLab con Kubernetes
13:38
- 35

DevSecOps: integración de seguridad en el ciclo de desarrollo
06:27 - 36

Autenticación de commits con llaves PGP en GitLab
10:18 - 37

Pruebas estáticas de seguridad en GitLab para detectar vulnerabilidades
08:37 - 38

Análisis de contenedores con GitLab y Clair para detectar vulnerabilidades
03:40 - 39

Análisis de vulnerabilidades en dependencias de NPM, PIP y Composer
05:35 - 40

Pruebas dinámicas de seguridad con DAST en GitLab
06:37 - 41

GitLab Security Dashboard: hub centralizado de vulnerabilidades
04:35
- 42

Continuous Deployment seguro con GitLab y control de riesgos
08:04 - 43

Configuración de ambientes en GitLab para desarrollo industrial
08:08 - 44

Review apps: ambientes efímeros por branch para feedback rápido
13:34 - 45
Estrategias de Distribución
04:29 - 46
Feature Flags
03:07 - 47

Rollback en GitLab para revertir errores en producción
05:14
- 48

Importancia del monitoreo en DevOps y despliegue continuo
04:59 - 49

Métricas de desempeño en GitLab con Prometheus
04:35 - 50

Métricas de salud en GitLab para prevenir fallas de infraestructura
05:44 - 51

Métricas de equipo en GitLab para optimizar workflows de DevOps
05:45 - 52

Integración de GitLab con Sentry para rastrear errores en producción
12:27
La seguridad en dependencias de NPM, PIP y Composer define la salud de tu software. Integrar análisis de dependencias en GitLab y decidir con criterio ante vulnerabilidades te ahorra incidentes graves. Aquí entenderás por qué las dependencias son frágiles, cómo usar el Dependency Scanning y qué hacer ante paquetes maliciosos.
¿Por qué las dependencias son un punto crítico de seguridad?
Las dependencias concentran riesgos porque son código que no escribiste, difícil de auditar a detalle y con funcionamiento interno desconocido. Esto no te hace mal desarrollador: aplica el principio de encapsulación, pero exige control y monitoreo.
¿Qué riesgos introducen paquetes de NPM, PIP y Composer?
- Inclusión de vulnerabilidades sin detectar por auditorías manuales.
- Presencia de paquetes maliciosos que parecen legítimos.
- Exfiltración de datos si el paquete accede a variables de entorno.
- Dependencias de desarrollo menos críticas que las de producción, pero igual deben evaluarse.
¿Cómo afecta el principio de encapsulación?
- Permite reutilizar código sin conocer su interior.
- Aumenta dependencia de terceros: por eso automatiza la verificación de vulnerabilidades.
- Evita “whitelistar” manualmente paquete por paquete: mejor usa escaneo sistemático.
¿Por qué las variables de ambiente son objetivo?
- Contienen llaves de bases de datos y API keys.
- Si un paquete es malicioso, puede enviar estas variables al atacante en producción.
- Caso narrado: una librería “legítima” estilo Mark Improved o Mark 2 copió funcionalidades y envió variables de ambiente al autor malicioso, detectado por tráfico saliente inusual.
¿Cómo aplicar dependency scanning en GitLab sin fricción?
El análisis de dependencias funciona como el análisis estático de código: se ejecuta la misma imagen de análisis sobre tu código y sobre todas las dependencias. En GitLab, usa el patrón modular para incluir Dependency Scanning en tu pipeline.
¿Qué muestra el widget de seguridad en un merge request?
- Hallazgos de vulnerabilidades en dependencias directamente en el merge request.
- Información en contexto para decidir antes de fusionar.
- Visibilidad centralizada en el widget de seguridad al pulsar “Expandir”.
¿Qué patrón modular reutilizar?
- Incluye la plantilla de Dependency Scanning en tu configuración de CI.
- Fragmento citado:
include template Dependency Scanning gitlabci.yaml
- Esto habilita el escaneo automático en cada cambio: decisiones informadas sin esfuerzo extra.
¿Cómo identificar paquetes maliciosos?
- Observa solicitudes salientes inesperadas desde servidores.
- Revisa hallazgos del widget de seguridad.
- Si una librería “popular” cambia de nombre o surge una “mejora” sospechosa, verifica su comportamiento.
¿Qué decisiones tomar ante vulnerabilidades en paquetes?
Las vulnerabilidades requieren decisiones claras respaldadas por severidad, impacto y entorno. No todas exigen bloquear el merge; prioriza según riesgo real.
¿Cuándo corregir, reemplazar o aceptar el riesgo?
- Corregir: si la severidad es alta o afecta producción.
- Reemplazar la dependencia: si el paquete acumula fallos o no se actualiza.
- Aceptar el riesgo: si la vulnerabilidad es baja y con mitigaciones claras.
¿Cómo evaluar si es de desarrollo o producción?
- Desarrollo: impacto menor en tiempo de ejecución, evalúa caso por caso.
- Producción: exige acción inmediata si hay exposición de datos o ejecución en tiempo real.
¿Qué enseña el caso de NCU o NPM Check Updates?
- Ejemplo directo: al escanear NCU o NPM Check Updates se hallaron más de setenta vulnerabilidades.
- Decisión efectiva: cambiar a otra librería con el mismo comportamiento pero sin vulnerabilidades.
Comparte en los comentarios tus experiencias con vulnerabilidades en dependencias: ayuda a crear conciencia y mejorar la seguridad colectiva.