Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
gitgalaxy — 免 AST 的启发式知识图谱引擎,用于深度仓库智能分析和零信任安全扫描。可作为 GitLab CI/CD 组件集成,阻止恶意代码,并将 SARIF 遥测数据导出至 GitLab Security Dashboard。 | Kitploit
工具/GitLabGitLab/squid-protocol1/gitgalaxy
漏洞扫描器静态代码分析 (SAST)代码分析恶意软件分析DevSecOps秘密检测
GitLabsquid-protocol1/gitgalaxy

gitgalaxy

免 AST 的启发式知识图谱引擎,用于深度仓库智能分析和零信任安全扫描。可作为 GitLab CI/CD 组件集成,阻止恶意代码,并将 SARIF 遥测数据导出至 GitLab Security Dashboard。

查看仓库
3426天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
# GitGalaxy

**无需编译的仓库级结构智能。**

[文档](https://squid-protocol.github.io/gitgalaxy/) ·
[可视化工具](https://gitgalaxy.io/) ·
[语言熔炉](https://github.com/squid-protocol/language-crucible) ·
[关键词罗塞塔](https://github.com/squid-protocol/keyword-rosetta) ·
[原始输出](https://github.com/squid-protocol/gitgalaxy-raw-output)

**1 次扫描 · 97 个结构信号 · 50+ 种语言 · 无需编译 · 17
个风险暴露类别 · 6 种输出**

## 简要说明

GitGalaxy 直接从源文本构建**整个仓库的语言无关结构图**——无需构建,无需针对每种语言的工具链。

它专为多语言、部分损坏、遗留、供应商代码繁重或通过构建优先工作流难以分析的其他仓库而设计:

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

GitGalaxy 不是为每种语言使用单独的解析器,而是提取一组通用的**结构签名**词汇——函数、类、参数、控制流、状态变更、I/O、API、依赖——并将它们规范化为一个确定性的仓库模型,用于架构分析、风险暴露优先级排序、SBOM 生成、重构与归属分析、面向 AI 的代码库上下文,以及 CI/CD 门禁。

> **核心论点:** 完整的语言解析并不总是必要的,在仓库规模上恢复高度有用的结构信息即可。

该论点如何被检验——对照 Tree-sitter 和 Ctags、对照一个植入的对照语料库,以及接下来对照 Git 历史——在下面的[准确度,已测量](#accuracy-measured)中进行了总结,并在[验证程序](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md)中完整阐述。

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

## 一次扫描能给你什么

一条命令:

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

同一确定性扫描的六个协同视图:

| 输出 | 用途 |
|---|---|
| **LLM 架构简报** | 面向机器/代理的紧凑上下文(见下文) |
| **SARIF** | CI/安全仪表盘集成 |
| **CycloneDX SBOM** | 依赖清单/合规性 |
| **SQLite** | 可查询的仓库知识图谱 |
| **JSON 审计数据** | 取证/自动化工作流 |
| **3D 可视化数据** | 交互式仓库拓扑 |

### 架构简报

旗舰报告是一份单一的 Markdown 简报,旨在为工程师——或 AI 代理——提供一份他们从未见过的仓库的可用心智模型。它是一个自包含的包:风险方程直接印在报告中,并且嵌入的解释提示让任何 LLM 都能对其进行叙述,而不会对数字的含义产生幻觉。各章节涵盖宏观状态与语言构成、网络拓扑(模块化、关节点、循环密度)、依赖瓶颈、最重的函数和文件、带 PageRank 影响范围的逐文件结构签名、定向和累积风险命中列表、供应链审计,以及按波动性和作者集中度排序的重构目标——外加一份它*拒绝*扫描的每个文件的逐项列表及原因。

两个示例,使用当前引擎于 2026-08-31 扫描。两个仓库都是公开的——克隆任意一个并运行 `galaxyscope --llm-only <path>` 即可复现完整简报:

**curl** — 4,250 个工件,扫描 696 个,112,653 行代码,涵盖 C、Perl、Python、Shell、M4 和 Makefile。简报将 `src/tool_setup.h` 列为顶级结构支柱(80 个入站连接),并将一个 *Perl* 函数——`tests/ftpserver.pl` 中的 `APPEND_imap`,影响值 2135,1,672 行代码——置于全仓库函数命中列表的顶部,与 C 代码处于同一排名中。这种跨语言图谱正是该产品:在整个仓库的每种语言中提供一套可比较的信号集。同一份简报中诚实的告诫:仅扫描了 16.4% 的工件——摄取过滤器会激进地丢弃二进制文件、生成代码和测试数据,简报的第 5 节按扩展名和原因逐项列出了每一项排除。

**cics-genapp**(IBM 的 CICS COBOL/DB2 示例)— 扫描率 92.1%:44 个 COBOL 程序,29 个 JCL 作业。累积结构表面命中列表以 `base/src/lgupdb01.cbl` 为首(变异表面约 100%,复杂度负载 92%),仓库中最重的段落是 `UPDATE-POLICY-DB2-INFO`——即 `SELECT FOR UPDATE` 行锁定逻辑,这正是该程序的维护者会首先想要查看的地方。同一份简报也直白地展示了一个局限:在扁平架构且没有真正导入图的情况下,“结构支柱”列表退化为零连接文件,报告建议在信任它之前先检查连接数。

数百份针对独立选定仓库的未经编辑的简报已提交至
[gitgalaxy-raw-output](https://github.com/squid-protocol/gitgalaxy-raw-output);
本仓库自身始终最新的自扫描简报位于
[`docs/gitgalaxy_architecture_brief.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/gitgalaxy_architecture_brief.md)。

### 一张图,多种消费者

| 消费者 | 问题 |
|---|---|
| 架构 | 这个仓库由什么构成? |
| 结构分析 | 函数、类、API、依赖和控制结构在哪里? |
| 结构表面画像(原风险暴露) | 给定的结构/内容模式集中在哪里? |
| 重构 | 哪些文件复杂、高变更或承重? |
| 供应链 | 磁盘上实际存在哪些依赖? |
| AI 上下文 | 代理应该了解哪些架构和关系? |
| 遗留迁移 | 要转换的结构单元在哪里? |
| 历史分析 | 随着仓库演进,测得的暴露如何变化? |

![GitGalaxy 架构流水线](https://assets.kitploit.com/production/public/readmes/7003/c082f81cf091b2c568775d3ffcbbc143348e16b78fb59e3021e26f94d1df624c.png)

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

## 准确性,经过测量

有两项常设测量计划为上述主张提供支持,第三项针对依赖和调用图的计划正在进行中。完整叙述——方法论、结论、局限以及后续计划——见
[验证计划](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md);此处为摘要。

### 结构验证:GitGalaxy vs Tree-sitter vs Ctags

GitGalaxy 在固定的 [Language Crucible](https://github.com/squid-protocol/language-crucible)
语料库上与 **Tree-sitter 和 Universal Ctags** 进行基准对比——45 种语言中有 24 种获得全部三个工具,另有 13 种获得两个工具,每一处分歧都针对真实源代码进行调查并记录结论(201 个记录在案的分歧形态中有 200 个得到验证)。在该语料库上,GitGalaxy 在全部 31 种可与 tree-sitter 比较的语言中,经验证的函数精确率为 100%,并且在经过验证的类或参数分歧中,它从未是被发现错误的一方。局限:三个结构目标,一个固定语料库——并非泛指“解析得像 AST 一样准确”。

![三方对比](https://gitlab.com/squid-protocol1/gitgalaxy/-/raw/main/docs/self_scan/tri_comparison_chart.svg)

### 图验证:导入和调用(进行中)

影响范围、PageRank 和“结构支柱”来自**导入图**。函数级排名来自**调用图**。目前并非每种语言都测量了这两个图,下图说明了哪些语言已测量:
- 已测量的语言显示精确率和召回率及 n。
- 每个尚未测量的语言都按名称列出。

截至 2026-09-26,在 59 种语言中:
- **导入图在 20 种语言中已测量。** 引擎边会针对每种语言在固定的真实仓库上的自身导入语句进行检查
  ([`import_graph_accuracy.py`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/tools/import_graph_accuracy.py))。
- **被调用者名称在 11 种语言中已测量**,对照 tree-sitter。
- **调用解析在 3 种语言中已测量**,对照参考分析器:
  - Python,对照 pyan3:在 1,806 条判定链接上精确率 99.8%,召回率 51.6%;
  - TypeScript,对照 TypeScript 6.0.2 类型检查器:在 1,520 条判定链接上精确率 99.9%,召回率 57.1%;
  - Java,对照 scip-java(javac 自身的解析):在 3,474 条判定链接上精确率 92.7%,召回率 41.0%。对重载方法的调用仅当其参数数量选定某个重载时才会被链接([#3835](https://github.com/squid-protocol/gitgalaxy/issues/3835))。

  一条调用链接一旦建立,通常是正确的,但大约一半或更多的调用未被链接。因此函数级扇入和 PageRank 是一个下界。

局限:
- 其他 38 种语言的图以相同方式构建,但**未测量**。
- 若干已测量语言仅依赖一个导入少于 100 的仓库。图表将这些淡化显示。
- `*` 标记的数字表示仍有分歧等待对照源代码给出结论。

弥补这些差距的计划是
[epic #3772](https://github.com/squid-protocol/gitgalaxy/issues/3772)。

![图准确性覆盖](https://gitlab.com/squid-protocol1/gitgalaxy/-/raw/main/docs/self_scan/graph_coverage_chart.svg)

### 跨语言一致性:Keyword Rosetta 对照语料库

较新的计划提出了相反的问题:**GitGalaxy 是否在每种语言中以相同方式测量相同意图?**
[keyword-rosetta](https://github.com/squid-protocol/keyword-rosetta) 语料库
将相同的 12 探针程序植入全部 50 种受支持语言中,并具有精确已知的信号计数——因此任何偏差从构造上就是被测得的语言偏见。图表按*原因*而非大小给每个偏差着色:红色是未解决的引擎缺陷(规则匹配了错误的构造,或评分权重落在计数内部);灰色是账本已验证的已记录变异——该语言无法表达该构造、有意的评分选择,或另一行的回声。当前答案:平均而言,94% 的语言在每个受门控指标上处于跨语言中位数的 ±25% 范围内(56 个可图表化指标,54 个保持 ≥80%),并且**未解决缺陷占比为 0.0%(59 个受门控指标中 2,844 个可比较单元格中的 1 个)**——一个无法解释的单元格,即新植入的 `bms`(CICS Basic Mapping Support)语料库中的 `classes_found`;其他每个超出范围的单元格都是账本已验证的变异(严格性分层、该语言无法表达的构造、另一行的回声,或有意的评分选择),而非未解决的引擎缺陷。最弱的指标被点名而非隐藏——`cog_raw` 使 74% 的语言处于范围内,`raw_arch_api` 78%,`avg_func_args` 80%——但它们的次范围单元格是已记录的,而非缺陷。
该主张在扩展后依然成立:当语料库植入其首个安全透镜探针时——每种语言中一个相同的硬编码密钥——
`credential_material`(原 `risk_secrets_risk`;`risk_*` 名称仍为数据库列——见 [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md))在**全部 50 种语言中读取到统一分数**(每列相同的 25.000)。该透镜最初跳过的两个惰性格式例外,以及公式测得的长度依赖性,当天即被记入账本并提交
([#2978](https://github.com/squid-protocol/gitgalaxy/issues/2978)、
[#2979](https://github.com/squid-protocol/gitgalaxy/issues/2979))。#2978 已关闭:该透镜现在在所有五种惰性格式上运行
(plaintext/markdown/json/yaml/csv),并提供 `SECURITY_SCAN_INERT_FORMATS` 配置退出选项,适用于那些认为这样做会以过多文档/配置噪声换取覆盖率的仓库,并且 keyword-rosetta 的语料库针对合并修复的重新验证现在完全落在范围内(账本的 `secrets-lens-inert-formats` 条目)。
每个偏差都记录在已验证的账本中,工作按原因族在[契约路线图](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/contract_roadmap.md)下跟踪,以这种方式发现的缺陷类别
[作为 GitGalaxy 问题提交](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md)。

![跨语言方差图](https://raw.githubusercontent.com/squid-protocol/keyword-rosetta/main/docs/bias_variance_chart.svg)

对照语料库证明了相同意图上的测量不平等;它并未说明真实代码上的准确性(那是上文三方对比的工作)——而且每文件恒定偏差仍会保留语言*内部*的排名。
[发生率报告](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/incidence_report.md)
针对真实授权代码衡量每个已确认形态的规模。

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

## 真实世界规模

示例:**Kubernetes** — 约 139 万行,涵盖 Go、YAML、JSON、Shell 和 Proto。
端到端扫描:**50.83 秒**。扫描时间遵循拟合的双区间模型
(在约 4.3K 行代码以下平坦约 0.11 秒,然后 `time(s) ≈ 3.36e-05 × LOC^0.969`,在 599 个仓库上 R²=0.88)——因此少数 2000 万行以上的离群值仍需数分钟,而快速扫描证明的是吞吐量,而非洞察质量;准确性问题在下文单独处理。

![GitGalaxy 扫描
速度](https://assets.kitploit.com/production/public/readmes/7003/596585161af8eeb861f49e2968927d69059333f145c0e2b6e9bb0cb9c9d7bc36.png)

参见[原始输出
仓库](https://github.com/squid-protocol/gitgalaxy-raw-output)获取
未经编辑的工件。

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

# 结构表面画像:GitGalaxy 声称什么(原“风险暴露”)

GitGalaxy 的 13 个逐文件向量最初命名为 `risk_*`,并被描述为
**风险暴露测量**。本节过去留下的问题——
“这些签名是否在经验上与有意义的软件风险类别相关联?”——此后已被测试,而不仅仅是提出。时间熔炉验证计划(epic
[#2982](https://github.com/squid-protocol/gitgalaxy/issues/2982),约 3,550 个
扫描快照,两个仓库,三个标签族,每个测试在查看数据之前预先注册)将该实验运行到
极致,而诚实的结果促成了重命名
([#2991](https://github.com/squid-protocol/gitgalaxy/issues/2991)):
这些向量现在称为**结构表面画像**。`risk_*` 仍为
数据库列 / JSON 键名以保持兼容(见
[`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) 获取完整名称表和弃用说明)。

**记录所发现的内容,诚实重述:**

- **逐文件持续风险,被证伪。** 创始假设——即文件的 `risk_*` 水平,或其修复后的变化,跟踪缺陷
  概率——并未成立。安全修复后的中位结构增量
  为 +0.000(在第二个独立仓库上经等价性确认接近零,而不仅仅是
  不显著);汇总结构暴露在预测修复触及文件时排名
  *最后*,在六个特征中;一个 26 信号
  多变量结构向量在时间分割下得分仅为随机水平(AUC 0.479),低于简单的行数(0.531)。完整账本见
  temporal-crucible 的 `docs/HYPOTHESES.md`,并从
  [#2982](https://github.com/squid-protocol/gitgalaxy/issues/2982) 链接。
- **这些向量实际验证了什么:** 描述**活动和
  内容**,而非缺陷概率。修复形态的复合指标可靠地
  跟踪安全修复 → 普通修复 → 对照 → 回退的梯度;增量
  对应真实代码事件(添加防护代码、引入线程、稀释债务标记)。这就是本文档现在准确命名的 X 光——
  见 [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) 逐向量说明。
- **系统级 / 历史信号,重述为实际的预测性
  发现。** 两个特征*确实*通过了验证:**累犯性**(上次修复的文件会得到下一次修复——这是该计划中复制最多的结果,在两个仓库上 p<1e-4)和**变更熵 /
  Hassan HCM**,在全新缺陷标签上经选择外验证(AUC 0.868 vs
  行数的 0.830)。两者都是**历史**指标,而非结构
  内容指标——并且两者目前在每次扫描中都被归零
  (`GITGALAXY_DISABLE_GIT_HISTORY`,跟踪于
  [temporal-crucible#29](https://github.com/squid-protocol/temporal-crucible/issues/29))。
  这是一个单独、诚实命名的**预测层**的种子——`hist_stability`/`hist_churn` 向量被如此命名以明确标记该状态——其前提是发布启用历史的模式,然后通过
  [#2987](https://github.com/squid-protocol/gitgalaxy/issues/2987) 的
  缺陷提升推广契约。

高结构表面画像读数意味着:

> **相对于仓库其余部分,此位置存在更多给定的结构/内容模式。**

它并不意味着:

> “这段代码更可能包含缺陷”——该主张的逐文件版本
> 已经过测试,并未成立。

底层签名涵盖涉及以下领域的模式:

-   密钥
-   注入表面
-   不安全/内存操作
-   动态执行
-   I/O
-   并发
-   状态变更
-   反射
-   API
-   依赖
-   熵
-   其他结构/安全特征

见 [`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) 获取逐向量重命名表、
证据以及适当/不适当的用途,并见
[temporal-crucible](https://github.com/squid-protocol/temporal-crucible) 的
`docs/HYPOTHESES.md` 获取本节所总结的完整验证账本。

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

# 证据,而不仅仅是主张

### Language Crucible

一个固定的真实世界源代码语料库,包括 Godot、Roslyn、
curl、Kubernetes 和 Apollo 11 飞行软件等项目。

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

### 黄金主回归

真实源代码被重新扫描并与已检入的预期输出进行比较,因此
解析器变更具有可观察的差异。使用
[`tests/tools/update_golden_master.py`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/tools/update_golden_master.py) 重新生成,
从不手工编辑。

### 三方对比

在覆盖存在的情况下,同一语料库针对 GitGalaxy、Tree-sitter 和 Ctags 进行分析——45 种语言中有 24 种获得全部三个工具,201 个记录在案的分歧中有 200 个得到验证。在固定语料库上,GitGalaxy 在经验证的函数精确率、类或参数分歧中从未是被发现错误的一方,并且在除一个按设计跳过的嵌套 shell 定义外,处处与 tree-sitter 的函数召回率匹配。见
[方法论](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/tri_comparison_README.md)和
[验证计划](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md)获取完整图景及其局限。

### Keyword Rosetta 对照语料库

相同的 12 探针程序植入全部 50 种受支持语言中,并具有精确
已知的信号计数,测量每个指标的跨语言一致性——
并带有已验证的偏差账本以及由此产生的引擎缺陷
[作为问题提交](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md)。

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

### 原始仓库输出

未经编辑的 GitGalaxy 输出为数百个独立选定的
仓库保留。

[原始输出](https://github.com/squid-protocol/gitgalaxy-raw-output)

### 回归套件

默认套件中有 **7,043 个测试**(`python -m pytest tests/`),其中
**6,165** 个是跨全部 45 种具有结构签名的语言的逐签名测试——正向匹配、显式排除和对抗性/ReDoS
输入。见 [`tests/README.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/README.md) 获取细分,并见
[`docs/why_gitgalaxy_beats_ast_here.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/why_gitgalaxy_beats_ast_here.md)
获取此提取优于 AST 读取的具体、有证据的案例。

### Temporal Crucible(历史验证)

结构表面画像是否对应 Git 历史中真实的安全和维护事件,已不再是一个悬而未决的问题——它已经过
测试。[Temporal Crucible](https://github.com/squid-protocol/temporal-crucible)
计划扫描了约 3,550 个仓库快照,涵盖两个仓库(curl、nDPI)
和三个标签族(CVE 修复/引入提交、缺陷标签、CWE 族),
每个确认性测试都在查看数据之前预先注册。它发现的内容,诚实陈述:

-   **逐文件持续结构风险不能预测缺陷**——它退化为行数,这一零假设通过在第二个独立仓库上的等价性测试得到确认(而不仅仅是“不显著”)。
-   **两个*历史*指标确实能预测**:累犯性(上次修复的文件会得到下一次修复——在两个仓库上 p<1e-4,这是该计划中复制最多的结果)和变更熵(Hassan HCM),在全新缺陷标签上经选择外验证。
-   **结构描述;历史预测。** 账本中死去的预测多于存活的——这是预注册纪律在起作用,而非失望。

完整记录是公开且可复现的:预先注册的
[假设账本](https://github.com/squid-protocol/temporal-crucible/blob/main/docs/HYPOTHESES.md)
以及该计划尝试关联的所有内容的[预测因子 × 结果索引](https://github.com/squid-protocol/temporal-crucible/blob/main/docs/EXPERIMENTS.md)。设计与方法:
[验证计划](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)

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

# GitGalaxy 是什么——以及不是什么

### GitGalaxy 是

-   仓库规模的结构智能
-   语言无关的源代码分析
-   跨异构代码的通用结构表示
-   风险暴露优先级排序
-   架构映射
-   CI 原生证据生成
-   在损坏/未编译的仓库上也有用
-   为本地/离线操作而设计

### GitGalaxy 不是

-   CodeQL 深度数据流分析的替代品
-   Semgrep 规则生态系统的替代品
-   依赖 CVE 数据库的替代品
-   可利用性的证明
-   运行时分析器
-   完整的语言解析器
-   高暴露即为漏洞的保证

| 工具 | 主要问题 |
|---|---|
| **GitGalaxy** | 整个仓库在结构上是什么样子,应该首先关注哪里? |
| Tree-sitter | 这段源代码包含什么语法结构? |
| Ctags | 可导航的代码实体在哪里? |
| Semgrep | 这段代码是否匹配指定的模式? |
| CodeQL | 更深入的分析可以建立哪些数据/控制关系? |
| SCA/CVE 工具 | 这个依赖/版本是否与已知公告相关联? |

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

# Git 历史与架构

GitGalaxy 已将 Git 历史纳入诸如代码变更频率、贡献者集中度、巴士因子暴露、重构热点、文件所有权和时间活动等信号中。研究方向是将此从**作为上下文信号的历史**扩展到**作为暴露模型外部验证来源的历史**——实验设计见[验证计划](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md#the-next-validation-risk-over-git-history)。

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

# 隐私与部署

GitGalaxy 专为本地和隔离环境运行而设计。

-   源代码不会发送到 GitGalaxy 云服务。
-   扫描和向量化在本地进行。
-   扫描器没有运行时网络需求。
-   CI/CD 执行可以保留在用户环境内。
-   浏览器可视化器基于本地提供的数据运行。

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

# 安装

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

有关当前命令和配置,请参阅[文档](https://squid-protocol.github.io/gitgalaxy/)。

### 零依赖模式

在那些每个第三方包都可能成为供应链问题的环境中,直接执行 `pip install gitgalaxy` 不会引入任何依赖。扫描仍可运行:所有结构信号、依赖边、入/出度计数、PageRank / 爆炸半径、介数、接近度、平均路径长度、模块度、循环密度、割点和同配性都按全精度模式完全一致地测量(这些均为原生计算)。需要可选引擎的是 token 质量与读取成本(`tiktoken`)、ML 威胁分类(`xgboost`/`pandas`/`numpy`)以及 YAML 配置/OpenAPI 解析(`pyyaml`)。未计算的指标会报告为缺失(`n/a` / NULL),绝不会报告为零。每个输出都会说明扫描是否在此模式下运行,并且 [`docs/zero_dependency_mode.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/zero_dependency_mode.md) 逐字段列出了哪些内容完全一致、哪些内容不可用。

### CI/CD

为 GitHub Actions、GitLab CI、Bitbucket Pipelines、Azure Pipelines 以及可通过 shell 调用的通用 CI 环境提供了模板。请参阅 [`templates/`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/templates) 和 [CI 集成指南](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/github-action-readme.md)。

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

# 探索证据

| 资源 | 包含内容 |
|---|---|
| [文档](https://squid-protocol.github.io/gitgalaxy/) | 架构、主张与方法论 |
| [验证计划](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md) | 完整的证明叙述:论点、基准测试、有效性阶梯、后续实验 |
| [向量参考](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md) | 13 个逐文件向量:名称、含义、证据,以及 `risk_*` 弃用说明 |
| [向量公式事实](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vector_formulas.md) | 逐计算器的机械式公式审计(输入、算术、常量) |
| [Language Crucible](https://github.com/squid-protocol/language-crucible) | 跨语言基准测试与黄金语料库 |
| [Keyword Rosetta](https://github.com/squid-protocol/keyword-rosetta) | 50 种语言的植入式对照语料库与偏差报告 |
| [原始输出](https://github.com/squid-protocol/gitgalaxy-raw-output) | 对真实仓库未经编辑的扫描结果 |
| [COBOL → Java 示例](https://github.com/squid-protocol/cobol_to_java_examples) | 10 个 COBOL 仓库自动翻译为可编译的 Spring Boot 架构(`mvn clean compile` 开箱即用) |
| [群体分析](https://github.com/squid-protocol/gitgalaxy-population-analyses) | 对原始输出扫描群体的统计分析:原型聚类、风险分布、威胁分类器研究 |
| [代码博物馆](https://squid-protocol.github.io/gitgalaxy/museum-of-code/) | 对真实代码库的完整架构拆解(Apollo 11、IBM CICS 基准测试) |
| [分发遥测](https://github.com/squid-protocol/squid-telemetry) | 跨 GitHub/GitLab/[PyPI](https://pypi.org/project/gitgalaxy/) 的公开获取指标,每日重新生成 |
| [`tests/README.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/README.md) | 回归与黄金主控方法论 |
| [`tri_comparison_ledger.json`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/tri_comparison_ledger.json) | 逐项分歧的验证记录 |
| [`manual_verification.json`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/manual_verification.json) | 比较器覆盖不可用时的已审查案例 |
| [`how_to_investigate_a_discrepancy.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/self_scan/how_to_investigate_a_discrepancy.md) | 比较器分歧方法论 |
| [可视化工具](https://gitgalaxy.io/) | 基于本地浏览器的仓库可视化 |

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

# 许可证

Copyright (c) 2026 Joe Esquibel

GitGalaxy 在 **PolyForm Noncommercial License 1.0.0** 下分发。

完整条款请参阅仓库许可证。
下载工具