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
2062561 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.)
Scarica lo strumento
  • 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.