
Scripts de shell para clonar e espelhar repositórios Git, calcular deltas e executar o gitleaks para detectar segredos ocultos em commits deletados ou resetados.
Este repositório contém scripts de shell que podem ser usados para baixar e analisar diferenças entre repositórios Git clonados e espelhados. Para mais informações sobre a peculiaridade subjacente no comportamento do Git, visite leia nosso post no blog.
Estes scripts clonarão uma cópia do repositório Git fornecido, tanto como clone regular quanto como opção espelhada ("--mirror"). Em seguida, criarão um delta entre os dois, buscando encontrar as partes do repositório que estão disponíveis apenas no modo espelhado. Por último, o gitleaks será executado para verificar se existem segredos na parte delta, e "git log" será usado para criar um arquivo único contendo os corpos dos commits para que possam ser analisados mais facilmente.
Por favor, note que como este script cria três cópias do repositório, ele pode consumir muito espaço em disco.
Você pode testar estas ferramentas nos dois repositórios de exemplo a seguir:
Você precisará ter Git, Python 3, GitLeaks e git-filter-repo instalados. Aqui está um exemplo de instalação no MacOS:
brew install git python3 gitleaks git-filter-repo
Você pode executar isso contra um repositório da seguinte forma:
git clone https://github.com/nightwatchcybersecurity/gitbleed_tools.git
cd gitbleed_tools
./gitbleed.sh https://github.com/nightwatchcybersecurity/gitbleed_tools.git example
Também existem alguns scripts auxiliares que podem ser usados para escanear repositórios GitHub e GitLab da seguinte forma:
./gitbleed_gh.sh nightwatchcybersecurity/gitbleed_tools
./gitbleed_gl.sh nwcs/junit_ui_bug
Isso criará uma pasta de exemplo contendo três subpastas:
Também são criados três arquivos:
Por favor, use o rastreador de issues do GitHub para relatar problemas ou sugerir funcionalidades: https://github.com/nightwatchcybersecurity/gitbleed_tools
Você também pode enviar email para research /at/ nightwatchcybersecurity [dot] com