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にエクスポートします。

リポジトリを見る
3427日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
# GitGalaxy

**コンパイル不要のリポジトリ規模の構造インテリジェンス。**

[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回のスキャン · 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
```

同じ決定論的スキャンの6つの協調ビュー:

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

### アーキテクチャブリーフ

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

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コードと同じランキングです。このクロス言語グラフこそが製品です。リポジトリ内のすべての言語にわたる、1つの比較可能なシグナルセットです。同じブリーフに正直な注意書きがあります。スキャンされたのはアーティファクトのわずか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)にあります。

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

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

![GitGalaxy architecture pipeline](https://assets.kitploit.com/production/public/readmes/7003/c082f81cf091b2c568775d3ffcbbc143348e16b78fb59e3021e26f94d1df624c.png)

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

## 測定された精度

上記の主張を裏付ける2つの常設測定プログラムがあり、依存関係とコールグラフのための3つ目が進行中です。完全なナラティブ——方法論、判定、限界、そして次に来るもの——は[検証プログラム](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言語が3ツールすべてを取得し、さらに13言語が2ツールを取得し、すべての不一致は実際のソースに対して調査され、判定とともに記録されます(201件の記録された不一致形状のうち200件が検証済み)。そのコーパス上で、GitGalaxyの検証済み関数精度は、tree-sitterと比較可能な31言語すべてで100%であり、検証済みのクラスまたは引数の不一致で誤りと判定されたツールになることはありません。限界: 3つの構造的ターゲット、1つの固定コーパス——一般的に「ASTと同じくらい正確に解析する」わけではありません。

![Tri-comparison](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%の再現率。オーバーロードされたメソッドへのコールは、その引数の数が1つのオーバーロードを選ぶ場合にのみリンクされます([#3835](https://github.com/squid-protocol/gitgalaxy/issues/3835))。

  コールリンクは、作成された場合は通常正しいですが、コールの約半分以上はリンクされないままです。したがって、関数レベルのファンインとPageRankは下限値です。

限界:
- 他の38言語のグラフは同じ方法で構築されていますが、**測定されていません**。
- いくつかの測定済み言語は、インポートが100未満の1つのリポジトリに依存しています。チャートはそれらを薄く表示します。
- `*`は、ソースに対する判定がまだ保留中の不一致がある数値を示します。

これらのギャップを埋める計画は[epic #3772](https://github.com/squid-protocol/gitgalaxy/issues/3772)です。

![Graph accuracy coverage](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%——しかしそれらのサブバンドセルは文書化されており、欠陥ではありません。この主張は拡張にも耐えます: コーパスが最初のセキュリティレンズプローブ——すべての言語で1つの同一のハードコードされたシークレット——を植え付けたとき、`credential_material`(旧`risk_secrets_risk`; `risk_*`名はDBカラムとして残ります——[`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md)を参照)は**50言語すべてで均一なスコア**を読み取りました(カラムごとに同一の25.000)。レンズが当初スキップした2つの不活性フォーマットの例外、および式の測定された長さ依存性は、台帳化され、同じ日にファイルされました([#2978](https://github.com/squid-protocol/gitgalaxy/issues/2978)、[#2979](https://github.com/squid-protocol/gitgalaxy/issues/2979))。#2978はクローズされました: レンズは現在5つの不活性フォーマットすべて(plaintext/markdown/json/yaml/csv)で実行され、カバレッジと引き換えにドキュメント/設定のノイズが大きすぎるリポジトリ向けに`SECURITY_SCAN_INERT_FORMATS`設定のオプトアウトがあり、マージされた修正に対するkeyword-rosettaのコーパス再検証は現在完全にバンド内に収まります(台帳の`secrets-lens-inert-formats`エントリ)。すべての偏差は検証済み台帳に記録され、作業は[contract roadmap](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/contract_roadmap.md)の下で原因ファミリーごとに追跡され、この方法で見つかった欠陥クラスは[GitGalaxyのissueとしてファイルされます](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md)。

![Cross-language variance chart](https://raw.githubusercontent.com/squid-protocol/keyword-rosetta/main/docs/bias_variance_chart.svg)

コントロールコーパスは同一の意図に対する測定の不平等を証明しますが、実際のコードでの精度については何も述べません(それは上記のtri-comparisonの役割です)——そしてファイルごとの一定のバイアスは、言語*内*でのランキングを依然として保持します。[incidence report](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/incidence_report.md)は、確認された各形状を実際のライセンスコードに対してサイズ評価します。

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

## 実世界のスケール

例: **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](https://assets.kitploit.com/production/public/readmes/7003/596585161af8eeb861f49e2968927d69059333f145c0e2b6e9bb0cb9c9d7bc36.png)

未編集のアーティファクトについては[raw output
repository](https://github.com/squid-protocol/gitgalaxy-raw-output)を参照してください。

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

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

GitGalaxyの13のファイルごとのベクトルは、もともと`risk_*`と名付けられ、**リスクエクスポージャー測定**として記述されていました。このセクションがかつて未解決のままにしていた問い——「これらのシグネチャは、意味のあるソフトウェアリスクのクラスと経験的に関連しているか?」——は、その後、問われるだけでなくテストされました。temporal-crucible検証プログラム(epic [#2982](https://github.com/squid-protocol/gitgalaxy/issues/2982)、約3,550のスキャン済みスナップショット、2つのリポジトリ、3つのラベルファミリー、すべてのテストはデータを見る前に事前登録済み)はその実験を徹底的に実行し、正直な結果が名前変更を促しました([#2991](https://github.com/squid-protocol/gitgalaxy/issues/2991)): ベクトルは現在**構造的表面プロファイル**と呼ばれています。`risk_*`は互換性のためにDBカラム/JSONキー名として残ります(完全な名前表と非推奨の注記については[`docs/vectors.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/vectors.md)を参照)。

**記録が明らかにしたこと、正直に言い直すと:**

- **ファイルごとの常置リスクは、反証されました。** 創設時の仮説——ファイルの`risk_*`レベル、または修正後のその変化が、欠陥確率を追跡する——は成立しませんでした。セキュリティ修正後の構造デルタの中央値は+0.000でした(2つ目の独立したリポジトリで等価性確認されたほぼゼロであり、単に有意でないだけではありません); 合計構造エクスポージャーは、修正が触れたファイルを予測する6つの特徴のうち*最下位*にランク付けされました; 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)を参照してください。
- **システムレベル/履歴シグナル、実際の予測的発見として言い直すと。** 2つの特徴が検証を*生き残りました*: **再犯性**(最後の修正があったファイルが次の修正を受ける——プログラムで最も再現された結果であり、両リポジトリでp<1e-4)と**変更エントロピー/Hassan HCM**で、新しいバグラベルで選択外検証されました(AUC 0.868 対 行数の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)で再生成され、手で編集されることはありません。

### Tri-comparison

同じコーパスが、カバレッジが存在する場合はGitGalaxy、Tree-sitter、Ctagsに対して分析されます——45言語のうち24言語が3ツールすべてを取得し、201件の記録された不一致のうち200件が検証済みです。固定コーパス上で、GitGalaxyは検証済みの関数精度、クラス、または引数の不一致で誤りと判定されたツールになることはなく、設計上スキップする1つのネストされたシェル定義を除いて、すべての場所で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のサポート言語すべてに植え付け、すべてのメトリクスのクロス言語一貫性を測定します——検証済みの偏差台帳と、その結果としてのエンジン欠陥は[issueとしてファイルされます](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/findings_by_language.md)。

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

### 生のリポジトリ出力

未編集のGitGalaxy出力は、独立して選択された数百のリポジトリのために保持されています。

[Raw Output](https://github.com/squid-protocol/gitgalaxy-raw-output)

### 回帰スイート

デフォルトスイート(`python -m pytest tests/`)には**7,043のテスト**があり、そのうち**6,165**は45の構造的シグネチャ言語すべてにわたるシグネチャごとのテストです——ポジティブマッチ、明示的除外、敵対的/ReDoS入力。内訳については[`tests/README.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/tests/README.md)を、この抽出がAST読み取りを上回る具体的で証拠に基づくケースについては[`docs/why_gitgalaxy_beats_ast_here.md`](https://gitlab.com/squid-protocol1/gitgalaxy/-/blob/main/docs/why_gitgalaxy_beats_ast_here.md)を参照してください。

### Temporal Crucible(履歴検証)

構造的表面プロファイルがGit履歴にわたる実際のセキュリティおよびメンテナンスイベントに対応するかどうかは、もはや未解決の問いではありません——テストされました。[Temporal Crucible](https://github.com/squid-protocol/temporal-crucible)プログラムは、2つのリポジトリ(curl、nDPI)と3つのラベルファミリー(CVE修正/導入コミット、バグラベル、CWEファミリー)にわたる約3,550のリポジトリスナップショットをスキャンし、すべての確認テストはデータを見る前に事前登録されました。それが見つけたこと、正直に述べると:

-   **ファイルごとの常置構造リスクは欠陥を予測しない**——それは行数に還元され、2つ目の独立したリポジトリでの等価性テストによって確認された帰無仮説です(単に「有意でない」だけではありません)。
-   **2つの*履歴*メトリクスは予測する**: 再犯性(最後の修正があったファイルが次の修正を受ける——両リポジトリで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/)を参照してください。

### ゼロ依存モード

---

[Read more](https://gitlab.com/squid-protocol1/gitgalaxy)
ツールをダウンロード