Назад к обновлениям
UpdatedJul 15, 2026

gitgalaxy — Updated!

Независимый от AST эвристический механизм графа знаний для глубокого анализа репозитория и сканирования безопасности с нулевым доверием. Интегрируется как компонент GitLab CI/CD, блокирует вредоносный код и экспортирует телеметрию SARIF в панель безопасности GitLab.

Поделиться

GitGalaxy

Структурный анализ на уровне репозитория без компиляции.

Документация · Визуализатор · Language Crucible · Keyword Rosetta · Необработанный вывод

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 извлекает общий
словарь **структурных сигнатур** — функции, классы, аргументы,
поток управления, мутации состояния, ввод-вывод, API, зависимости — и нормализует их
в одну детерминированную модель репозитория, которая питает анализ архитектуры,
приоритизацию рисков, генерацию SBOM, рефакторинг и анализ
ответственности, контекст кодовой базы для ИИ и шлюзы CI/CD.

> **Центральный тезис:** полный разбор языка не всегда необходим для
> извлечения крайне полезной структурной информации в масштабе репозитория.

То, как этот тезис проверяется — против Tree-sitter и Ctags, против
специально подготовленного контрольного корпуса, а затем против истории Git — кратко изложено в
[Accuracy, measured](#accuracy-measured) ниже и подробно описано в
[программе валидации](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md).

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

## Что даёт сканирование

Одна команда:``` bash
pip install gitgalaxy
galaxyscope path/to/repo

Шесть согласованных представлений одного и того же детерминированного сканирования:

Выходные данныеНазначение
LLM architecture briefКомпактный машинно-/агентно-ориентированный контекст (ниже)
SARIFИнтеграция с CI/панелями безопасности
CycloneDX SBOMИнвентаризация зависимостей/соответствие требованиям
SQLiteЗапрашиваемый граф знаний репозитория
JSON audit dataКриминалистические/автоматизированные рабочие процессы
3D visualization dataИнтерактивная топология репозитория

Архитектурный бриф

Флагманский отчёт — это единый Markdown-бриф, созданный для того, чтобы дать инженеру — или ИИ-агенту — рабочую ментальную модель репозитория, которого он никогда не видел. Это самодостаточный пакет: уравнения риска напечатаны в самом отчёте, а встроенный промпт для интерпретации позволяет любой 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-функцию — APPEND_imap в tests/ftpserver.pl, Impact 2135, 1 672 строки кода — на вершину общесистемного хит-листа функций, в том же рейтинге, что и код на C. Этот кросс-языковой граф и есть продукт: единый сопоставимый набор сигналов по всем языкам в репозитории. Честная оговорка в том же брифе: просканировано только 16,4% артефактов — фильтр приёма агрессивно отбрасывает бинарники, сгенерированный код и тестовые данные, а §5 брифа перечисляет каждое исключение по расширению и причине.

cics-genapp (образец CICS COBOL/DB2 от IBM) — просканировано 92,1%: 44 программы на COBOL, 29 заданий JCL. Кумулятивный хит-лист структурной поверхности возглавляет base/src/lgupdb01.cbl (поверхность мутаций ~100%, нагрузка сложности 92%), а самый тяжёлый параграф в репозитории — UPDATE-POLICY-DB2-INFO — логика блокировки строк SELECT FOR UPDATE, что как раз то место, куда сопровождающий этой программы захотел бы заглянуть в первую очередь. Тот же бриф также наглядно показывает ограничение: на плоской архитектуре без реального графа импортов список «структурных опор» вырождается в файлы с нулевыми связями, и отчёт советует проверить количество связей, прежде чем ему доверять.

Сотни неотредактированных брифов для независимо выбранных репозиториев зафиксированы в gitgalaxy-raw-output; собственный всегда актуальный бриф самосканирования этого репозитория находится в docs/gitgalaxy_architecture_brief.md.

Один граф, много потребителей

ПотребительВопрос
АрхитектураИз чего состоит этот репозиторий?
Структурный анализГде находятся функции, классы, API, зависимости и управляющие структуры?
Structural Surface Profile (ранее Risk exposure)Где сконцентрирован данный структурный/содержательный паттерн?
РефакторингКакие файлы сложны, часто меняются или несут нагрузку?
Цепочка поставокКакие зависимости физически существуют на диске?
Контекст для ИИКакую архитектуру и связи должен знать агент?
Миграция легасиГде находятся структурные единицы для преобразования?
Исторический анализКак измеренная экспозиция меняется по мере эволюции репозитория?

GitGalaxy architecture pipeline


Точность, измеренная

Две постоянные программы измерений подкрепляют приведённые выше утверждения. Полное повествование — методология, вердикты, ограничения и что дальше — находится в программе валидации; здесь — краткое изложение.

Структурная валидация: GitGalaxy против Tree-sitter против Ctags

GitGalaxy сравнивается с Tree-sitter и Universal Ctags на закреплённом корпусе Language Crucible — 24 из 45 языков получают все три инструмента, ещё 13 получают два, и каждое расхождение исследуется на реальном исходном коде и фиксируется с вердиктом (200 из 201 зарегистрированных форм расхождений валидированы). На этом корпусе валидированная точность функций GitGalaxy составляет 100% по всем 31 языкам, сопоставимым с tree-sitter, и он никогда не оказывается инструментом, признанным ошибочным в валидированном расхождении по классу или аргументу. Ограничение: три структурные цели, один фиксированный корпус — не «парсит так же точно, как AST» в общем случае.

Tri-comparison

Кросс-языковая согласованность: контрольный корпус Keyword Rosetta

Категории