Github Commiters Spy - Dimensionando licenças de SAST, SCA e IaC.
Last modified on September 6, 2026 • 3 min read • 542 words
Introdução
O “ Github Committers Spy ” (GHCS) é uma ferramenta desenvolvida em Python 3 que te auxiliará a identificar a quantidade de desenvolvedores individuais em sua organização no Github, atendendo aos modelos atuais de licenciamento das principais fabricantes destas soluções. Você pode acessar o repositório do projeto através do link https://github.com/0xtiago/GithubCommittersSpy .
Motivações
O GHCS foi desenvolvido durante o período de testes e dimensionamento de solução de SAST (Static Application Security Testing) e SCA (Software Composition Analysis) em um dos projetos que sou responsável. Paralelamente, enquanto parte do time triava o caderno de testes, a outra parte (eu incluso) nos direcionamos a realizar o levantamento de desenvolvedores individuais nos projetos que entrariam no escopo de cobertura de alguma dessas soluções enterprise que estávamos avaliando.
Antes de partirmos para o desenvolvimento, tivemos algumas dificuldades no levantamento das seguintes informações:
- Lista de repositórios pertencentes a produtos críticos para o negócio;
- Mapeamento de desenvolvedores alocados nestes projeto.
A partir deste momento, resolvemos ir para o plano B, que era obter os dados brutos e fazer a análise por script (GHCS). Mas antes tivemos um pouco mais de trabalho…
- Levantamos a lista de todos os repositórios do Github de projetos em produção;
- Analisamos individualmente através de alguns padrões existentes, e filtramos quais eram os repositórios membros de produtos críticos para o negócio.
Com essas informações em mãos, partimos para o código.
Pré-requisitos
- Git
- Python 3 e PIP;
- Lista com as URLs dos repositório que deseja analisar;
- Um Personal Access Token do Github com os escopos
repoeuser.

Como usar
-
Clone e acesse o repositório https://github.com/0xtiago/GithubCommittersSpy :
git clone https://github.com/0xtiago/GithubCommittersSpy && cd GithubCommittersSpy -
Instale as dependências do script:
pip install -r requirements.txt -
Renomeio o arquivo
config_sample.yamlparaconfig.yamle configure o Personal Access Token do Github emgithub_token:github_token: "gh_XXXXXXXXXX" -
Crie um arquivo chamado
repositories.txte adicione a lista de todos os repositórios que deseja analisar, no seguinte formato:- Um repositório por linha;
- Nos formatos
owner/repoouhttps://github.com/owner/repo.
-
Agora é só executar o script passando com o argumento
-dpassando a quantidade de dias pregressos para análise:python gh_committers_spy.py -d 90
-
O script exibirá para você ao fim da execução a quantidade de committers individuais. As informações dos usuários e a quantidade de commits encontrados de cada um será exportado para o arquivo
commiters.csv.
Como esse tipo de informação em mãos, fica muito mais fácil dimensionar o licenciamento necessário para atender aos modelos de exemplo abaixo.
Checkmarx

Snyk

Pontos de atenção
-
Verifique se o token gerado no Github (Personal Access Token ) possui as permissões necessárias para o acesso em repositórios privados.
-
O script avalia apenas os commmits na branch default de cada repositório.
-
Cada repositório listado no arquivo
repositories.txtserá convertido para o formatoowner/repositorydurante o processo de verificações e parsings.
Agradecimentos
Algumas pessoas que contribuiram durante todo o processo de desenvolvimento e testes. ❤️
- Michelle Mesquita - https://github.com/michelleamesquita
- Murillo Rocha - https://github.com/6drocha
- Tiago “Kid” Machado - https://github.com/gar0t0
Referências
- GitHub REST API v3
- Requests: HTTP for Humans
- PyYAML Documentation
- Snyk Plans
- Checkmarx One Cloud Licence Types and Restrictions
- Veracode - Contributing developers - repository report
👾
