アップデート一覧に戻る
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は**構造的シグネチャ**の共通語彙 — 関数、クラス、引数、制御フロー、状態変更、I/O、API、依存関係 — を抽出し、それらを単一の決定論的リポジトリモデルに正規化します。このモデルはアーキテクチャ分析、リスク露出の優先順位付け、SBOM生成、リファクタリングとオーナーシップ分析、AI向けコードベースコンテキスト、CI/CDゲートに活用されます。

> **中心命題:** 完全な言語解析は、リポジトリ規模で非常に有用な構造情報を復元するために常に必要というわけではない。

この命題がどのように検証されるか — Tree-sitterやCtagsとの比較、埋め込まれた対照コーパスとの比較、そして次にGit履歴との比較 — は、以下の[精度、測定済み](#accuracy-measured)で要約され、[検証プログラム](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/validation.md)で詳細に説明されています。

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

## スキャンで得られるもの

1つのコマンド:``` bash
pip install gitgalaxy
galaxyscope path/to/repo

同一の決定論的スキャンに対する6つの連携ビュー:

出力目的
LLMアーキテクチャブリーフコンパクトな機械/エージェント向けコンテキスト(下記)
SARIFCI/セキュリティダッシュボード連携
CycloneDX SBOM依存関係インベントリ/コンプライアンス
SQLiteクエリ可能なリポジトリナレッジグラフ
JSON監査データフォレンジック/自動化ワークフロー
3D可視化データインタラクティブなリポジトリトポロジー

アーキテクチャブリーフ

主力レポートは単一のMarkdownブリーフであり、エンジニア——あるいはAIエージェント——に、これまで見たことのないリポジトリの実用的なメンタルモデルを渡すために作られている。これは自己完結型のパッケージである。リスク方程式はレポート自体に記載されており、埋め込まれた解釈プロンプトにより、どのLLMでも数値の意味を幻覚することなくナレーションできる。セクションは、マクロ状態と言語構成、ネットワークトポロジー(モジュラリティ、関節点、循環密度)、依存関係のチョークポイント、最も重い関数とファイル、PageRankブラスト半径を伴うファイルごとの構造シグネチャ、的を絞った累積リスクヒットリスト、サプライチェーン監査、そして変動性と authorship 集中度でランク付けされたリファクタリング対象——さらに、スキャンを拒否したすべてのファイルの項目別リストとその理由をカバーする。

2つの例。現在のエンジンで2026-08-31にスキャン。どちらのリポジトリも公開されている——どちらかをクローンして galaxyscope --llm-only <path> を実行すれば、完全なブリーフを再現できる:

curl — 4,250アーティファクト、696スキャン済み、C、Perl、Python、Shell、M4、Makefileにまたがる112,653 LOC。ブリーフは src/tool_setup.h をトップの構造的支柱(80の受信接続)としてランク付けし、Perl 関数——tests/ftpserver.pl 内の APPEND_imap、Impact 2135、1,672 LOC——をリポジトリ全体の関数ヒットリストのトップに置く。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 にコミットされている。 このリポジトリ自身の常に最新のセルフスキャンブリーフは docs/gitgalaxy_architecture_brief.md にある。

1つのグラフ、多くの消費者

消費者問い
アーキテクチャこのリポジトリは何でできているか?
構造分析関数、クラス、API、依存関係、制御構造はどこにあるか?
構造表面プロファイル(旧リスクエクスポージャー)特定の構造/コンテンツパターンはどこに集中しているか?
リファクタリングどのファイルが複雑で、変更が多く、または負荷を支えているか?
サプライチェーンディスク上に物理的に存在する依存関係は何か?
AIコンテキストエージェントが知るべきアーキテクチャと関係は何か?
レガシーマイグレーション変換すべき構造単位はどこにあるか?
履歴分析リポジトリの進化に伴い、測定されたエクスポージャーはどう変化するか?

GitGalaxy architecture pipeline


精度、測定済み

2つの常設測定プログラムが上記の主張を裏付ける。完全なナラティブ——方法論、判定、限界、そして次に来るもの——は 検証プログラムにある。ここでは要約を示す。

構造検証: GitGalaxy vs Tree-sitter vs Ctags

GitGalaxyは、固定された Language Crucible コーパス上で Tree-sitter と Universal Ctags に対してベンチマークされる——45言語のうち24言語が3ツールすべてを取得し、さらに13言語が2ツールを取得し、すべての不一致は実際のソースに対して調査され、判定とともに記録される(201件の記録された不一致形状のうち200件が検証済み)。そのコーパス上で、GitGalaxyの検証済み関数精度は、tree-sitterと比較可能な全31言語で100%であり、検証済みのクラスまたは引数の不一致において誤りと判定されたツールになることは決してない。限界: 3つの構造ターゲット、1つの固定コーパス——一般的に「ASTと同じくらい正確に解析する」ということではない。

Tri-comparison

言語横断の一貫性: Keyword Rosetta コントロールコーパス

より新しいプログラムは逆の問いを立てる: GitGalaxyはすべての言語で同一の意図を同一に測定するか? 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_* 名はDBカラムとして残る——docs/vectors.md を参照)は全50言語で均一なスコア(カラムごとに同一の25.000)を読み取った。レンズが当初スキップした2つの不活性フォーマットの例外、および式の測定された長さ依存性は、台帳に記録され、同日に起票された (#2978、 #2979)。#2978はクローズ済み: レンズは現在、5つの不活性フォーマットすべて(plaintext/markdown/json/yaml/csv)で実行され、カバレッジのためにあまりに多くのドキュメント/設定ノイズと引き換えになるリポジトリ向けに SECURITY_SCAN_INERT_FORMATS 設定のオプトアウトがあり、マージされた修正に対するkeyword-rosettaのコーパス再検証は現在、完全にバンド内に収まる(台帳の secrets-lens-inert-formats エントリ)。すべての偏差は検証済み台帳に記録され、作業は契約ロードマップの下で原因ファミリーごとに追跡され、この方法で見つかった欠陥クラスは GitGalaxyのissueとして起票される。

Cross-language variance chart

コントロールコーパスは同一の意図に対する測定の不平等を証明する。実際のコードにおける精度については何も語らない(それは上記の三者比較の役割である)——そしてファイルごとの一定のバイアスは、言語内でのランキングを依然として保持する。 発生率レポート は、確認された各形状を実際のライセンスコードに対して規模測定する。


実世界のスケール

例: Kubernetes — Go、YAML、JSON、Shell、Protoにまたがる約139万行。 エンドツーエンドスキャン: 50.83秒。スキャン時間はフィットされた2レジームモデルに従う(約4.3K LOC未満ではフラットな ~0.11秒、その後 time(s) ≈ 3.36e-05 × LOC^0.969、599リポジトリにわたる R²=0.88)——したがって、20M+ LOCの外れ値がいくつかあれば依然として数分かかり、高速スキャンはスループットを証明するのであって洞察の質を証明するものではない。精度の問いは以下で別途扱う。

GitGalaxy scan
speed

未編集のアーティファクトについてはraw output repositoryを参照。


構造表面プロファイル: GitGalaxyが主張すること(旧「リスクエクスポージャー」)

カテゴリ