
Un outil pour capturer tous les secrets git en exploitant plusieurs outils de recherche git open source
git-all-secrets est un outil qui peut :
Le scan est effectué par plusieurs outils open source tels que :
NOTE - D'autres outils de ce type peuvent être ajoutés à l'avenir, si désiré !
NOTE - Le scan peut être effectué par tous les outils ou l'un d'eux en spécifiant le drapeau toolName.
Si tous les outils sont utilisés pour le scan, la sortie finale de l'outil combine les sorties de tous les fichiers de tous les outils en un fichier de sortie consolidé.
Le moyen le plus simple d'exécuter git-all-secrets est via Docker et je recommande vivement d'installer Docker si vous ne l'avez pas déjà. Une fois Docker installé,
docker run --rm -it abhartiya/tools_gitallsecrets --help pour comprendre les différents drapeaux qu'il peut accepter en entrée.docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<>. Vous pouvez aussi spécifier un outil particulier pour le scan en tapant quelque chose comme docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=<>. Les options sont thog et repo-supervisor.thogEntropy comme ceci - docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=thog -thogEntropy.docker ps -a.docker cp <container-id>:/root/results.txt .-token = Jeton d'accès personnel Github. Nous en avons besoin car les requêtes non authentifiées à l'API Github peuvent atteindre la limite de débit assez rapidement !
-org = Nom de l'organisation à scanner. Cela scannera tous les dépôts publics de l'organisation + tous les dépôts et gists de tous les utilisateurs de l'organisation. Si vous utilisez un jeton d'un utilisateur qui fait partie de cette organisation, il clonera et scannera également tous les gists secrets appartenant à cet utilisateur ainsi que tous les dépôts privés de cette organisation auxquels l'utilisateur a accès. Cependant, il ne clonera et ne scannera PAS les dépôts privés de cet utilisateur appartenant à cette organisation. Pour scanner les dépôts privés des utilisateurs, veuillez utiliser le drapeau scanPrivateReposOnly avec le drapeau user ainsi que la clé SSH montée sur un volume.
-user = Nom de l'utilisateur à scanner. Cela scannera tous les dépôts et gists de cet utilisateur. Si le jeton fourni est le jeton de l'utilisateur, les gists secrets seront également clonés et scannés. Mais seuls les dépôts publics seront clonés et scannés. Pour scanner les dépôts privés de cet utilisateur, veuillez utiliser le drapeau scanPrivateReposOnly avec le drapeau user ainsi que la clé SSH montée sur un volume.
-repoURL = URL HTTPS du dépôt à scanner. Cela scannera uniquement ce dépôt. Pour les dépôts publics, mentionner l'URL https du dépôt suffit. Cependant, si vous souhaitez scanner un dépôt privé, vous devez fournir l'URL ssh avec la clé SSH montée sur un volume et le drapeau scanPrivateReposOnly.
-gistURL = URL HTTPS du gist à scanner. Cela scannera uniquement ce gist. Il n'y a pas de concept de gist public ou secret tant que vous avez l'URL. Même si vous avez un gist secret, si quelqu'un connaît l'URL HTTPS de votre gist secret, il peut y accéder aussi.
-output = C'est le nom du fichier où tous les résultats seront stockés. Par défaut, c'est results.txt.
-cloneForks = C'est un drapeau booléen optionnel pour cloner les forks des dépôts d'organisation et d'utilisateur. Par défaut, il est défini sur 0, c'est-à-dire pas de clonage des forks. Si les forks doivent être clonés, cette valeur doit être définie sur 1. Ou, mentionnez simplement -cloneForks avec les autres drapeaux.
-orgOnly = C'est un drapeau booléen optionnel pour ignorer le clonage des dépôts utilisateur appartenant à une organisation. Par défaut, il est défini sur 0, c'est-à-dire comportement normal. Si les dépôts utilisateur ne doivent pas être scannés et seulement les dépôts de l'organisation doivent être scannés, cette valeur doit être définie sur 1. Ou, mentionnez simplement -orgOnly avec les autres drapeaux.
-toolName = C'est un drapeau string optionnel pour spécifier quel outil utiliser pour le scan. Par défaut, il est défini sur all, c'est-à-dire que thog et repo-supervisor seront tous utilisés pour le scan. Les valeurs sont soit thog soit repo-supervisor.
-teamName = Nom de l'équipe de l'organisation qui a accès aux dépôts privés pour le scan. Ce drapeau n'est pas entièrement testé, donc je ne peux pas garantir la fonctionnalité.
-scanPrivateReposOnly = C'est un drapeau booléen optionnel pour spécifier si vous voulez scanner les dépôts privés utilisateur ou non. Mentionner cela ne scannera PAS les dépôts publics utilisateur. Et, vous devez fournir la clé SSH en montant le volume sur le conteneur. De plus, cela ne fonctionne qu'avec le drapeau user, le drapeau repoURL ou le drapeau org.
Lorsque le drapeau org est mentionné avec le drapeau scanPrivateReposOnly et sans le drapeau orgOnly, il scannera les dépôts PUBLICS ET PRIVÉS appartenant à cette organisation auxquels l'utilisateur a accès (dont le jeton est fourni). Il continuera ensuite à scanner UNIQUEMENT les dépôts privés de l'utilisateur (dont le jeton est fourni). Enfin, il continuera à scanner tous les gists publics et secrets de cet utilisateur (dont le jeton est fourni). En résumé, le drapeau scanPrivateReposOnly n'affecte vraiment que les drapeaux user et repoURL.
-enterpriseURL = Drapeau optionnel pour fournir l'URL Github Enterprise, si vous souhaitez scanner des dépôts d'entreprise. Cela devrait ressembler à quelque chose comme https://github.org.com/api/v3 avec la clé SSH montée sur le conteneur. Référez-vous à scanner Github Enterprise ci-dessous.
-threads = La valeur par défaut est 10. Cela permet de limiter le nombre de threads si votre système n'est pas assez puissant. Dans la plupart des cas, laisser cette valeur à 10 devrait convenir.