Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gitlab-watchman — Trovare segreti esposti e dati personali in GitLab | Kitploit
Strumenti/GitHubGitHub/papermtn/gitlab-watchman
Scanner di VulnerabilitàAnalisi del CodiceEsfiltrazione DatiRaccolta InformazioniDevSecOpsRilevamento Segreti
GitHubpapermtn/gitlab-watchman

gitlab-watchman

Trovare segreti esposti e dati personali in GitLab

Vedi Repository
206251 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

GitLab Watchman

Compatibile con Python 2.7 e 3 Versione PyPI Licenza: MIT

Informazioni su GitLab Watchman

GitLab Watchman è un'applicazione che utilizza l'API di GitLab per rilevare segreti esposti e dati personali. Enumera inoltre l'istanza GitLab per eventuali informazioni utili.

Funzionalità

Rilevamento di segreti

Cerca in GitLab progetti condivisi internamente e controlla:

  • Codice
  • Commit
  • Pagine wiki
  • Problemi
  • Richieste di merge
  • Milestone
  • Note
  • Snippet

Per i seguenti dati:

  • Chiavi GCP e file di account di servizio
  • Chiavi AWS
  • Chiavi Azure e file di account di servizio
  • Chiavi API di Google
  • Token API Slack e webhook
  • Chiavi private (SSH, PGP, qualsiasi altra chiave privata varia)
  • Token esposti (Bearer token, access token, client_secret, ecc.)
  • File di configurazione S3
  • Token per servizi come Heroku, PayPal e altro
  • Password in chiaro
  • e altro
Ricerca basata sul tempo

Puoi eseguire GitLab Watchman per cercare risultati risalenti fino a:

  • 24 ore
  • 7 giorni
  • 30 giorni
  • Sempre

Ciò significa che dopo una scansione approfondita, puoi programmare GitLab Watchman per eseguirlo regolarmente e ricevere solo i risultati del periodo di tempo scelto.

Enumerazione

GitLab Watchman può enumerare informazioni potenzialmente utili da un'istanza GitLab:

  • Metadati dell'istanza
  • Informazioni sull'utente/token chiamante
  • Esporta tutti gli utenti in un file CSV
  • Esporta tutti i progetti in un file CSV
  • Esporta tutti i gruppi in un file CSV

Firme

GitLab Watchman utilizza firme YAML personalizzate per rilevare corrispondenze in GitLab. Queste firme vengono scaricate dal repository centrale Watchman Signatures. Slack Watchman aggiorna automaticamente la propria base di firme in fase di esecuzione per assicurarsi di utilizzare le firme più recenti per rilevare segreti.

Soppressione delle firme

Puoi definire le firme che desideri disabilitare durante l'esecuzione di GitLab Watchman aggiungendo i loro ID alla sezione disabled_signatures del file watchman.conf. Ad esempio:

root@kitploit:~
gitlab_watchman:
  disabled_signatures:
    - tokens_generic_bearer_tokens
    - tokens_generic_access_tokens

Puoi trovare l'ID di una firma nei singoli file YAML nel repository Watchman Signatures.

Registrazione

GitLab Watchman offre le seguenti opzioni di registrazione:

  • Stdout leggibile dal terminale
  • JSON su Stdout

GitLab Watchman utilizza per impostazione predefinita la registrazione stdout leggibile dal terminale se non viene fornita alcuna opzione. Questo è progettato per essere più facile da leggere per gli umani.

È disponibile anche la registrazione in formato JSON, ideale per l'importazione in un SIEM o altre piattaforme di analisi dei log.

La registrazione in formato JSON può essere facilmente reindirizzata a un file come segue:

root@kitploit:~
gitlab-watchman --timeframe a --all --output json >> gitlab_watchman_log.json 

Requisiti

Versioni di GitLab

GitLab Watchman utilizza l'API v4 e funziona con le versioni di GitLab Enterprise Edition:

  • 13.0 e successive - Sì

  • GitLab.com - Sì

  • 12.0 - 12.10 - Forse, non testato ma se utilizza la v4 dell'API potrebbe funzionare

Licenza GitLab ed Elasticsearch

Per cercare negli ambiti:

  • blobs
  • wiki_blobs
  • commits

L'istanza GitLab deve avere Elasticsearch configurato e deve essere in esecuzione Enterprise Edition con almeno una licenza GitLab Starter o Bronze.

Token di accesso personale GitLab

Per eseguire GitLab Watchman, avrai bisogno di un token di accesso personale GitLab.

Puoi creare un token di accesso personale nell'interfaccia grafica di GitLab tramite Impostazioni -> Token di accesso -> Aggiungi un token di accesso personale

Il token necessita dell'autorizzazione per i seguenti ambiti:

root@kitploit:~
api

Nota: I token di accesso personale agiscono per conto dell'utente che li crea, quindi ti suggerisco di creare un token utilizzando un account di servizio, altrimenti l'app avrà accesso ai tuoi repository privati.

URL GitLab

Devi anche fornire l'URL della tua istanza GitLab.

Fornitura di token e URL

GitLab Watchman recupererà il token e l'URL di GitLab dalle variabili d'ambiente GITLAB_WATCHMAN_TOKEN e GITLAB_WATCHMAN_URL.

File watchman.conf

Le opzioni di configurazione possono essere passate in un file chiamato watchman.conf che deve essere salvato nella tua home directory. Il file deve seguire il formato YAML e dovrebbe apparire come segue:

root@kitploit:~
gitlab_watchman:
  disabled_signatures:
    - tokens_generic_bearer_tokens
    - tokens_generic_access_tokens

GitLab Watchman cercherà questo file in fase di esecuzione e utilizzerà le opzioni di configurazione da lì.

Installazione

Puoi installare l'ultima versione stabile tramite pip:

python3 -m pip install gitlab-watchman

Oppure compila dal sorgente. Scarica i file sorgente della release, quindi dalla directory principale del repository esegui:

root@kitploit:~
python3 -m build
python3 -m pip install --force-reinstall dist/*.whl

Immagine Docker

GitLab Watchman è anche disponibile su Docker Hub come immagine Docker:

docker pull papermountain/gitlab-watchman:latest

Puoi quindi eseguire GitLab Watchman in un contenitore, assicurandoti di passare le variabili d'ambiente richieste:

root@kitploit:~
// help
docker run --rm papermountain/gitlab-watchman -h

// scan all
docker run --rm -e GITLAB_WATCHMAN_TOKEN=abc123 -e GITLAB_WATCHMAN_URL=https://example.gitlab.com papermountain/gitlab-watchman --timeframe a --all
docker run --rm --env-file .env papermountain/gitlab-watchman --timeframe a --all

Utilizzo

GitLab Watchman verrà installato come comando globale, utilizzalo come segue:

root@kitploit:~
usage: gitlab-watchman [-h] --timeframe {d,w,m,a} [--output {json,stdout}] [--version] [--all] [--blobs] [--commits] [--wiki-blobs] [--issues]
                   [--merge-requests] [--milestones] [--notes] [--snippets] [--enumerate] [--debug] [--verbose]

Finding exposed secrets and personal data in GitLab

options:
  -h, --help            show this help message and exit
  --output {json,stdout}, -o {json,stdout}
                        Where to send results
  --version, -v         show program's version number and exit
  --all, -a             Find everything
  --blobs, -b           Search code blobs
  --commits, -c         Search commits
  --wiki-blobs, -w      Search wiki blobs
  --issues, -i          Search issues
  --merge-requests, -mr
                        Search merge requests
  --milestones, -m      Search milestones
  --notes, -n           Search notes
  --snippets, -s        Search snippets
  --enumerate, -e       Enumerate this GitLab instance for users, groups, projects.Output will be saved to CSV files
  --debug, -d           Turn on debug level logging
  --verbose, -V         Turn on more verbose output for JSON logging. This includes more fields, but is larger

required arguments:
  --timeframe {d,w,m,a}
                        How far back to search: d = 24 hours w = 7 days, m = 30 days, a = all time

Altre app Watchman

Potresti essere interessato alle altre app della famiglia Watchman:

  • Slack Watchman
  • Slack Watchman for Enterprise Grid
  • GitHub Watchman

Licenza

Il codice sorgente di questo progetto è rilasciato sotto la GNU General Public Licence. Questo progetto non è associato a GitLab.

Scarica lo strumento