Refuerza la seguridad del código con Gitleaks: la herramienta clave para DevSecOps

Refuerza la seguridad del código con Gitleaks: la herramienta clave para DevSecOps

 

En el mundo de la programación y la ciberseguridad, los secretos son algo más que un susurro en los pasillos de la oficina. Pueden ser contraseñas, claves API, tokens de acceso y otros datos confidenciales que han quedado por error en la base de código. Aquí es donde aparece Gitleaks, como un superhéroe con capa, listo para proteger su código contra filtraciones. En esta entrada le presentaré esta herramienta y explicaré cómo instalarla.

¿Qué es Gitleaks y para qué sirve?

Gitleaks es una herramienta SAST de código abierto diseñada para detectar secretos en repositorios Git. Su objetivo es escanear el código en busca de información confidencial y evitar que se publique.

Gitleaks admite muchos lenguajes de programación y puede integrarse en pipelines de CI/CD, lo que lo convierte en una solución versátil para equipos de desarrolladores y administradores de sistemas.

Las aplicaciones modernas a menudo dependen de numerosos servicios y API externos que requieren claves y tokens para la autenticación. Si esos secretos aparecen por error en repositorios públicos, puede derivar en consecuencias graves, incluidos accesos no autorizados y fugas de datos. 

Gitleaks ayuda a automatizar el proceso de verificación y a minimizar el factor humano, algo especialmente importante en equipos grandes y proyectos de código abierto.

¿Cómo funciona Gitleaks?

Gitleaks utiliza expresiones regulares y plantillas para buscar información confidencial. La herramienta se puede configurar con reglas específicas según sus necesidades, ya sean patrones concretos o plantillas estándar para claves de AWS, Google Cloud y otros servicios populares. Gitleaks se puede ejecutar manualmente o automáticamente integrándolo en sus procesos de CI/CD.

Instalación y uso

Gitleaks se puede instalar con Homebrew, Docker o Go. También está disponible en binarios para muchas plataformas y sistemas operativos populares. Además, Gitleaks se puede implementar como un hook de pre-commit directamente en su repositorio o como una acción de GitHub mediante Gitleaks-Action.

La instalación de Gitleaks es sencilla y se realiza desde la línea de comandos. Aquí hay un ejemplo de instalación:

# MacOS

brew install gitleaks

# Docker (DockerHub)

docker pull zricethezav/gitleaks:latest

docker run -v ${path_to_host_folder_to_scan}:/path zricethezav/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]

# Docker (ghcr.io)

docker pull ghcr.io/gitleaks/gitleaks:latest

docker run -v ${path_to_host_folder_to_scan}:/path ghcr.io/gitleaks/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]

# From Source (make sure `go` is installed)

git clone https://github.com/gitleaks/gitleaks.git

cd gitleaks

make build

Comandos

Para detectar secretos se deben usar dos comandos: detectprotect.

  • El comando detect se usa para escanear repositorios, directorios y archivos. El comando puede ejecutarse en máquinas de desarrolladores y en entornos de CI.
  • El comando protect se usa para escanear cambios no confirmados en el repositorio git. Este comando debe emplearse en las máquinas de los desarrolladores como parte del enfoque de desplazar la seguridad hacia la izquierda para mejorar la seguridad.

También puede configurar Gitleaks para generar informes en varios formatos, como JSON o CSV, lo que facilita la integración con otras herramientas. Además, Gitleaks ofrece un formato de configuración que puede seguir para escribir sus propias reglas de detección de secretos.

Características distintivas de Gitleaks

  1. Código abierto: permite a cualquiera contribuir con cambios y mejoras.
  2. Flexibilidad y personalización: compatibilidad con reglas y plantillas personalizadas.
  3. Integración con CI/CD: escaneo automático en cada commit o despliegue.
  4. Comunidad y soporte: comunidad activa de desarrolladores dispuesta a ayudar con cualquier duda.

Conclusión

Gitleaks es una herramienta potente que ayuda a desarrolladores y equipos de seguridad a proteger sus proyectos contra la filtración de información confidencial. En un entorno donde las amenazas cibernéticas son cada vez más sofisticadas, disponer de herramientas de este tipo deja de ser opcional y se vuelve necesario.

En esta entrada le he explicado qué es Gitleaks, para qué sirve y cómo empezar a usarlo. Con la información proporcionada, podrá aumentar la visibilidad sobre las utilidades disponibles y reforzar la seguridad de su proyecto.

Alt text