Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
GitMonitor — Uma forma de monitorar continuamente informações sensíveis que possam ser expostas no Github | Kitploit
Ferramentas/GitHubGitHub/talkaboutcybersecurity/gitmonitor
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesDetecção de Segredos
GitHubtalkaboutcybersecurity/gitmonitor

GitMonitor

Uma forma de monitorar continuamente informações sensíveis que possam ser expostas no Github

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
17240há 6 anosRevisado pelo Kitploit

GitMonitor

License: GPL v3

GitMonitor

Uma forma de monitorar continuamente informações sensíveis que podem ser expostas no Github

Resumo

Sei que existem muitas outras ferramentas disponíveis para encontrar informações sensíveis vazadas no Github, eu mesmo ainda uso algumas delas. No entanto, acredito que elas ainda carecem de algumas funcionalidades como:

  • Outras ferramentas são mais focadas em encontrar informações sensíveis que existem em um repositório que recebeu o endereço Git. Existem apenas algumas ferramentas semelhantes na época em que desenvolvi o GitMonitor, focadas em primeiro encontrar os repositórios com os quais você precisa se preocupar, encontrar todos os repositórios relevantes e depois verificar se informações sensíveis existem entre eles ou não.

  • Além de regras para verificar informações sensíveis, a ferramenta também precisa de regras para procurar repositórios de interesse. Os repositórios a serem considerados podem ser aqueles que contenham palavras-chave relacionadas à empresa ou ao projeto.

  • Se você é um caçador de recompensas (bug bounty), terá interesse em apenas alguns alvos por vez. No entanto, se você é um engenheiro de segurança de uma empresa, precisará saber quando um repositório relacionado à sua empresa ou projeto aparece e pode conter informações sensíveis. Esses repositórios podem aparecer em qualquer lugar no Github, com qualquer nome e postados por qualquer conta. Você também deve receber um alerta assim que tal repositório aparecer (monitoramento contínuo).

  • A ferramenta possui um mecanismo de relatório flexível.

Foi por isso que criei esta ferramenta - GitMonitor. O GitMonitor usa dois conjuntos diferentes de regras para encontrar o que você precisa. O conjunto de regras de busca irá procurar repositórios que podem estar relacionados à sua organização ou projetos internos, ou qualquer outra coisa, clonar os repositórios que correspondem para o ambiente local. Então, o conjunto de regras de filtragem sensível para verificar se existem informações sensíveis nesses repositórios. Finalmente, a ferramenta relatará via Slack. Você pode usar esta ferramenta com Cronjob para criar um sistema de monitoramento contínuo para rastrear informações sensíveis relacionadas à sua organização que vazaram no Github e receber os resultados via Slack.

Atualização 15 de junho de 2020: Atualizamos para a versão 1.0. Esta versão corrige alguns bugs para que o Gitmonitor funcione de forma estável. Recomendamos que você execute um git pull se estiver usando versões anteriores.

Funcionalidades

  • Usa dois conjuntos diferentes de regras, um conjunto de regras de busca (yaml) para procurar o repositório de interesse, e um conjunto de regras de filtro (regex) para verificar se esses contêineres de interesse contêm informações sensíveis. As Regras de Busca (yaml) e as Regras de Filtragem (regex) são definidas separadamente. Os usuários podem definir regras yaml e regex de forma fácil e intuitiva.

  • Conjunto de regras de busca: Você pode criar muitas regras diferentes usando diferentes arquivos yaml. As regras permitem definir de forma flexível como deseja procurar repositórios; você pode usar palavras-chave, ou palavras-chave associadas a linguagem, nome de arquivo e extensão, ou também pode definir para excluir repositórios da busca com base em linguagem, nome de arquivo ou extensão. As palavras-chave serão pesquisadas nos nomes dos repositórios, nos códigos dos repositórios e também nos commits.

  • Conjunto de regras de filtragem: Você pode adicionar ou modificar regex facilmente para encontrar informações sensíveis que possam existir em repositórios.

  • O primeiro repositório que corresponder ao conjunto de regras de busca será clonado para o ambiente local. Em seguida, o conjunto de regras de filtragem verificará se este repositório contém informações sensíveis. Após finalizar a verificação de informações sensíveis, o Gitmonitor registrará os resultados e excluirá automaticamente este repositório local para economizar espaço antes de continuar repetindo esse processo até que todos os repositórios relevantes tenham sido encontrados e verificados.

Working Diagram

Requisitos

  • Python3
  • Python3-pip.
  • Testado no Ubuntu 18.04 e MacOS. Acreditamos que o Gitmonitor pode funcionar bem em outros sistemas também.

Configuração

1. Instalar requisitos

root@kitploit:~
> python3 -m pip install -r requirements.txt

Por favor, certifique-se de ter o Pyyaml versão 5x ou superior instalado (pip3 install --ignore-installed PyYAML)

2. Certifique-se de ter configurado todas as informações necessárias no arquivo de configuração (config.ini)

A tabela a seguir explica o significado de cada chave no arquivo de configuração:

3. Defina as credenciais da conta do Github. Você tem 2 maneiras de fazer isso

  • Definir informações de credenciais em variáveis de ambiente:
root@kitploit:~
> export GIT_USERNAME=seu nome de usuário do Github
> export GIT_PASSWORD=sua chave pessoal ou senha do Github
  • Ou definir informações de credenciais no arquivo de configuração (Não recomendado):

    • Abra o arquivo config.ini.
    • Preencha as informações de credenciais nos valores das chaves user e password.

Exemplo de arquivo de configuração quando você define as informações de credenciais em variáveis de ambiente

Example config file

4. Escreva as regras (Regras de busca). Coloque suas regras no diretório rules

Você pode criar vários arquivos yaml diferentes, como o modelo de regra, para definir múltiplas palavras-chave. Um arquivo de regra se parecerá com a imagem abaixo:

Example rule file

5. Adicione mais expressões regulares ao arquivo libs/regex.py - Regras de filtragem sensível (Opcional)

6. Execute o Gitmonitor

root@kitploit:~
> python3 gitmonitor.py

7. Você pode agendar a execução automática da ferramenta usando Cronjob.

Por exemplo:

Example cronjob

A Fazer

  • Funcionalidade: Relatório via e-mail.
  • Funcionalidade: Enviar resultado para Elasticsearch.
  • Dev: Escrever setup.py
  • Dev: Escrever Dockerfile

Minha Equipe

  • Tony - Líder do Projeto
  • musashi137 - Desenvolvedor Principal

Agradecimentos Especiais

  • GitMAD pelo mecanismo de busca de informações sensíveis baseado em regex

Contribuindo

Muitas áreas deste projeto podem ser melhoradas e alteradas significativamente enquanto refatoramos o código atual e implementamos novas funcionalidades. Feedback com melhorias e pull requests da comunidade serão altamente apreciados e aceitos.

Em geral, seguimos o fluxo de trabalho Git 'fork-and-pull'.

  1. Fork o repositório no GitHub
  2. Clone o projeto para sua própria máquina
  3. Faça commit das alterações no seu próprio branch
  4. Envie seu trabalho de volta para o seu fork
  5. Envie um Pull Request para que possamos revisar suas alterações

NOTA: Certifique-se de mesclar as últimas alterações do 'upstream' antes de fazer um pull request!

Doar

Buy Me A Coffee

Baixar ferramenta
  • Relatório via Slack.

  • Esta ferramenta pode ser agendada por Cronjob para monitoramento contínuo.

  • ChaveDescrição
    userNome de usuário do Github - Deixe em branco se você configurou as credenciais do Github através de variáveis de ambiente
    passSenha do Github - Deixe em branco se você configurou as credenciais do Github através de variáveis de ambiente
    webhooksToken do Webhook de entrada para postar mensagens do GitMonitor no Slack
    ruleO diretório que contém o conjunto de regras de busca
    sourceO diretório para baixar o repositório
    logO diretório conterá o arquivo JSON que registra o status após cada varredura, esse arquivo JSON é usado para comparar resultados entre varreduras (para identificar novos repositórios)
    startDefine banner para início da varredura e banner para resultado da varredura do Conjunto de Regras de Filtragem Sensível - Será mostrado nos resultados enviados ao Slack
    endDefine banner para final da varredura e banner para resultado da varredura do Conjunto de Regras de Busca - Será mostrado nos resultados enviados ao Slack
    allDefine banner para mostrar todos os repositórios - Será mostrado nos resultados enviados ao Slack