
Una herramienta para capturar todos los secretos de git aprovechando múltiples herramientas de búsqueda de git de código abierto.
git-all-secrets es una herramienta que puede:
El escaneo se realiza mediante múltiples herramientas de código abierto como:
NOTA: Se pueden agregar más herramientas en el futuro, si se desea.
NOTA: El escaneo se puede realizar con todas las herramientas o con cualquiera de ellas especificando la bandera toolName.
Si se utilizan todas las herramientas para escanear, la salida final de la herramienta combina la salida de todos los archivos de todas las herramientas en un único archivo de salida consolidado.
La forma más fácil de ejecutar git-all-secrets es mediante Docker y recomiendo encarecidamente instalar Docker si aún no lo tiene. Una vez que tenga Docker instalado,
docker run --rm -it abhartiya/tools_gitallsecrets --help para comprender las diferentes banderas que puede tomar como entrada.docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<>. También puede especificar una herramienta en particular para usar en el escaneo escribiendo algo como docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=<>. Las opciones son thog y repo-supervisor.thogEntropy de esta manera: docker run -it abhartiya/tools_gitallsecrets -token=<> -org=<> -toolName=thog -thogEntropy.docker ps -a.docker cp <container-id>:/root/results.txt .-token = Token de acceso personal de GitHub. Lo necesitamos porque las solicitudes no autenticadas a la API de GitHub pueden alcanzar el límite de velocidad bastante rápido.
-org = Nombre de la organización a escanear. Esto escaneará todos los repos públicos en la organización + todos los repos y gists de todos los usuarios en la org. Si está utilizando un token de un usuario que es parte de esta org, también clonará y escaneará todos los gists secretos pertenecientes a ese usuario, así como todos los repos privados en esa org a los que el usuario tenga acceso. Sin embargo, NO clonará ni escaneará ningún repositorio privado de este usuario que pertenezca a esta org. Para escanear repositorios privados de usuarios, use la bandera scanPrivateReposOnly con la bandera user junto con la clave SSH montada en un volumen.
-user = Nombre del usuario a escanear. Esto escaneará todos los repos y gists de este usuario. Si el token proporcionado es el token del usuario, también se clonarán y escanearán los gists secretos. Pero solo se clonarán y escanearán los repos públicos. Para escanear repositorios privados de este usuario, use la bandera scanPrivateReposOnly con la bandera user junto con la clave SSH montada en un volumen.
-repoURL = URL HTTPS del repositorio a escanear. Esto escaneará solo este repositorio. Para repos públicos, mencionar la URL https del repositorio será suficiente. Sin embargo, si desea escanear un repositorio privado, debe proporcionar la URL ssh junto con la clave SSH montada en un volumen y la bandera scanPrivateReposOnly.
-gistURL = URL HTTPS del gist a escanear. Esto escaneará solo este gist. No existe el concepto de gist público o secreto siempre que tenga la URL. Incluso si tiene un gist secreto, si alguien conoce la URL HTTPS de su gist secreto, también puede acceder a él.
-output = Este es el nombre del archivo donde se almacenarán todos los resultados. Por defecto, es results.txt.
-cloneForks = Esta es una bandera booleana opcional para clonar forks de repos de organizaciones y usuarios. Por defecto, está establecida en 0, es decir, no se clonan forks. Si se deben clonar forks, este valor debe establecerse en 1. O simplemente mencione -cloneForks junto con otras banderas.
-orgOnly = Esta es una bandera booleana opcional para omitir la clonación de repositorios de usuarios que pertenecen a una org. Por defecto, está establecida en 0, es decir, comportamiento normal. Si no se deben escanear los repos de usuario y solo se deben escanear los repos de la org, este valor debe establecerse en 1. O simplemente mencione -orgOnly junto con otras banderas.
-toolName = Esta es una bandera de cadena opcional para especificar qué herramienta usar para el escaneo. Por defecto, está establecida en all, es decir, se usarán thog y repo-supervisor para el escaneo. Los valores son thog o repo-supervisor.
-teamName = Nombre del equipo de la organización que tiene acceso a repositorios privados para escanear. Esta bandera no está completamente probada, por lo que no puedo garantizar su funcionalidad.
-scanPrivateReposOnly = Esta es una bandera booleana opcional para especificar si desea escanear repositorios privados de usuario o no. Mencionar esto NO escaneará los repositorios públicos de usuario. Y debe proporcionar la clave SSH montando el volumen en el contenedor. Además, esto solo funciona con la bandera user, la bandera repoURL o la bandera org.
Cuando se menciona la bandera org junto con la bandera scanPrivateReposOnly y sin la bandera orgOnly, escaneará los repos públicos Y privados que pertenecen a esta org a los que el usuario tenga acceso (cuyo token se proporciona). Luego continuará escaneando SOLO los repositorios privados del usuario (cuyo token se proporciona). Finalmente, continuará escaneando todos los gists públicos y secretos de este usuario (cuyo token se proporciona). En resumen, la bandera scanPrivateReposOnly solo afecta realmente a las banderas user y repoURL.
-enterpriseURL = Bandera opcional para proporcionar la URL de Github Enterprise, si desea escanear repositorios empresariales. Debe ser algo como https://github.org.com/api/v3 junto con la clave SSH montada en el contenedor. Consulte escaneo de github enterprise a continuación.
-threads = El valor predeterminado es 10. Esto es para limitar el número de hilos si su sistema no es lo suficientemente potente. En la mayoría de los casos, dejarlo en 10 debería estar bien.