Pruebas de seguridad de JS en GitHub Actions

Bookmark
Rate this content

El desarrollo de software ha cambiado: despliegues frecuentes, APIs, GraphQL, arquitectura en la nube y automatización de CI/CD son la norma. Entonces, ¿por qué las pruebas de seguridad siguen siendo iguales que hace una década?

Los equipos líderes se están dando cuenta de que las pruebas de penetración periódicas y las auditorías de seguridad no son suficientes cuando el código se envía a diario. En su lugar, estos equipos están utilizando herramientas centradas en los desarrolladores para ejecutar pruebas de seguridad automatizadas en un pipeline de CI/CD. Únete a Zachary Conger mientras explica cómo automatizar las pruebas de seguridad de aplicaciones JS utilizando GitHub Actions.

This workshop has been presented at TestJS Summit 2021, check out the latest edition of this JavaScript Conference.

FAQ

DevOps es una metodología que combina el desarrollo de software con la operación de sistemas para mejorar la comunicación y colaboración entre equipos. Se relaciona con la automatización porque utiliza herramientas y prácticas para automatizar procesos que tradicionalmente eran manuales, mejorando así la eficiencia y la calidad de las operaciones.

Los tres tipos de pruebas de seguridad que se pueden integrar en un pipeline de CI/CD son: Análisis de Composición de Software (SCA), Prueba de Seguridad de Aplicaciones Estáticas (SAST) y Pruebas de Seguridad de Aplicaciones Dinámicas (DAST). Estas pruebas ayudan a detectar y mitigar vulnerabilidades de seguridad en el código y sus dependencias.

SCA significa Análisis de Composición de Software. Es una prueba de seguridad que analiza el código estático para identificar todas las bibliotecas y dependencias utilizadas, construyendo un árbol de dependencias completo y verificando si existen vulnerabilidades conocidas en estas bibliotecas.

SAST, o Prueba de Seguridad de Aplicaciones Estáticas, también analiza código estático pero, a diferencia de SCA, se enfoca en encontrar patrones de codificación vulnerables dentro del propio código fuente, en lugar de buscar problemas en las bibliotecas externas. SAST ofrece una línea por línea de análisis para identificar posibles vulnerabilidades.

Para realizar SCA, algunas herramientas populares incluyen Dependabot, Sneak y Fossa. Para SAST, se pueden usar herramientas como CodeQL, SonarQube y CheckMarks. Estas herramientas ayudan a automatizar la detección de vulnerabilidades en el proceso de desarrollo de software.

DAST significa Pruebas de Seguridad de Aplicaciones Dinámicas y opera analizando aplicaciones en ejecución para detectar vulnerabilidades que solo se manifiestan durante la ejecución de la aplicación. Algunas herramientas populares para realizar DAST incluyen StackHawk, OWASP Zap y Burp Suite.

Las pruebas de seguridad, como SCA, SAST y DAST, se pueden integrar en un pipeline de CI/CD utilizando GitHub Actions configurando flujos de trabajo que ejecuten estas pruebas automáticamente cada vez que se realiza un cambio en el código. Esto ayuda a detectar y resolver vulnerabilidades de manera temprana en el ciclo de desarrollo.

Zachary Conger
Zachary Conger
16 Nov, 2021
Video transcription, chapters and summary will be available after the recording is published.