Github Commiters Spy - Dimensionando licenças de SAST, SCA e IaC.

Last modified on September 6, 2026 • 3 min read • 542 words
Se você usa Github e precisa de ajuda no dimensionamento de licenças de soluções de análise estática, o GHCS pode oferecer um bom auxílio. 😉
Github Commiters Spy - Dimensionando licenças de SAST, SCA e IaC.

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 .

Github Commiters Spy
Github Commiters Spy

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 repo e user.
Github Personal Token - Permissões necessárias.
Github Personal Token - Permissões necessárias.

Como usar  

  1. Clone e acesse o repositório https://github.com/0xtiago/GithubCommittersSpy :

    git clone https://github.com/0xtiago/GithubCommittersSpy && cd GithubCommittersSpy
  2. Instale as dependências do script:

    pip install -r requirements.txt
  3. Renomeio o arquivo config_sample.yaml para config.yaml e configure o Personal Access Token do Github em github_token:

    github_token: "gh_XXXXXXXXXX"
  4. Crie um arquivo chamado repositories.txt e adicione a lista de todos os repositórios que deseja analisar, no seguinte formato:

    • Um repositório por linha;
    • Nos formatos owner/repo ou https://github.com/owner/repo.
  5. Agora é só executar o script passando com o argumento -d passando a quantidade de dias pregressos para análise:

    python gh_committers_spy.py -d 90
  6. 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

Checkmarx - Modelo de Licenciamento
Checkmarx - Modelo de Licenciamento

Snyk

Snyk - Modelo de Licenciamento
Snyk - Modelo de Licenciamento

Pontos de atenção  

Agradecimentos  

Algumas pessoas que contribuiram durante todo o processo de desenvolvimento e testes. ❤️

Referências  

👾

comments powered by Disqus
👾

Eternal student.