
Uno strumento per catturare tutti i segreti git sfruttando molteplici strumenti open source di ricerca git.
git-all-secrets è uno strumento in grado di:
La scansione viene eseguita da diversi strumenti open source come:
NOTA - È possibile aggiungere altri strumenti simili in futuro, se desiderato!
NOTA - La scansione può essere eseguita da tutti gli strumenti o da uno qualsiasi di essi specificando il flag toolName.
Se vengono utilizzati tutti gli strumenti per la scansione, l'output finale dello strumento combina l'output di tutti i file di tutti gli strumenti in un unico file di output consolidato.
Il modo più semplice per eseguire git-all-secrets è tramite Docker e consiglio vivamente di installare Docker se non lo hai già. Una volta installato Docker,
docker run --rm -it abhartiya/tools_gitallsecrets --help per comprendere i diversi flag che può accettare come input.docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<>. Puoi anche specificare uno strumento particolare da utilizzare per la scansione digitando qualcosa come docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=<>. Le opzioni sono thog e repo-supervisor.thogEntropy in questo modo - docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=thog -thogEntropy.docker ps -a.docker cp <container-id>:/root/results.txt .-token = Token di accesso personale di GitHub. Ne abbiamo bisogno perché le richieste non autenticate all'API di GitHub possono incontrare la limitazione della velocità molto presto!
-org = Nome dell'organizzazione da scansionare. Scansionerà tutti i repository pubblici nell'organizzazione + tutti i repository e i gist di tutti gli utenti nell'organizzazione. Se stai utilizzando un token di un utente che fa parte di questa organizzazione, clonerà e scannerà anche tutti i gist segreti appartenenti a quell'utente, così come tutti i repository privati in quell'organizzazione a cui l'utente ha accesso. Tuttavia, NON clonerà e scannerà alcun repository privato di questo utente appartenente a questa organizzazione. Per scansionare repository privati di utenti, utilizza il flag scanPrivateReposOnly con il flag user insieme alla chiave SSH montata su un volume.
-user = Nome dell'utente da scansionare. Scansionerà tutti i repository e i gist di questo utente. Se il token fornito è il token dell'utente, verranno clonati e scansionati anche i gist segreti. Ma verranno clonati e scansionati solo i repository pubblici. Per scansionare i repository privati di questo utente, utilizza il flag scanPrivateReposOnly con il flag user insieme alla chiave SSH montata su un volume.
-repoURL = URL HTTPS del repository da scansionare. Scansionerà solo questo repository. Per i repository pubblici, menzionare l'URL https del repository è sufficiente. Tuttavia, se desideri scansionare un repository privato, devi fornire l'URL ssh insieme alla chiave SSH montata su un volume e al flag scanPrivateReposOnly.
-gistURL = URL HTTPS del gist da scansionare. Scansionerà solo questo gist. Non esiste il concetto di gist pubblico o segreto finché hai l'URL. Anche se hai un gist segreto, se qualcuno conosce l'URL HTTPS del tuo gist segreto, può accedervi anche lui.
-output = Questo è il nome del file in cui verranno memorizzati tutti i risultati. Per impostazione predefinita, è results.txt.
-cloneForks = Questo è un flag booleano opzionale per clonare i fork dei repository dell'organizzazione e dell'utente. Per impostazione predefinita, è impostato su 0, cioè nessuna clonazione dei fork. Se i fork devono essere clonati, questo valore deve essere impostato su 1. Oppure, basta menzionare -cloneForks insieme ad altri flag.
-orgOnly = Questo è un flag booleano opzionale per saltare la clonazione dei repository utente appartenenti a un'organizzazione. Per impostazione predefinita, è impostato su 0, cioè comportamento normale. Se non si desidera scansionare i repository utente e solo i repository dell'organizzazione, questo valore deve essere impostato su 1. Oppure, basta menzionare -orgOnly insieme ad altri flag.
-toolName = Questo è un flag stringa opzionale per specificare quale strumento utilizzare per la scansione. Per impostazione predefinita, è impostato su all, cioè thog e repo-supervisor verranno entrambi utilizzati per la scansione. I valori sono thog o repo-supervisor.
-teamName = Nome del team dell'organizzazione che ha accesso ai repository privati per la scansione. Questo flag non è stato completamente testato, quindi non posso garantirne la funzionalità.
-scanPrivateReposOnly = Questo è un flag booleano opzionale per specificare se si desidera scansionare i repository utente privati o meno. Menzionarlo NON scannerà i repository utente pubblici. Inoltre, è necessario fornire la chiave SSH montando il volume sul container. Inoltre, funziona solo con il flag user, repoURL o org.
Quando il flag org viene menzionato insieme al flag scanPrivateReposOnly e senza il flag orgOnly, scannerà i repository pubblici E privati appartenenti a questa organizzazione a cui l'utente ha accesso (il cui token è fornito). Quindi continuerà a scansionare SOLO i repository privati dell'utente (il cui token è fornito). Infine, continuerà a scansionare tutti i gist pubblici e segreti di questo utente (il cui token è fornito). In sintesi, il flag scanPrivateReposOnly influisce realmente solo sui flag user e repoURL.
-enterpriseURL = Flag opzionale per fornire l'URL di GitHub Enterprise, se desideri scansionare repository enterprise. Dovrebbe essere qualcosa come https://github.org.com/api/v3 insieme alla chiave SSH montata sul container. Fare riferimento a scansione di GitHub Enterprise di seguito.
-threads = Il valore predefinito è 10. Serve per limitare il numero di thread se il tuo sistema non è abbastanza potente. Per la maggior parte dei casi, lasciarlo a 10 dovrebbe andare bene.