
Esegue audit dei progetti GitLab rispetto al CIS GitLab Benchmark tramite controlli API di sola lettura, generando report JSON su conformità e raccomandazioni di hardening.
Il 17 aprile 2024, GitLab™ ha pubblicato un articolo del blog in cui presenta il suo benchmark CIS (Center for Internet Security®) per GitLab, con l'obiettivo di migliorare la sicurezza del prodotto e offrire raccomandazioni di hardening ai clienti di GitLab. È possibile scaricare una copia dei benchmark pubblicati sul sito del Center for Internet Security®.
"Il CIS GitLab Benchmark è nato da una collaborazione tra CIS e i team Field Security e Product Management di GitLab. Dopo numerose conversazioni con i clienti, abbiamo compreso la necessità di un benchmark specifico che guidasse i loro sforzi di hardening. Abbiamo condotto una revisione approfondita del prodotto e della documentazione di GitLab per capire come la nostra offerta si allineasse al CIS Software Supply Chain Security Benchmark. Una volta pronta la bozza iniziale, questa è entrata nel processo di consensus di CIS, in cui la più ampia community dei benchmark CIS ha potuto esaminarla e suggerire modifiche prima della pubblicazione."
gitlabcis è un pacchetto che verifica un progetto GitLab rispetto al . Include formattate in .
È in corso un'iniziativa più ampia per aggiungere il CIS Benchmark come standard di conformità al Compliance Adherence Report.
Nel corso dello sviluppo di questo strumento, gli autori hanno contribuito con 2 funzionalità al prodotto GitLab (#39):
[[TOC]]
| Avvertenza | Commento |
|---|---|
| Questo strumento presuppone che si utilizzi GitLab per tutto |
|
| Questo strumento non può verificare ogni raccomandazione |
|
| Questo strumento non esegue alcuna operazione di scrittura sulla tua istanza, gruppo o progetto GitLab. Non vengono effettuate azioni di scrittura. |
|
| Questo non è un prodotto ufficiale GitLab |
|
gitlabcis richiede uno dei seguenti token:
Puoi passare il token come opzione oppure salvarlo come variabile d'ambiente:
GITLAB_TOKEN - (facoltativo) Variabile d'ambiente--token / -t - (facoltativo) opzione token di gitlabcisPuoi passare il token come opzione oppure salvarlo come variabile d'ambiente:
GITLAB_OAUTH_TOKEN - (facoltativo) Variabile d'ambiente--oauth-token / -ot - (facoltativo) opzione token di gitlabcisread_api.Ci sono diversi modi per scaricare lo scanner. Vedi di seguito:
Installa gitlabcis da pypi.org:
pip install gitlabcis
Installa gitlabcis dal registro pacchetti:
pip install gitlabcis --index-url https://gitlab.com/api/v4/projects/57279821/packages/pypi/simple
Se non l'hai già fatto, dovrai aggiungere quanto segue al tuo file .pypirc.
[gitlab]
repository = https://gitlab.com/api/v4/projects/57279821/packages/pypi
username = __token__
password = <your personal access token>
Installa gitlabcis dal sorgente tramite clone o dalla nostra pagina delle release
# 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
È prevista la seguente sintassi:
gitlabcis URL OPTIONS

Per generare un report dalla shell:
gitlabcis https://gitlab.example.com/path/to/project --token $TOKEN
Genera un report json: (Usando la variabile $GITLAB_TOKEN, non è necessario specificare l'opzione --token)
gitlabcis \
https://gitlab.example.com/path/to/project \
-o results.json \
-f json
Per eseguire un singolo controllo:
gitlabcis \
https://gitlab.example.com/path/to/project \
-ids 1.2.3 # or multiple: 2.3.4 3.4.5 etc
Analizza tutti i sottogruppi e i progetti all'interno di un'istanza o di un gruppo (1 livello di profondità per impostazione predefinita):
gitlabcis https://gitlab.example.com/path-to-group --nest
Analizza tutti i sottogruppi e i progetti fino a 2 livelli di profondità, scrivendo file JSON per entità in ./results/:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 2 \
--output-dir results \
-f json
Analizza con profondità illimitata e un prefisso per i nomi dei file:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 0 \
--prefix "audit_" \
--output-dir results \
-f json
Consulta la directory documentazione (./docs) di gitlabcis - Manca qualcosa? Sentiti libero di contribuire con una nuova issue.
gitlabcis è stato pubblicato con licenza MIT; è possibile consultarla nel file ./LICENSE.
Vedi il ./CHANGELOG.md per maggiori informazioni.
Consulta la sezione iniziale del documento di contribuzione (CONTRIBUTING.md) per il codice di condotta.
Consulta il nostro documento security policy (docs/SECURITY.md) che spiega come segnalare una vulnerabilità.
Vuoi contribuire? - Fantastico! Dai un'occhiata al documento di contribuzione (CONTRIBUTING.md) per maggiori informazioni.