
Scripts de shell para clonar y reflejar repositorios Git, calcular diferencias y ejecutar gitleaks para detectar secretos ocultos en commits eliminados o reiniciados.
Este repositorio contiene scripts de shell que se pueden usar para descargar y analizar diferencias entre repositorios Git clonados y reflejados. Para más información sobre la peculiaridad subyacente en el comportamiento de Git, visite lea nuestra publicación en el blog.
Estos scripts clonarán una copia del repositorio Git dado, tanto como clon normal como con la opción reflejada ("--mirror"). Luego crearán un delta entre los dos, buscando encontrar las partes del repositorio que solo están disponibles en modo espejo. Finalmente, se ejecutará gitleaks para ver si hay secretos presentes en la porción delta, y se usará "git log" para crear un único archivo que contenga los cuerpos de los commits para que puedan ser analizados más fácilmente.
Tenga en cuenta que, dado que este script crea tres copias del repositorio, puede consumir mucho espacio en disco.
Puede probar estas herramientas en los siguientes dos repositorios de ejemplo:
Necesitará tener instalados Git, Python 3, GitLeaks y git-filter-repo. Aquí hay un ejemplo de cómo instalarlos en MacOS:
brew install git python3 gitleaks git-filter-repo
Puede ejecutar esto contra un repositorio de la siguiente manera:
git clone https://github.com/nightwatchcybersecurity/gitbleed_tools.git
cd gitbleed_tools
./gitbleed.sh https://github.com/nightwatchcybersecurity/gitbleed_tools.git example
También hay algunos scripts auxiliares que se pueden usar para escanear repositorios de GitHub y GitLab de la siguiente manera:
./gitbleed_gh.sh nightwatchcybersecurity/gitbleed_tools
./gitbleed_gl.sh nwcs/junit_ui_bug
Esto creará una carpeta de ejemplo que contiene tres subcarpetas:
También se crean tres archivos:
Utilice el rastreador de problemas de GitHub para reportar problemas o sugerir funciones: https://github.com/nightwatchcybersecurity/gitbleed_tools
También puede enviar un correo electrónico a research /at/ nightwatchcybersecurity [dot] com