¿Qué es GitHub Advanced Security?
GitHub tiene muchas características que le ayudan a mejorar y mantener la calidad del código. Algunas de estas características se incluyen en todos los planes, como el gráfico de dependencias y las alertas de Dependabot. Otros ofrecen funcionalidades limitadas para los repositorios públicos, mientras que las capacidades avanzadas para los repositorios privados requieren GitHub Code Security y GitHub Secret Protection.
En esta unidad, obtendrá más información sobre GitHub Advanced Security y descubrirá el aspecto de un proyecto con funcionalidades de seguridad avanzadas.
Introducción a GitHub Advanced Security
Las funcionalidades de GitHub Advanced Security ahora se ofrecen a través de dos productos principales:
- GitHub Seguridad del código (detección y corrección de vulnerabilidades)
- Protección de secretos de GitHub (detección y prevención de secretos)
Juntos, estos productos proporcionan una plataforma de seguridad más amplia que se extiende más allá del conjunto de características de seguridad avanzada de GitHub original.
Disponibilidad de funcionalidades
En la tabla siguiente se resume la disponibilidad de las características de seguridad de GitHub entre los tipos de repositorio y los productos.
| Característica | Repositorio público | Repositorio privado | Seguridad de código de GitHub | Protección de secretos de GitHub |
|---|---|---|---|---|
| Examen de código (CodeQL) | Sí | No | Sí | No |
| Autocorrección de Copilot | Sí (limitada) | No | Sí | No |
| Revisión de dependencias | Sí | No | Sí | No |
| Alertas de Dependabot | Sí | Sí | Sí | No |
| Evaluación de prioridades automática de Dependabot | No | No | Sí | No |
| Campañas de seguridad | No | No | Sí | No |
| Introducción a la seguridad | No | No | Sí | No |
| Análisis de secretos | Sí (básico) | No | No | Sí |
| Protección contra el envío de cambios | No | No | No | Sí |
| Patrones de secreto personalizados | No | No | No | Sí |
Como se muestra en la tabla anterior, muchas características de seguridad principales, como el análisis de código, el análisis básico de secretos, la revisión de dependencias y las alertas de Dependabot, están disponibles de forma predeterminada para repositorios públicos en GitHub.com. Las funcionalidades avanzadas para repositorios privados e internos requieren GitHub Enterprise Cloud o GitHub Team con GitHub Code Security o GitHub Secret Protection habilitado.
GitHub Code Security and GitHub Secret Protection proporcionan las siguientes funcionalidades mejoradas para repositorios privados e internos:
- Examen de código (CodeQL): Detecta automáticamente vulnerabilidades y errores de codificación y admite correcciones asistidas por IA a través de Copilot Autofijo (donde está habilitado).
- Detección de secretos: Detecta secretos expuestos en el código, bloquea fugas con protección en los pushes, admite patrones personalizados de secretos y proporciona flujos de trabajo mejorados para alertas y corrección.
- Revisión de dependencias: muestra el impacto de los cambios en las dependencias y destaca las versiones vulnerables antes de fusionar las solicitudes de extracción.
- Información general de seguridad: Proporciona visibilidad de toda la organización sobre la posición de seguridad, los riesgos y las alertas de nivel de repositorio.
- Campañas de seguridad: Permite a las organizaciones agrupar, priorizar y corregir sistemáticamente varias alertas de seguridad entre repositorios, lo que ayuda a los equipos a reducir las vulnerabilidades más rápido y a escala.
Notas clave
GitHub ha evolucionado de una única agrupación de seguridad avanzada de GitHub en una plataforma modular que consta de:
- Seguridad de código de GitHub
- Protección de secretos de GitHub
Otros puntos importantes incluyen:
- Los repositorios públicos siguen recibiendo una base de referencia sólida de las características de seguridad gratuitas.
- Las características avanzadas se centran en la prevención (como la protección frente a inserciones), la automatización y la remediación asistida por IA.
Seguridad avanzada de GitHub en el ciclo de vida de desarrollo de software
¿Qué diferencia tienen las características de Advanced Security GitHub en el ciclo de vida de desarrollo de software? Echemos un vistazo primero a un escenario de seguridad básico.
En este ejemplo se muestra una seguridad tradicional como enfoque de puerta , donde se realizan una o varias pruebas de seguridad durante la fase de control de calidad. En este escenario, la seguridad a menudo se convierte en un cuello de botella que retrasa la entrega de software. Muchas organizaciones abordan este desafío cambiando la seguridad a la izquierda.
Ahora, echemos un vistazo al mismo ciclo de vida de desarrollo de software con GitHub Advanced Security.
En este escenario, la seguridad se integra desde el principio a través de las directivas de seguridad configuradas durante la configuración del proyecto. Los desarrolladores reciben comentarios de seguridad en todo el proceso de desarrollo.
- Examen de código: Examina cada confirmación y combinación para detectar vulnerabilidades y errores de codificación.
- Análisis de secretos: Analiza cada commit y cada fusión en busca de secretos incluidos accidentalmente, como tokens y claves privadas.
- Revisión de dependencias: Supervisa los cambios de dependencia y evalúa su impacto en la seguridad del proyecto comparando los archivos de manifiesto con las bases de datos de vulnerabilidades conocidas durante cada solicitud de incorporación de cambios.
Además, Información general de seguridad proporciona a los administradores una vista general de la posición de seguridad de la organización. Esta vista ayuda a identificar repositorios que requieren atención o corrección.
Dado que las comprobaciones de seguridad se producen durante el ciclo de vida de desarrollo, los posibles problemas se identifican y solucionan anteriormente. Este enfoque reduce los cuellos de botella durante la garantía de calidad y minimiza la deuda técnica antes de que se libere el software.