Seguridad de dependencias y de la cadena de suministro (SCA)
Proteja su pipeline frente a paquetes de terceros vulnerables mediante Software Composition Analysis, Dependabot, la revisión de dependencias y actions fijadas.
Seguridad de dependencias y de la cadena de suministro (SCA) es una lección gratuita de CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.
El riesgo de la cadena de suministro
Las aplicaciones modernas se crean principalmente a partir de dependencias de terceros. Un solo paquete vulnerable en una parte profunda del árbol de dependencias puede poner en riesgo toda la aplicación.
Este es el riesgo de la cadena de suministro de software, y protegerla es una parte fundamental de DevSecOps.
¿Qué es SCA?
Análisis de composición de software (SCA) analiza las dependencias de su proyecto y las compara con bases de datos de vulnerabilidades conocidas (CVE).
A diferencia de SAST, que inspecciona su código, SCA se centra en las bibliotecas que importa.
- Detecta versiones con vulnerabilidades conocidas
- Señala licencias arriesgadas o incompatibles
- Sugiere versiones de actualización seguras
Alertas de Dependabot
GitHub proporciona Dependabot, que analiza continuamente los archivos de manifiesto y genera alertas cuando una dependencia tiene una vulnerabilidad conocida.
Puede habilitarlo en Settings > Code security and analysis. Las alertas aparecen en la pestaña Security con niveles de gravedad.
Actualizaciones automáticas de dependencias
Dependabot también puede abrir solicitudes de incorporación de cambios que actualicen automáticamente las dependencias vulnerables. Configúrelo con un archivo dependabot.yml.
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weeklyRevisión de dependencias en las PR
dependency-review-action se ejecuta en las solicitudes de incorporación de cambios y bloquea la combinación si una PR introduce una dependencia con una vulnerabilidad conocida.
Esto desplaza la seguridad hacia la izquierda y detecta los paquetes arriesgados antes de que lleguen a la rama principal.
- name: Dependency Review
uses: actions/dependency-review-action@v4
with:
fail-on-severity: highFijar versiones de las acciones
Las acciones que invoca en un flujo de trabajo son dependencias. Hacer referencia a @v4 implica confiar en quien controle esa etiqueta.
Para obtener la máxima seguridad, fije las acciones a un SHA completo del commit, que es inmutable.
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11Los lockfiles son importantes
Un lockfile, como package-lock.json o poetry.lock, fija las versiones exactas y los hashes de las dependencias.
En CI, utilice un comando de instalación determinista para que las compilaciones sean reproducibles y no puedan obtener silenciosamente una versión manipulada.
- name: Install (locked)
run: npm ciGenerar un SBOM
Una lista de materiales de software (SBOM) es un inventario completo de todos los componentes de su compilación. Cada vez se exige más por motivos de cumplimiento.
GitHub puede exportar un SBOM en formato SPDX, y herramientas como Syft pueden generarlo dentro de CI.
- name: Generate SBOM
uses: anchore/sbom-action@v0
with:
format: spdx-jsonCumplimiento de licencias
SCA también cubre el riesgo de las licencias. Incorporar una biblioteca con licencia GPL a un producto propietario puede generar obligaciones legales.
Configure el analizador para señalar o rechazar las licencias no permitidas, de modo que el problema aparezca en CI y no durante una auditoría.
Hacer que falle la compilación
La detección solo resulta útil si detiene el código problemático. Configure los controles de SCA para hacer que falle la canalización cuando se encuentre una vulnerabilidad crítica.
Establezca un umbral de gravedad para que los hallazgos de bajo riesgo generen una advertencia, mientras que los críticos bloqueen la combinación o el despliegue.
with:
fail-on-severity: criticalSupervisión continua
Las vulnerabilidades nuevas se divulgan a diario, por lo que un análisis puntual no es suficiente. Ejecute SCA según una programación, además de hacerlo en cada PR.
Así detectará los paquetes que eran seguros en el momento de combinarlos, pero que se volvieron vulnerables posteriormente.
on:
schedule:
- cron: '0 6 * * 1'Comprobación rápida
Compruebe su comprensión de la seguridad de la cadena de suministro.
Resumen
Ha aprendido a proteger la cadena de suministro de software.
- SCA analiza las dependencias en busca de vulnerabilidades conocidas
- Dependabot alerta sobre los paquetes arriesgados y los actualiza automáticamente
- La revisión de dependencias bloquea las PR arriesgadas
- Fije las acciones a SHA, utilice lockfiles y genere un SBOM
Junto con SAST y la gestión de secretos, esto completa una canalización segura.
Preguntas frecuentes
¿La lección «Seguridad de dependencias y de la cadena de suministro (SCA)» es gratis?
Sí — el texto completo de «Seguridad de dependencias y de la cadena de suministro (SCA)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.
¿Qué aprenderé en «Seguridad de dependencias y de la cadena de suministro (SCA)»?
Proteja su pipeline frente a paquetes de terceros vulnerables mediante Software Composition Analysis, Dependabot, la revisión de dependencias y actions fijadas. Practicas CI/CD with GitHub Actions & DevOps Pipelines con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar CI/CD with GitHub Actions & DevOps Pipelines?
No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Seguridad de dependencias y de la cadena de suministro (SCA)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de CI/CD with GitHub Actions & DevOps Pipelines?
Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Buenas prácticas de seguridad en CI/CD
- Gestión de secretos con GitHub
- Pruebas estáticas de seguridad de aplicaciones (SAST)
- Seguridad de dependencias y de la cadena de suministro (SCA)