
1 スキャン · 97 の構造シグナル · 50+ 言語 · コンパイル不要
19 のリスク曝露スコア · 6 の最終レポート · 0 依存関係 · pip install gitgalaxy
GitGalaxy は、繰り返し発生する 1 つの問題のために存在します: 大規模で現実的なマルチ言語コードベースを きれいにコンパイルできない状態で理解すること — ほとんどの本番リポジトリが実際に置かれている状態。 これは、ほとんどの静的解析ツールが想定するクリーンな単一言語入力ではありません。
time(s) ≈ 3.36e-05 × LOC^0.969 です (R²=0.88、ほぼ線形、
大きな入力でも劣化しません) — チャートと導出は 証明であって主張ではない を参照、
単なる四捨五入された見出しではありません。これは CodeQL、Semgrep、SonarQube と競合する脆弱性スキャナーではありません。 これらの ツールは、コードがコンパイルできた後に、通常は一度に 1 言語ずつ、深く正確な分析を行います。 GitGalaxy は最初に異なる質問に答えます — このシステム全体は実際にどのような姿をしているのか、 リスクはどこに集中しているのか — リポジトリ内のすべての言語を同時に、 これらのより深いツールが扱えるビルドができる前に。正確には 「アーキテクチャ的比較」 を下で参照して、 各ツールの役割がどこで始まりどこで終わるかを確認してください。
Gitgalaxy は、50 以上の異なる言語が混在する完全なリポジトリを評価し、アーキテクチャをマッピングし、優先順位付けされたリファクタリングターゲット (ホットスポット、バス因子リスク、基幹ファイル) とともにリスク曝露を表面化することができるため、どこに最初に焦点を当てるべきかがわかります。下のグラフは、Apollo-11 1969 年のフライトソフトウェアから最新のテックスタックまでのサンプルコードファイルを含む、当社のゴールデンテストリポジトリに対する 1 回の gitgalaxy スキャンからのワークフローです。ベンチマーク

Gitgalaxy のコア出力は 1 つだけです: リポジトリ全体の決定論的な構造グラフです。 セキュリティ監査、リファクタリングの優先順位付け、レガシーからモダンへの言語 翻訳 (下記の エンタープライズコードベースツールとユースケース を参照) は、 すべて同じグラフのコンシューマーであり、別々のエンジンを備えた別々の製品ではありません — このため、単一目的の脆弱性スキャナーというよりは、アーキテクチャインテリジェンスプラットフォームに近い ものになっています。
ほとんどのコードインテリジェンスエンジンは tree-sitter のような AST を使用しており、これはリポジトリを過度に細かい粒度で表示します (家を理解しようとして、すべてのレンガとガラス板のリストを渡されるようなもの) そのため、スキャンできる言語とファイルが制限されます。現代のリポジトリは多言語です。多くのリポジトリには、適切な AST のない古いコードがあります。これを回避するために、Gitgalaxy はカスタムの regex / レキシカル構造解析エンジンとその上の統計レイヤーを使用します — ファイルごとに特徴ベクトルを構築し (~97 の regex「シグナル」カテゴリから。関数、制御フロー、I/O、状態変更、その他多数の構造的およびセキュリティ関連の動作の境界をマークします)、リポジトリごとにも (インポート解決 + PageRank / 中心性による依存関係グラフ) 構築し、その生のカウントをシグモイド関数で正規化された 0 〜 100 のリスクスコアに変換し、結果を 6 つの形式にエクスポートします。
Gitgalaxy は、AST レベルの精度を、桁違いの速度と普遍的な言語カバレッジと引き換えにしています。これは、BLAST が Smith-Waterman の 網羅的アラインメントをゲノミクスにおけるヒューリスティックな速度と引き換えたのと同じ精神です。出力には、SARIF、CycloneDX SBOM、クエリ可能な SQLite 知識グラフ、LLM 最適化アーキテクチャブリーフ、および 1 回のスキャンパスからの 3D 可視化データが含まれます — 実際のスキャン時間の数値については、上記の「どのような課題を解決するのか?」を参照してください。単なる形容詞ではなく。
その結果は、コードをコンパイルすることを一切必要とせずに構築された、リポジトリの決定論的知識グラフです。テストコードとコアロジックの比率を計算し、依存関係グラフを通じて各ファイルの下流の「ブラスト半径」をマッピングし、行ごとのリンターが見逃すプロジェクト構造シグナルを表面化します。ファイルごとのシグナル抽出はコードベースサイズに線形の時間で実行されます。リポジトリレベルのグラフメトリクス (中心性、コミュニティ検出) は、非常に大きなグラフでは明示的なサンプリング境界を持つ標準的なネットワーク解析アルゴリズムを使用します。
その構造グラフを git 履歴と交差させると、2 つの具体的で優先順位付けされたリファクタリングシグナルも表面化します: バス因子リスク (ほぼ 1 人のコントリビューターだけが所有する基幹ファイル) と リファクタリングホットスポット (高チャーン、高複雑性、高負債を同時に抱えるファイル — リファクタリングの努力が実際に報われる場所を示す標準的なシグナル)。どちらも名前付きのファイルレベルのターゲットであり、単なるスコアではありません。

GitGalaxy は 2 種類の異なる出力を生成します。これらは異なる方法で読む必要があります。
リスク曝露スコア は、19 カテゴリにわたる 0–100 の密度正規化シグナルです (秘密情報、インジェクション面、メモリ破壊など)、関数から ファイル、フォルダ、リポジトリへとロールアップされます。高いスコアは これが最初に注目に値する ことを意味します — それは優先順位付けのシグナルであり、判定ではありません。2 つのファイルが同じスコアを持つ理由は まったく異なる可能性があります: 実際の問題か、表面上は同じに見える正当なパターンか。 暗号化マルウェアと十分にテストされた暗号ルーチンはどちらも高いエントロピーを生成します。 GitGalaxy はどちらを見つけたかを教えることはできません — ただ もう一度見る価値がある何かがあるということだけです。
ファインディング は個々の行レベルのフラグです: リスクしきい値を超えた特定の構造シグネチャ。 これらはレビューするための証拠であり、確認された脆弱性ではありません。 GitGalaxy はコードを実行したり、ランタイムのデータフローを追跡したり、悪用可能性を検証したりすることは決してありません — 特定の行にパターンが存在することをテキスト上で示し、 それを自分で判断するための文脈を提供します。
これは意図的であり、隠している制限ではありません。 GitGalaxy は精度よりも再現率を優先するように作られています: より多くフラグを立て、人間やより深いツールにリストを絞り込ませることで、 実際の問題に対して沈黙するリスクを避けます。偽陽性はそのトレードオフの予想されるコストであり、 これは、読み取ったコードを実行しないすべての静的アナライザーにとって 同じです。
これはまた、GitGalaxy が特定のクラスの問題に対して最も強いことを意味します —
敵対的回避ではなく、過失。 誰かが削除し忘れたハードコードされたキー、安全でないレジストリ、
明らかに危険な eval() 呼び出し — これらの相手は誰もスキャナーから隠れようとはしていません。
静的でシグネチャベースの検出がどのように機能するかを知っている動機のある攻撃者は、
エントロピーしきい値のような個々のシグナルをほとんど労力なく回避できます。
GitGalaxy を、手で読むには大きすぎるコードベースに対する高速な最初のパスとして扱ってください —
何かが安全かどうかの最終的な判断としてではなく。
ほとんどの依存関係スキャナーはルックアップテーブルから動作します: 誰かが脆弱性を発見し、報告し、フィードに CVE 番号が登録されたから、その脆弱性が存在することを知っています。これは有用ですが、必然的に事後対応的です — このように構築されたスキャナーは、まだ発見・開示されていないものに対しては盲目です。報告されたインスタンスと少しだけ異なる、既知の悪いパターンの単純な変種も含めて。
GitGalaxy は異なるアプローチを取ります: 既知のインスタンスをマッチングする代わりに、脆弱性 クラス をマッチングします。そのファインディングは CWE (Common Weakness Enumeration) によってタグ付けされています — ハードコードされた認証情報、動的コード実行、安全でないデシリアライゼーション — CVE ID ではなく。「汚染された入力の動的実行」の構造シグネチャは、それがどこに現れようと、どのような変数名であれ、どのような特定の配置であれ、そのパターンを捕捉します — 誰かがすでに報告書を提出した 1 つのインスタンスだけでなく。
同じ哲学は SBOM レイヤーにも及びます。「このパッケージバージョンは脆弱性データベースに存在するか」と尋ねる代わりに、GitGalaxy は「ディスク上のこのパッケージの実際のコンテンツが、正規のバージョンが持つべき姿と構造的に一致するか」を尋ねます — エントロピー、構造フィンガープリント、行動異常フラグ。これが、改ざんされた依存関係が初日に、誰も何も発見・開示する前に捕捉される仕組みです。待つべき CVE がないからです。
これは CVE フィードツール (Snyk、Dependabot、OSV-Scanner) を補完するものであり、置き換えるものではありません — これらのツールは「この正確な既知のバグが存在するか」に対する正しい答えです。GitGalaxy はより広い網に対する正しい答えです: 誰かが最初に特定のインスタンスを発見して報告することを必要としない脆弱性クラスと物理的異常。
これは、各ツールが構造的に何を必要とし、何を検出するかについての自己申告による比較であり、独立したベンチマークではありません — 各プロジェクトのドキュメントで検証してください。これは 1 つの質問に率直に答えるために存在します: GitGalaxy は実際にどのギャップを埋めるために作られたのか、関連するが異なる仕事をするツールと比較して。
GitGalaxy の SAST カテゴリの同類ツールが AST またはコンパイル可能なビルドを必要とし、CVE フィードツールがパッケージマニフェストを必要とする場所こそ、まさに GitGalaxy が埋めるために作られたギャップです — それらが得意とすることを置き換えるという主張ではありません。
上記の「構造シグネチャ」と「AST 不要」の主張はすべて、信頼するだけでなく、自分で検査して再実行できる 3 つのものに裏付けられています。
gitgalaxy/standards/language_standards.py は、エンジンが構造を認識するために使用するすべての regex ルールを定義しています — 関数の開始、API 境界、安全バイパス — 実際の構造シグネチャを持つ 45 言語にわたって (合計約 1,970 のコンパイル済みパターン)。これらのルールはそれぞれ、一致すべきもの、明示的に 除外 すべきもの (ほとんどの regex ベースのツールがスキップする偽陽性チェック)、および敵対的な入力によってハングしないことについてテストされています。完全なインデックスについては tests/README.md を、それを完了させた監査については epic #518 を参照してください — その過程で理論上のカバレッジだけでなく、数十の実際の regex バグが発見され修正されました。language-crucible は、主要なオープンソースプロジェクトから取得した約 120 の実在するサブディレクトリの、固定・タグ付けされたスナップショットです — Godot の C++、Roslyn C# コンパイラ、curl、Kubernetes、Apollo 11 の AGC フライトソフトウェアなど — これらは意図的に切断され、コンパイル不能な状態、つまり実際のリポジトリと同じ敵対的状態に置かれています。パースエンジンに触れるすべてのプルリクエストは、そのコーパス全体を再スキャンし、出力をフィールドごとにチェックインされたスナップショット (tests/golden_master_audit.json) と差分を取ります。差分があるということは、実際のコードで出力が変更されたことを意味し、受け入れられる前に説明する必要があります — スモークテストではなく、実際のゴールデンマスター比較です。これが CI にどのように組み込まれているかは tests/README.md を、そのコーパスがなぜそのように構築されているかは language-crucible 自身の README を参照してください。GitGalaxy は CI 内 で実行されることを意図しており、スターをもらって忘れられるだけではありません。そのため、私たちは CI/本番統合を、人による発見と並ぶ独自の採用シグナルとして追跡し、ノイズとして除外しません。
左: GitHub のスターとフォーク (累積 — 各スター/フォーク自身のタイムスタンプから再構築されたもので、前方のスナップショットだけではありません) に加え、1 日あたりのユニーククローナー数とプロフィールビュー数。右: GitLab CI/CD カタログの使用状況 (過去 30 日間にパイプラインで GitGalaxy を実行しているユニークプロジェクト) と GitHub Action の採用状況 (ワークフローでアクションを参照しているユニークリポジトリ、コード検索による — GitGalaxy はまだ Marketplace に掲載されていないため、これが利用可能な最良のパッシブシグナルです)。左のパネルとは異なり、GitHub と GitLab はこれら 2 つの履歴を公開していないため、右のパネルはバックフィルされたトレンドではなく、日々埋まっていくことが期待されます。
PyPI、GitHub、GitLab にわたる複合配布量を、ベースラインとなるコントロールリポジトリと比較したもの — 均一に重複排除された数値ではありません。GitHub のユニーククローナー数と GitLab のユニークプロジェクト数は実際に重複排除されていますが、PyPI の公開ダウンロードデータには重複排除するための ID がありません (ミラーなしで測定されており、既知のミラー同期ボットは除外されますが、CI 駆動のインストールは除外されません)。そのため、そのコンポーネントは生のダウンロードイベント数です。GitHub/PyPI の内訳の線がウィンドウの途中から始まるのは、ソースごとの追跡が総フェッチ追跡の後に追加されたためです。その前の合計線はすべてのソースを合算したものです。
ソースごとに何が重複排除され、何がされていないかを含む完全な方法論: squid-protocol/squid-telemetry。
GitGalaxy は、スキャンとベクトル化の 100% をローカルで実行します — エンジンは同じように動作します 完全にエアギャップされた環境でも、接続された環境でも同じです。
プラットフォーム用のテンプレートをパイプラインにそのまま取り込んでください。各テンプレートはGitGalaxyスキャンを実行し、リスク閾値またはマルウェアシグネチャ違反時にビルドを失敗させることができます。
コアエンジンの構造グラフは、その上に構築された一連のスタンドアロンツールにデータを供給します。各ツールはgitgalaxy/tools/配下の独立したモジュールであり、リポジトリ自体を再解析するのではなく、同じ決定論的スキャン出力を消費します。
決定論的で忠実度の高い翻訳パイプラインです。レガシーCOBOLを完全にコンパイル可能な最新のSpring Bootアーキテクチャに変換し、メモリを正確にマッピングしてJPAエンティティ、RESTコントローラー、Mavenビルドをスキャフォールディングしてから、AIを利用して分離されたビジネスロジックを翻訳します。
メインフレームのモノリスをサニタイズするための分析スイートです。レガシーの字句トラップを安全に中和し、デッド実行メモリを抽出し、トポロジカルなDAG実行順序をマッピングし、最新のクラウドデプロイ用のZero-Trust JCL構成を生成します。
マニフェストファイルを信頼するのではなく物理ファイルの内部をスキャンするプリコミットファイアウォールです。ステガノグラフィー、バイトレベルのXOR復号ループ、ホモグリフタイポスクワッティング、露出した暗号化ボールトがCI/CDパイプラインに入る前にブロックするように設計されています。GitHub Actionから直接デプロイできます。
package.jsonやrequirements.txtを盲目的に信頼しないソフトウェア部品表(SBOM)ジェネレーターです。ディスク上の物理的な依存関係を特定し、正当なバージョンが持つべき外観とエントロピーおよび言語的同一性を照合し、厳格なCycloneDX 1.4 JSONレポートを生成します。
未文書化および旧式のAPIサーフェスを特定するための決定論的マッピングツールです。構造的regexを使用してアクティブな物理ルーティングロジック(Express、Spring Boot、FastAPI)を検出し、公式のOpenAPI/Swaggerドキュメントに対して集合論を適用して、シャドウAPI(未文書化ルート)とゴーストAPI(文書化されているがもはや実装されていないルート)を特定します。
インデックスを必要とせず0.07 GB/秒で動作するログ分析です。大規模なデータベースダンプをストリーミングしてPII(クレジットカード、SSN、AWSキー)を検出・マスキングし、静的アーキテクチャマップを使用してランタイム実行頻度をASCII時系列ヒストグラムとして報告します。
AppSecセンサーは、生の状態変更機能に接続されたAIエージェントにフラグを立てます。直接的なネットワーク/ディスクI/Oと並行してインポートされたLLMオーケストレーションフレームワーク(LangChain、LlamaIndex)と、閾値未満の防御的プログラミング密度の組み合わせです。これはライブラリの同一性シグナルであり、ランタイム動作に関する主張ではありません。データフロー追跡のないregexのみのエンジンは、コードが実際にそのパスを実行することを証明できないため、そのような主張はしません(証明不可能な主張を行ったために削除されたチェックについては#1102を参照)。別途、Dev Agentファイアウォールはトークン量と爆発半径を評価して、自律コーディングエージェントが危険なファイルやコンテキストトークンを消耗するファイルを変更することを制限します。
視覚的な分析をお好みなら、各ファイルがノードを表し、特定のリスクメトリクスに応じてサイズと色が設定されるトポロジカルダッシュボードを構築しました。
生成されたyour_repo_GPU_galaxy.jsonファイル(または生のリポジトリの.zip)をGitGalaxy.ioに直接ドラッグ&ドロップするだけです。すべてのレンダリングとスキャンはブラウザのローカルメモリ内で完全に実行されます。

Copyright (c) 2026 Joe Esquibel
GitGalaxyはPolyForm Noncommercial License 1.0.0の下で配布されています。
私たちはオープンソースコミュニティと学術コミュニティに深くコミットしています。個人プロジェクト、学術研究、または非商業開発にGitGalaxyを使用する場合、エンジンは100%無料で使用できます。
ターミナルまたは個人のCI/CDパイプラインで商用ライセンスの遅延を抑止するには、以下の環境変数を設定するだけです。```bash export GITGALAXY_LICENSE_KEY="COMMUNITY_FREE_TIER"
### 商用・エンタープライズ利用
GitGalaxyを企業環境、プロプライエタリなコードベース、または商用CI/CDパイプラインで実行するには、エンタープライズライセンスが必要です。ライセンス未取得の企業パイプラインでは意図的な実行制限が発生し、企業環境でCommunity Free Tierキーを使用しようとすると、監査ログに明示的な非準拠警告が記録されます。
組織向けの商用キーを取得し、クリーンなコンプライアンスログを確保するには、**[email protected]** までお問い合わせください。
| GitGalaxy | Semgrep | CodeQL | Snyk / Dependabot |
|---|
| AST またはビルドを必要とする | いいえ — regex/レキシカル構造シグネチャ | はい — 言語ごとの AST パターンマッチング | はい — コードデータベースをコンパイル/抽出 | いいえ — パッケージマニフェストを読み取る |
| 検出の基準 | 脆弱性クラス (CWE) + 物理的/構造的異常 | パターンマッチルール (SAST) | データフロー/汚染クエリ (SAST) | CVE/アドバイザリデータベースのルックアップ (SCA) |
| 壊れた/未コンパイルのコードで動作する | はい — これが設計目標 | 部分的 — ルール/パーサーに依存 | いいえ — 動作するビルドが必要 | はい — マニフェストのみを読み取る |
| オフライン / エアギャップ対応 | はい、完全にローカル | OSS エンジンはローカルで実行; Cloud Platform はホスト型 | ローカルで実行; 通常は GitHub ホストの Actions 経由で使用 | クラウド依存 (Snyk); GitHub ホスト (Dependabot) |
_galaxy_audit.json、_galaxy_master.db、_galaxy_llm.md が、エンジンリリースごとにバージョン管理されて保持されています。どのリポジトリとコミットがスキャンされたかを正確に固定するコーパスマニフェストは、現在、そこにアーカイブされた大規模バッチの 323 リポジトリのサブセットをカバーしています — 完全であると暗示するのではなく、そのリポジトリ自身の README に明確に記載されています。上記の速度の主張は、まさにこの生出力のバッチからフィットされたものです — 好都合な Kubernetes の例だけでなく、すべてのリポジトリがプロットされています:
常に最新のスキャナーバージョン — 完全な導出と方法論は gitgalaxy-raw-output の Speed Telemetry セクション にあります。
| プラットフォーム | テンプレート |
|---|
| GitHub Actions | gitgalaxy-pipeline.yml — 完全な統合ガイドを参照 |
| GitLab CI | scan.yml |
| Bitbucket Pipelines | bitbucket-pipelines.yml + bitbucket_insights.py (検出結果をBitbucket Code Insightsの注釈として投稿します) |
| Azure Pipelines | azure-pipelines.yml |
| その他(Jenkins、CircleCIなど) | scan.yml — 汎用のシェル呼び出し可能テンプレート |