Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gitgalaxy — Motor de grafo de conhecimento heurístico sem AST para inteligência profunda de repositórios e verificação de segurança zero-trust. Integra-se como um componente GitLab CI/CD, bloqueia código hostil e exporta telemetria SARIF para o GitLab Security Dashboard. | Kitploit
Ferramentas/GitLabGitLab/squid-protocol1/gitgalaxy
Scanners de VulnerabilidadesAnálise Estática de Código (SAST)Análise de CódigoAnálise de MalwareDevSecOpsDetecção de Segredos
GitLabsquid-protocol1/gitgalaxy

gitgalaxy

Motor de grafo de conhecimento heurístico sem AST para inteligência profunda de repositórios e verificação de segurança zero-trust. Integra-se como um componente GitLab CI/CD, bloqueia código hostil e exporta telemetria SARIF para o GitLab Security Dashboard.

Ver Repositório
34há 27 diasAinda não revisado

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
# GitGalaxy

**Inteligência estrutural em escala de repositório sem compilação.**

[Docs](https://squid-protocol.github.io/gitgalaxy/) ·
[Visualizer](https://gitgalaxy.io/) ·
[Language Crucible](https://github.com/squid-protocol/language-crucible) ·
[Keyword Rosetta](https://github.com/squid-protocol/keyword-rosetta) ·
[Raw Output](https://github.com/squid-protocol/gitgalaxy-raw-output)

**1 scan · 97 sinais estruturais · 50+ linguagens · sem compilação · 17
categorias de exposição a risco · 6 saídas**

## A versão curta

O GitGalaxy constrói um **grafo estrutural agnóstico de linguagem de um
repositório inteiro** diretamente a partir do texto-fonte — sem build, sem
toolchain por linguagem.

Ele foi projetado para repositórios poliglotas, parcialmente quebrados, legados,
com muitos fornecedores ou, de outra forma, difíceis de analisar por meio de um
fluxo de trabalho que prioriza o build:

``` text
Go + C++ + Python + Java + Bash + YAML
+ generated code + vendored code + legacy code
+ half-migrated modules + broken dependencies
```

Em vez de um parser separado por linguagem, o GitGalaxy extrai um vocabulário
comum de **assinaturas estruturais** — funções, classes, argumentos,
fluxo de controle, mutação de estado, I/O, APIs, dependências — e os normaliza
em um modelo de repositório determinístico que alimenta análise de arquitetura,
priorização de exposição a riscos, geração de SBOM, refatoração e análise de
propriedade, contexto de base de código orientado a IA e gates de CI/CD.

> **Tese central:** a análise completa da linguagem nem sempre é necessária para
> recuperar informações estruturais altamente úteis em escala de repositório.

Como essa tese é testada — contra Tree-sitter e Ctags, contra um corpus de
controle plantado, e em seguida contra o histórico do Git — está resumido em
[Precisão, medida](#accuracy-measured) abaixo e detalhado por completo em
[o programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md).

------------------------------------------------------------------------

## O que uma varredura oferece

Um comando:

``` bash
pip install gitgalaxy
galaxyscope path/to/repo
```

Seis visões coordenadas da mesma varredura determinística:

| Saída | Finalidade |
|---|---|
| **Resumo de arquitetura para LLM** | Contexto compacto orientado a máquina/agente (abaixo) |
| **SARIF** | Integração com CI/painel de segurança |
| **CycloneDX SBOM** | Inventário/conformidade de dependências |
| **SQLite** | Grafo de conhecimento do repositório consultável |
| **Dados de auditoria JSON** | Fluxos de trabalho forenses/automação |
| **Dados de visualização 3D** | Topologia interativa do repositório |

### O resumo de arquitetura

O relatório principal é um único resumo em Markdown criado para entregar a um engenheiro — ou
a um agente de IA — um modelo mental funcional de um repositório que nunca viram. É um
pacote autocontido: as equações de risco são impressas no próprio relatório,
e um prompt de interpretação incorporado permite que qualquer LLM o narre sem
alucinar o que os números significam. As seções cobrem o estado macro e a composição
de linguagens, topologia de rede (modularidade, pontos de articulação, densidade
cíclica), pontos de estrangulamento de dependências, as funções e arquivos mais pesados,
assinaturas estruturais por arquivo com raio de impacto do PageRank, listas de acertos de risco
direcionado e cumulativo, auditorias de cadeia de suprimentos e alvos de refatoração classificados por volatilidade e
centralização de autoria — além de uma lista itemizada de cada arquivo que ele *recusou*
escanear, e por quê.

Dois exemplos, escaneados em 2026-08-31 com o motor atual. Ambos os repositórios
são públicos — clone qualquer um e execute `galaxyscope --llm-only <path>` para reproduzir
o resumo completo:

**curl** — 4.250 artefatos, 696 escaneados, 112.653 LOC em C, Perl, Python,
Shell, M4 e Makefile. O resumo classifica `src/tool_setup.h` como o principal
pilar estrutural (80 conexões de entrada) e coloca uma função *Perl* —
`APPEND_imap` em `tests/ftpserver.pl`, Impacto 2135, 1.672 LOC — no topo da
lista de acertos de funções de todo o repositório, no mesmo ranking que o código C. Esse
grafo multilinguagem é o produto: um conjunto de sinais comparáveis em todas as
linguagens do repositório. A ressalva honesta no mesmo resumo: apenas 16,4% dos
artefatos foram escaneados — o filtro de ingestão descarta binários, código gerado
e dados de teste agressivamente, e a §5 do resumo itemiza cada exclusão por
extensão e motivo.

**cics-genapp** (exemplo CICS COBOL/DB2 da IBM) — 92,1% escaneado: 44 programas
COBOL, 29 jobs JCL. A lista de acertos cumulativa da superfície estrutural lidera com
`base/src/lgupdb01.cbl` (superfície de mutação ~100%, carga de complexidade 92%), e o
parágrafo mais pesado do repositório é `UPDATE-POLICY-DB2-INFO` — a lógica de
bloqueio de linha `SELECT FOR UPDATE`, que é exatamente onde um mantenedor desse programa
olharia primeiro. O mesmo resumo também mostra uma limitação claramente: em uma
arquitetura plana sem grafo de importação real, a lista de "pilares estruturais"
degenera para arquivos sem conexões, e o relatório diz para verificar as
contagens de conexões antes de confiar nela.

Centenas de resumos não editados de repositórios selecionados independentemente estão
disponíveis em
[gitgalaxy-raw-output](https://github.com/squid-protocol/gitgalaxy-raw-output);
o resumo de auto-varredura sempre atual deste próprio repositório está em
[`docs/gitgalaxy_architecture_brief.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/gitgalaxy_architecture_brief.md).

### Um grafo, muitos consumidores

| Consumidor | Pergunta |
|---|---|
| Arquitetura | Do que este repositório é feito? |
| Análise estrutural | Onde estão as funções, classes, APIs, dependências e estruturas de controle? |
| Perfil de Superfície Estrutural (antiga exposição de risco) | Onde um determinado padrão estrutural/de conteúdo está concentrado? |
| Refatoração | Quais arquivos são complexos, de alta rotatividade ou críticos? |
| Cadeia de suprimentos | Quais dependências existem fisicamente em disco? |
| Contexto de IA | Qual arquitetura e relacionamentos um agente deve conhecer? |
| Migração de legado | Onde estão as unidades estruturais a transformar? |
| Análise histórica | Como a exposição medida muda à medida que o repositório evolui? |

![Pipeline de arquitetura do GitGalaxy](https://assets.kitploit.com/production/public/readmes/7003/c082f81cf091b2c568775d3ffcbbc143348e16b78fb59e3021e26f94d1df624c.png)

------------------------------------------------------------------------

## Precisão, medida

Dois programas de medição permanentes sustentam as afirmações acima, e um terceiro, para os
grafos de dependência e chamadas, está em andamento. A narrativa completa —
metodologia, veredictos, limites e o que vem a seguir — está em
[o programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md); este é o resumo.

### Validação estrutural: GitGalaxy vs Tree-sitter vs Ctags

O GitGalaxy é comparado com **Tree-sitter e Universal Ctags** no
corpus fixado [Language Crucible](https://github.com/squid-protocol/language-crucible)
— 24 das 45 linguagens recebem as três ferramentas, 13 outras recebem duas, e cada
divergência é investigada contra o código-fonte real e registrada com um veredicto
(200 de 201 formas de discrepância registradas validadas). Nesse corpus, a precisão
de funções validadas do GitGalaxy é de 100% em todas as 31 linguagens comparáveis ao tree-sitter,
e ele nunca é a ferramenta considerada errada em uma classe ou
divergência de argumento validada. O limite: três alvos estruturais, um corpus fixo —
não "analisa com a mesma precisão que uma AST" em geral.

![Tri-comparison](https://gitlab.com/squid-protocol1/gitgalaxy/-/raw/main/docs/self_scan/tri_comparison_chart.svg)

### Validação de grafo: importações e chamadas (em andamento)

O raio de impacto, o PageRank e os "pilares estruturais" vêm do **grafo de importação**. As
classificações em nível de função vêm do **grafo de chamadas**. Nenhum dos grafos é medido em todas as
linguagens ainda, e o gráfico abaixo diz quais são:
- Linguagens medidas mostram precisão e recall com n.
- Cada linguagem ainda não medida é listada por nome.

Em 2026-09-26, de 59 linguagens:
- **O grafo de importação é medido em 20.** As arestas do motor são verificadas contra as próprias
  declarações de importação de cada linguagem em repositórios reais fixados
  ([`import_graph_accuracy.py`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/tools/import_graph_accuracy.py)).
- **Nomes de chamadas são medidos em 11**, contra o tree-sitter.
- **A resolução de chamadas é medida em 3**, contra um analisador de referência:
  - Python, vs pyan3: 99,8% de precisão em 1.806 links julgados, 51,6% de recall;
  - TypeScript, vs o verificador de tipos TypeScript 6.0.2: 99,9% de precisão em 1.520 links julgados,
    57,1% de recall;
  - Java, vs scip-java (resolução do próprio javac): 92,7% de precisão em 3.474 links julgados,
    41,0% de recall. Uma chamada a um método sobrecarregado só é vinculada quando sua contagem de argumentos seleciona
    uma sobrecarga ([#3835](https://github.com/squid-protocol/gitgalaxy/issues/3835)).

  Um link de chamada, quando feito, geralmente está correto, mas cerca de metade ou mais das chamadas ficam
  sem vínculo. Portanto, o fan-in e o PageRank em nível de função são um limite inferior.

Os limites:
- Os grafos das outras 38 linguagens são construídos da mesma forma, mas **não são medidos**.
- Várias linguagens medidas dependem de um repositório com menos de 100 importações. O gráfico esmaece
  essas.
- Um `*` marca um número com divergências ainda aguardando veredicto contra o código-fonte.

O plano para fechar essas lacunas é a
[epic #3772](https://github.com/squid-protocol/gitgalaxy/issues/3772).

![Cobertura de precisão do grafo](https://gitlab.com/squid-protocol1/gitgalaxy/-/raw/main/docs/self_scan/graph_coverage_chart.svg)

### Consistência entre linguagens: o corpus de controle Keyword Rosetta

O programa mais recente faz a pergunta oposta: **o GitGalaxy mede
intenção idêntica de forma idêntica em todas as linguagens?** O
corpus [keyword-rosetta](https://github.com/squid-protocol/keyword-rosetta)
planta o mesmo programa de 12 sondas em todas as 50 linguagens suportadas com contagens
de sinal exatas e conhecidas — então qualquer divergência é viés de linguagem medido, por construção.
O gráfico colore cada desvio por *causa*, não por tamanho: vermelho é um defeito aberto do motor (uma regra que corresponde à construção errada, ou um peso de pontuação dentro de uma contagem); cinza é uma variação documentada que o registro validou — a linguagem
não consegue expressar a construção, uma escolha deliberada de pontuação, ou um eco de outra
linha. Resposta atual: em média, 94% das linguagens ficam dentro de ±25% da
mediana entre linguagens por métrica controlada (56 métricas representáveis em gráfico, 54 mantendo ≥80%),
e **a parcela de defeitos abertos é 0,0% (1 de 2.844 células comparáveis em 59 métricas
controladas)** — uma única célula inexplicada, `classes_found` no recém-plantado
corpus `bms` (CICS Basic Mapping Support); todas as outras células fora da faixa são
variações que o registro validou (um estrato de rigor, uma construção que a
linguagem não consegue expressar, um eco de outra linha, ou uma escolha deliberada de pontuação),
não um defeito aberto do motor. As métricas mais fracas são nomeadas em vez de
escondidas — `cog_raw` mantém 74% das linguagens na faixa, `raw_arch_api` 78%,
`avg_func_args` 80% — mas suas células abaixo da faixa são documentadas, não defeitos.
A afirmação também sobrevive à expansão: quando o corpus plantou sua primeira
sonda de lente de segurança — um segredo codificado idêntico em todas as linguagens —
`credential_material` (antiga `risk_secrets_risk`; o nome `risk_*` permanece
como coluna do BD — veja [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md)) leu uma **pontuação
uniforme em todas as 50 linguagens** (um idêntico 25.000 por coluna). As duas
exceções de formato inerte que a lente originalmente ignorava, e a dependência de comprimento medida da fórmula, foram registradas e arquivadas no mesmo dia
([#2978](https://github.com/squid-protocol/gitgalaxy/issues/2978),
[#2979](https://github.com/squid-protocol/gitgalaxy/issues/2979)). A #2978 está
fechada: a lente agora roda em todos os cinco formatos inertes
(plaintext/markdown/json/yaml/csv), com uma opção de configuração `SECURITY_SCAN_INERT_FORMATS`
para repositórios onde isso troca muito ruído de doc/config pela cobertura,
e a reverificação do corpus do keyword-rosetta contra a correção mesclada
agora cai inteiramente na faixa (a entrada `secrets-lens-inert-formats` do registro).
Cada desvio é registrado em um registro validado, o trabalho é rastreado por família de causa
sob o [roteiro de contrato](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/contract_roadmap.md), e
as classes de defeito encontradas dessa forma são
[arquivadas como issues do GitGalaxy](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md).

![Gráfico de variância entre linguagens](https://raw.githubusercontent.com/squid-protocol/keyword-rosetta/main/docs/bias_variance_chart.svg)

Um corpus de controle prova a desigualdade de medição sobre intenção idêntica; ele não diz
nada sobre precisão em código real (o trabalho do tri-comparison acima) — e um
viés constante por arquivo ainda preserva a classificação *dentro* de uma linguagem. O
[relatório de incidência](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/incidence_report.md)
dimensiona cada forma confirmada contra código real licenciado.

------------------------------------------------------------------------

## Escala do mundo real

Exemplo: **Kubernetes** — ~1,39M de linhas em Go, YAML, JSON, Shell e Proto.
Varredura ponta a ponta: **50,83 segundos**. O tempo de varredura segue um modelo ajustado de dois regimes
(plano ~0,11s abaixo de ~4,3K LOC, depois `time(s) ≈ 3,36e-05 × LOC^0,969`, R²=0,88
em 599 repositórios) — então alguns outliers de 20M+ LOC ainda levam minutos, e uma
varredura rápida prova throughput, não qualidade de insight; a questão de precisão é
tratada separadamente abaixo.

![Velocidade de varredura do GitGalaxy](https://assets.kitploit.com/production/public/readmes/7003/596585161af8eeb861f49e2968927d69059333f145c0e2b6e9bb0cb9c9d7bc36.png)

Veja o [repositório de saída
bruta](https://github.com/squid-protocol/gitgalaxy-raw-output) para
artefatos não editados.

------------------------------------------------------------------------

# Perfil de Superfície Estrutural: o que o GitGalaxy afirma (antiga "exposição de risco")

Os 13 vetores por arquivo do GitGalaxy foram originalmente nomeados `risk_*` e descritos como
**medições de exposição de risco**. A pergunta que esta seção costumava deixar em aberto —
"essas assinaturas estão empiricamente associadas a classes significativas de
risco de software?" — desde então foi testada, não apenas feita. O
programa de validação temporal-crucible (epic
[#2982](https://github.com/squid-protocol/gitgalaxy/issues/2982), ~3.550
snapshots escaneados, dois repositórios, três famílias de rótulos, cada teste
pré-registrado antes de os dados serem examinados) executou esse experimento até
a exaustão, e o resultado honesto levou a uma renomeação
([#2991](https://github.com/squid-protocol/gitgalaxy/issues/2991)): os
vetores agora são chamados de **Perfil de Superfície Estrutural**. `risk_*` permanece
como o nome da coluna do BD / chave JSON por compatibilidade (veja
[`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) para a tabela completa de nomes e a
nota de depreciação).

**O que o registro encontrou, reafirmado honestamente:**

- **Risco permanente por arquivo, falsificado.** A hipótese fundadora — de que o
  nível `risk_*` de um arquivo, ou sua mudança após uma correção, acompanha a probabilidade
  de defeito — não se sustentou. O delta estrutural mediano após uma correção de segurança
  foi +0,000 (equivalência confirmada próxima de zero em um segundo repositório
  independente, não apenas não significativa); a exposição estrutural somada classificou-se
  *por último* entre seis características para prever arquivos tocados por correções; um vetor
  estrutural multivariado de 26 sinais pontuou ao acaso (AUC 0,479) sob uma divisão
  temporal, abaixo de uma simples contagem de linhas (0,531). O registro completo está em
  `docs/HYPOTHESES.md` do temporal-crucible e está vinculado a partir da
  [#2982](https://github.com/squid-protocol/gitgalaxy/issues/2982).
- **Para que os vetores realmente validaram:** descrever **atividade e
  conteúdo**, não probabilidade de defeito. O composto em forma de correção acompanha
  de forma confiável um gradiente de correção de segurança → correção comum → controle → reversão; os deltas
  correspondem a eventos reais de código (código de guarda adicionado, threading introduzido,
  marcadores de dívida diluídos). Essa é a radiografia que este documento agora nomeia
  com precisão — veja [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) vetor por vetor.
- **Sinal em nível de sistema / histórico, reafirmado como a descoberta preditiva
  real.** Duas características *sobreviveram* à validação: **recidivismo** (o arquivo
  que teve a última correção recebe a próxima — o resultado mais replicado do
  programa, p<1e-4 em ambos os repositórios) e **entropia de mudança /
  Hassan HCM**, validado fora da seleção em rótulos de bugs novos (AUC 0,868 vs
  0,830 de uma contagem de linhas). Ambos são métricas de **histórico**, não métricas de
  conteúdo estrutural — e ambos estão atualmente zerados em cada varredura
  (`GITGALAXY_DISABLE_GIT_HISTORY`, rastreado em
  [temporal-crucible#29](https://github.com/squid-protocol/temporal-crucible/issues/29)).
  Esta é a semente de uma **camada preditiva** separada e honestamente nomeada — os
  vetores `hist_stability`/`hist_churn` são nomeados para marcar esse status
  explicitamente — condicionada ao envio do modo com histórico habilitado e depois à aprovação do
  contrato de promoção de elevação de defeitos da
  [#2987](https://github.com/squid-protocol/gitgalaxy/issues/2987).

Uma leitura alta do Perfil de Superfície Estrutural significa:

> **Este local tem mais de um determinado padrão estrutural/de conteúdo presente,
> em relação ao resto do repositório.**

Não significa:

> "Este código tem mais probabilidade de conter um defeito" — a versão por arquivo
> dessa afirmação foi testada e não se sustentou.

As assinaturas subjacentes cobrem padrões envolvendo áreas como:

-   segredos
-   superfície de injeção
-   operações inseguras/de memória
-   execução dinâmica
-   I/O
-   concorrência
-   mutação de estado
-   reflexão
-   APIs
-   dependências
-   entropia
-   outras características estruturais/de segurança

Veja [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) para a tabela de renomeação por vetor,
evidências e usos apropriados/inapropriados, e
`docs/HYPOTHESES.md` do
[temporal-crucible](https://github.com/squid-protocol/temporal-crucible) para o registro completo de validação que esta seção resume.

------------------------------------------------------------------------

# Evidências, não apenas afirmações

### Language Crucible

Um corpus fixado de código-fonte do mundo real, incluindo projetos como Godot, Roslyn,
curl, Kubernetes e o software de voo da Apollo 11.

[Language Crucible](https://github.com/squid-protocol/language-crucible)

### Regressão golden-master

O código-fonte real é reescaneado e comparado com a saída esperada verificada, para que
mudanças no parser tenham um diff observável. Regenerado com
[`tests/tools/update_golden_master.py`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/tools/update_golden_master.py),
nunca editado manualmente.

### Tri-comparison

O mesmo corpus é analisado com GitGalaxy, Tree-sitter e Ctags onde
há cobertura — 24 das 45 linguagens recebem as três ferramentas, 200 de 201 discrepâncias
registradas validadas. No corpus fixado, o GitGalaxy nunca é a ferramenta
considerada errada em uma divergência validada de precisão de função, classe ou argumento,
e corresponde ao recall de funções do tree-sitter em todos os lugares, exceto uma definição
de shell aninhada que ele pula por design. Veja
[a metodologia](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/tri_comparison_README.md) e
[o programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md) para o quadro completo e seus
limites.

### Corpus de controle Keyword Rosetta

O mesmo programa de 12 sondas plantado em todas as 50 linguagens suportadas com contagens
de sinal exatas e conhecidas, medindo a consistência entre linguagens de cada métrica —
com um registro de desvios validado e os defeitos de motor resultantes
[arquivados como issues](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md).

[Keyword Rosetta](https://github.com/squid-protocol/keyword-rosetta)

### Saída bruta do repositório

A saída não editada do GitGalaxy é mantida para centenas de repositórios
selecionados independentemente.

[Saída Bruta](https://github.com/squid-protocol/gitgalaxy-raw-output)

### Suíte de regressão

**7.043 testes** na suíte padrão (`python -m pytest tests/`), dos quais
**6.165** são testes por assinatura em todas as 45 linguagens com assinatura
estrutural — correspondências positivas, exclusões explícitas e entradas
adversariais/ReDoS. Veja [`tests/README.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/README.md) para a divisão, e
[`docs/why_gitgalaxy_beats_ast_here.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/why_gitgalaxy_beats_ast_here.md)
para casos específicos e comprovados em que esta extração supera uma leitura de AST.

### Temporal Crucible (validação histórica)

Se o Perfil de Superfície Estrutural corresponde a eventos reais de segurança e
manutenção ao longo do histórico do Git não é mais uma questão em aberto — foi
testado. O programa [Temporal Crucible](https://github.com/squid-protocol/temporal-crucible)
escaneou ~3.550 snapshots de repositórios em dois repositórios (curl, nDPI)
e três famílias de rótulos (commits de correção/introdução de CVE, rótulos de bugs, famílias CWE),
com cada teste confirmatório pré-registrado antes de os dados serem examinados. O que
ele encontrou, dito honestamente:

-   **O risco estrutural permanente por arquivo não prevê defeitos** — ele se reduz
    a uma contagem de linhas, um nulo confirmado por teste de equivalência em um segundo
    repositório independente (não apenas "não significativo").
-   **Duas métricas de *histórico* preveem**: recidivismo (o arquivo que teve a última
    correção recebe a próxima — p<1e-4 em ambos os repositórios, o resultado mais replicado
    do programa) e entropia de mudança (Hassan HCM), validado
    fora da seleção em rótulos de bugs novos.
-   **A estrutura descreve; o histórico prevê.** Mais previsões morreram no
    registro do que sobreviveram a ele — isso é a disciplina de pré-registro funcionando,
    não uma decepção.

O registro completo é público e reproduzível: o
[registro de hipóteses](https://github.com/squid-protocol/temporal-crucible/blob/main/docs/HYPOTHESES.md)
pré-registrado e um [índice preditor × resultado](https://github.com/squid-protocol/temporal-crucible/blob/main/docs/EXPERIMENTS.md)
de tudo o que o programa tentou correlacionar. Design e método:
[o programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md#the-next-validation-risk-over-git-history).

[Temporal Crucible](https://github.com/squid-protocol/temporal-crucible)

------------------------------------------------------------------------

# O que o GitGalaxy é --- e não é

### O GitGalaxy é

-   inteligência estrutural em escala de repositório
-   análise de código-fonte agnóstica de linguagem
-   uma representação estrutural comum entre código heterogêneo
-   priorização de exposição de risco
-   mapeamento de arquitetura
-   geração de evidências nativa de CI
-   útil em repositórios quebrados/não compilados
-   projetado para operação local/offline

### O GitGalaxy não é

-   um substituto para a análise profunda de fluxo de dados do CodeQL
-   um substituto para o ecossistema de regras do Semgrep
-   um substituto para bancos de dados de CVE de dependências
-   uma prova de explorabilidade
-   um analisador de runtime
-   um parser completo de linguagem
-   uma garantia de que uma alta exposição é uma vulnerabilidade

| Ferramenta | Questão principal |
|---|---|
| **GitGalaxy** | Como é este repositório inteiro, estruturalmente, e para onde a atenção deve ir primeiro? |
| Tree-sitter | Que estrutura sintática este código-fonte contém? |
| Ctags | Onde estão as entidades de código navegáveis? |
| Semgrep | Este código corresponde a um padrão especificado? |
| CodeQL | Que relações de dados/controle uma análise mais profunda pode estabelecer? |
| Ferramentas SCA/CVE | Esta dependência/versão está associada a um aviso conhecido? |

------------------------------------------------------------------------

# Histórico do Git e arquitetura

O GitGalaxy já incorpora o histórico do Git em sinais como churn,
concentração de contribuidores, exposição ao bus-factor, hotspots de
refatoração, propriedade de arquivos e atividade temporal. A direção de
pesquisa é estender isso de **histórico como sinal contextual** para
**histórico como fonte de validação externa para o modelo de exposição** — o
desenho do experimento está em
[o programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md#the-next-validation-risk-over-git-history).

------------------------------------------------------------------------

# Privacidade e implantação

O GitGalaxy é projetado para operação local e em ambientes air-gapped.

-   O código-fonte não é enviado para um serviço de nuvem do GitGalaxy.
-   A varredura e a vetorização ocorrem localmente.
-   O scanner não tem requisito de rede em tempo de execução.
-   A execução em CI/CD pode permanecer dentro do ambiente do usuário.
-   O visualizador no navegador opera sobre dados fornecidos localmente.

------------------------------------------------------------------------

# Instalação

``` bash
pip install gitgalaxy            # zero install dependencies
pip install "gitgalaxy[full]"    # + tiktoken, xgboost, pandas, numpy, pyyaml
```

Consulte a [documentação](https://squid-protocol.github.io/gitgalaxy/) para
comandos e configuração atuais.

### Modo sem dependências

Um simples `pip install gitgalaxy` não traz nada consigo, para ambientes onde
cada pacote de terceiros é uma questão de cadeia de suprimentos. As análises
continuam a ser executadas: todos os sinais estruturais, arestas de dependência,
contagens de grau de entrada/saída, PageRank / raio de explosão, intermediação,
proximidade, comprimento médio de caminho, modularidade, densidade cíclica,
pontos de articulação e assortatividade são medidos exatamente como em precisão
total (estes são calculados nativamente). O que precisa dos motores opcionais é
a massa de tokens e o custo de leitura (`tiktoken`), a classificação de ameaças
por ML (`xgboost`/`pandas`/`numpy`) e a análise de configuração YAML/OpenAPI
(`pyyaml`). Uma métrica que não foi calculada é reportada como ausente (`n/a` /
NULL), nunca como zero. Cada saída indica quando uma análise foi executada neste
modo, e
[`docs/zero_dependency_mode.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/zero_dependency_mode.md) lista, campo a
campo, o que é idêntico e o que está indisponível.

### CI/CD

São fornecidos templates para GitHub Actions, GitLab CI, Bitbucket Pipelines,
Azure Pipelines e ambientes CI genéricos invocáveis por shell. Consulte
[`templates/`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/templates) e o [guia de integração
CI](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/github-action-readme.md).

------------------------------------------------------------------------

# Explore as evidências

| Recurso | O que contém |
|---|---|
| [Documentação](https://squid-protocol.github.io/gitgalaxy/) | Arquitetura, afirmações e metodologia |
| [O programa de validação](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md) | A narrativa completa da prova: tese, benchmarks, escada de validade, próximas experiências |
| [Referência de vetores](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) | Os 13 vetores por ficheiro: nomes, significado, evidência e a nota de descontinuação `risk_*` |
| [Factos das fórmulas dos vetores](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vector_formulas.md) | Auditoria mecânica das fórmulas por calculadora (entradas, aritmética, constantes) |
| [Language Crucible](https://github.com/squid-protocol/language-crucible) | Benchmark entre linguagens e corpus de referência |
| [Keyword Rosetta](https://github.com/squid-protocol/keyword-rosetta) | Corpus de controlo plantado em 50 linguagens e relatórios de enviesamento |
| [Saída em bruto](https://github.com/squid-protocol/gitgalaxy-raw-output) | Análises não editadas de repositórios reais |
| [Exemplos COBOL → Java](https://github.com/squid-protocol/cobol_to_java_examples) | 10 repositórios COBOL traduzidos automaticamente para arquiteturas Spring Boot compiláveis (`mvn clean compile` funciona de imediato) |
| [Análises populacionais](https://github.com/squid-protocol/gitgalaxy-population-analyses) | Análises estatísticas sobre a população de análises de saída em bruto: agrupamento por arquétipo, distribuições de risco, estudos de classificadores de ameaças |
| [Museu do Código](https://squid-protocol.github.io/gitgalaxy/museum-of-code/) | Desmontagens arquiteturais completas de bases de código reais (Apollo 11, benchmarks IBM CICS) |
| [Telemetria de distribuição](https://github.com/squid-protocol/squid-telemetry) | Métricas públicas de obtenção em GitHub/GitLab/[PyPI](https://pypi.org/project/gitgalaxy/), regeneradas diariamente |
| [`tests/README.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/README.md) | Metodologia de regressão e golden-master |
| [`tri_comparison_ledger.json`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/tri_comparison_ledger.json) | Registo de validação de divergência por divergência |
| [`manual_verification.json`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/manual_verification.json) | Casos revistos onde a cobertura do comparador não está disponível |
| [`how_to_investigate_a_discrepancy.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/how_to_investigate_a_discrepancy.md) | Metodologia de divergência entre comparadores |
| [Visualizador](https://gitgalaxy.io/) | Visualização de repositórios local no navegador |

------------------------------------------------------------------------

# Licença

Copyright (c) 2026 Joe Esquibel

O GitGalaxy é distribuído sob a **PolyForm Noncommercial License 1.0.0**.

Consulte a licença do repositório para os termos completos.
Baixar ferramenta