
Audite les projets GitLab par rapport au CIS GitLab Benchmark via des vérifications d'API en lecture seule, générant des rapports JSON sur la conformité et des recommandations de durcissement.
Le 17 avril 2024, GitLab™ a publié un article de blog présentant son benchmark GitLab du Center for Internet Security® (CIS). L'objectif est d'améliorer la sécurité du produit et d'offrir des recommandations de durcissement aux clients de GitLab. Vous pouvez télécharger une copie des benchmarks publiés sur le site Web du Center for Internet Security®.
"Le benchmark CIS GitLab est né d'une collaboration entre le CIS et les équipes Field Security et Product Management de GitLab. Après de nombreuses discussions avec des clients, nous avons compris la nécessité d'un benchmark spécifique qui guiderait leurs efforts de durcissement. Nous avons mené une analyse approfondie du produit et de la documentation de GitLab pour comprendre comment notre offre correspondait au benchmark de sécurité de la chaîne d'approvisionnement logicielle du CIS. Une fois la première version prête, elle est entrée dans le processus de consensus du CIS, où la communauté plus large du benchmark CIS a pu l'examiner et suggérer des modifications avant la publication."
gitlabcis est un package qui audite un projet GitLab par rapport au . Il inclut des formatées en .
Un effort plus large vise à ajouter le benchmark CIS comme norme de conformité au Rapport de conformité (Compliance Adherence Report).
Au cours du développement de cet outil, les auteurs ont contribué 2 fonctionnalités au produit GitLab (#39) :
[[TOC]]
| Avertissement | Commentaire |
|---|---|
| Cet outil suppose que vous utilisez GitLab pour tout |
|
| Cet outil ne peut pas auditer chaque recommandation |
|
| Cet outil n'exécute aucune opération d'écriture sur votre instance, groupe ou projet GitLab. Aucune action d'écriture n'est effectuée. |
|
| Ceci n'est pas un produit officiel de GitLab |
|
gitlabcis nécessite l'un des jetons suivants :
Vous pouvez soit passer le jeton en option, soit le stocker dans une variable d'environnement :
GITLAB_TOKEN - (facultatif) Variable d'environnement--token / -t - (facultatif) option de jeton de gitlabcisVous pouvez soit passer le jeton en option, soit le stocker dans une variable d'environnement :
GITLAB_OAUTH_TOKEN - (facultatif) Variable d'environnement--oauth-token / -ot - (facultatif) option de jeton de gitlabcisread_api.Il existe plusieurs façons de télécharger le scanner. Veuillez les consulter ci-dessous :
Installez gitlabcis depuis pypi.org :
pip install gitlabcis
Installez gitlabcis depuis le registre de paquets :
pip install gitlabcis --index-url https://gitlab.com/api/v4/projects/57279821/packages/pypi/simple
Si ce n'est pas déjà fait, vous devrez ajouter ce qui suit à votre fichier .pypirc.
[gitlab]
repository = https://gitlab.com/api/v4/projects/57279821/packages/pypi
username = __token__
password = <your personal access token>
Installez gitlabcis à partir des sources via un clone, ou via notre page des versions
# 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
La syntaxe attendue est la suivante :
gitlabcis URL OPTIONS

Pour générer un rapport depuis le shell :
gitlabcis https://gitlab.example.com/path/to/project --token $TOKEN
Générez un rapport json : (En utilisant la variable $GITLAB_TOKEN, vous n'avez pas besoin de préciser l'option --token)
gitlabcis \
https://gitlab.example.com/path/to/project \
-o results.json \
-f json
Pour exécuter un contrôle unique :
gitlabcis \
https://gitlab.example.com/path/to/project \
-ids 1.2.3 # or multiple: 2.3.4 3.4.5 etc
Analysez tous les sous-groupes et projets d'une instance ou d'un groupe (1 niveau de profondeur par défaut) :
gitlabcis https://gitlab.example.com/path-to-group --nest
Analysez tous les sous-groupes et projets jusqu'à 2 niveaux de profondeur, en écrivant des fichiers JSON par entité dans ./results/ :
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 2 \
--output-dir results \
-f json
Analysez avec une profondeur illimitée et un préfixe de nom de fichier :
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 0 \
--prefix "audit_" \
--output-dir results \
-f json
Consultez le répertoire documentation (./docs) de gitlabcis - Quelque chose manque ? N'hésitez pas à contribuer en créant une nouvelle issue.
gitlabcis a été publié sous la licence MIT, consultable dans le fichier ./LICENSE.
Consultez le fichier ./CHANGELOG.md pour plus d'informations.
Consultez la section d'en-tête du document de contribution (CONTRIBUTING.md) pour le code de conduite.
Consultez notre document politique de sécurité (docs/SECURITY.md) qui décrit comment signaler une vulnérabilité.
Vous voulez contribuer ? - Fantastique ! Consultez le document de contribution (CONTRIBUTING.md) pour plus d'informations.