
Audita proyectos de GitLab contra el CIS GitLab Benchmark mediante comprobaciones de API de solo lectura, generando informes JSON sobre cumplimiento y recomendaciones de hardening.
El 17 de abril de 2024, GitLab™ publicó una entrada de blog presentando su Benchmark CIS de GitLab del Center for Internet Security® (CIS). Con el objetivo de mejorar la seguridad del producto y ofrecer recomendaciones de endurecimiento a los clientes de GitLab. Puede descargar una copia de los benchmarks publicados en el sitio web del Center for Internet Security®.
"El Benchmark CIS de GitLab surgió de una colaboración entre CIS y los equipos de Seguridad de Campo y Gestión de Producto de GitLab. Tras numerosas conversaciones con clientes, entendimos la necesidad de un benchmark específico que guiara sus esfuerzos de endurecimiento. Realizamos una revisión en profundidad del producto y la documentación de GitLab para comprender cómo nuestra oferta se alineaba con el Benchmark de Seguridad de la Cadena de Suministro de Software de CIS. Una vez que el borrador inicial estuvo listo, entró en el proceso de consenso de CIS, donde la comunidad más amplia del Benchmark CIS pudo revisarlo y sugerir ediciones antes de su publicación."
gitlabcis es un paquete de Python® que audita un proyecto de GitLab contra el Benchmark CIS de GitLab del Center for Internet Security® (CIS). Incluye recomendaciones como código formateadas en YAML™.
Existe un esfuerzo mayor para añadir el Benchmark CIS como estándar de cumplimiento al Informe de Cumplimiento de Adherencia.
Durante el desarrollo de esta herramienta, los autores contribuyeron con 2 funciones al producto GitLab (#39):
[[TOC]]
| Descargo | Comentario |
|---|---|
| Esta herramienta asume que se está utilizando GitLab para todo |
|
| Esta herramienta no puede auditar todas las recomendaciones |
|
| Esta herramienta no ejecuta ninguna operación de escritura en su instancia, grupo o proyecto de GitLab. No se realizan acciones de escritura. |
|
| Este no es un producto oficial de GitLab |
|
gitlabcis requiere uno de los siguientes tokens:
Puede pasar el token como una opción o almacenarlo como una variable de entorno:
GITLAB_TOKEN - (opcional) Variable de entorno--token / -t - (opcional) opción de token de gitlabcisPuede pasar el token como una opción o almacenarlo como una variable de entorno:
GITLAB_OAUTH_TOKEN - (opcional) Variable de entorno--oauth-token / -ot - (opcional) opción de token de gitlabcisread_api.Hay varias formas de descargar el escáner. Consúltelas a continuación:
Instale gitlabcis desde pypi.org:
pip install gitlabcis
Instale gitlabcis desde el registro de paquetes:
pip install gitlabcis --index-url https://gitlab.com/api/v4/projects/57279821/packages/pypi/simple
Si aún no lo ha hecho, deberá agregar lo siguiente a su archivo .pypirc.
[gitlab]
repository = https://gitlab.com/api/v4/projects/57279821/packages/pypi
username = __token__
password = <your personal access token>
Instale gitlabcis desde el código fuente mediante un clon o desde nuestra página de versiones
# make a clone (or create a local fork) of the repo
git clone [email protected]:gitlab-security-oss/cis/gitlabcis.git
cd gitlabcis
make install
Se espera la siguiente sintaxis:
gitlabcis URL OPTIONS

Para generar un informe desde la terminal:
gitlabcis https://gitlab.example.com/path/to/project --token $TOKEN
Genere un informe json: (Usando la variable $GITLAB_TOKEN, no necesita especificar la opción --token)
gitlabcis \
https://gitlab.example.com/path/to/project \
-o results.json \
-f json
Para ejecutar un solo control:
gitlabcis \
https://gitlab.example.com/path/to/project \
-ids 1.2.3 # or multiple: 2.3.4 3.4.5 etc
Escanee todos los subgrupos y proyectos bajo una instancia o grupo (1 nivel de profundidad por defecto):
gitlabcis https://gitlab.example.com/path-to-group --nest