
محرك رسوم بيانية معرفية استدلالي خالٍ من AST للاستخبارات العميقة للمستودعات وفحص الأمان وفق نموذج الثقة المعدومة (Zero-Trust). يتكامل كمكوّن في GitLab CI/CD، ويحظر الأكواد الخبيثة، ويصدّر بيانات القياس بصيغة SARIF إلى لوحة تحكم أمان GitLab.
ذكاء بنيوي على مستوى المستودع دون تجميع.
Docs · Visualizer · Language Crucible · Keyword Rosetta · Raw Output
1 scan · 97 structural signals · 50+ languages · no compilation · 17 risk-exposure categories · 6 outputs
يبني GitGalaxy رسمًا بيانيًا بنيويًا مستقلًا عن اللغة لمستودع كامل مباشرةً من النص المصدري — دون بناء، ودون سلسلة أدوات خاصة بكل لغة.
وهو مصمم للمستودعات متعددة اللغات، أو المعطوبة جزئيًا، أو القديمة، أو المثقلة بالمكتبات الخارجية، أو التي يصعب تحليلها عبر سير عمل يبدأ بالبناء:
Go + C++ + Python + Java + Bash + YAML
+ generated code + vendored code + legacy code
+ half-migrated modules + broken dependencies
بدلاً من محلل منفصل لكل لغة، يستخرج GitGalaxy مفردات مشتركة من البصمات البنيوية — الدوال، والأصناف، والوسائط، وتدفق التحكم، وتغيير الحالة، والإدخال/الإخراج، وواجهات برمجة التطبيقات، والاعتماديات — ويوحّدها في نموذج مستودع حتمي واحد يغذّي تحليل البنية المعمارية، وترتيب أولويات التعرض للمخاطر، وتوليد SBOM، وإعادة الهيكلة وتحليل الملكية، وسياق قاعدة الشيفرة الموجّه للذكاء الاصطناعي، وبوابات CI/CD.
الأطروحة المركزية: التحليل الكامل للغة ليس ضرورياً دائماً لاستعادة معلومات بنيوية عالية الفائدة على نطاق المستودع.
كيف تُختبر هذه الأطروحة — مقابل Tree-sitter وCtags، ومقابل مجموعة اختبار ضابطة مزروعة، ثم مقابل تاريخ Git — مُلخَّص في الدقة، مقيسة أدناه ومفصَّل بالكامل في برنامج التحقق.
أمر واحد:
pip install gitgalaxy
galaxyscope path/to/repo
ستة عروض منسّقة للمسح الحتمي نفسه:
| المخرجات | الغرض |
|---|---|
| موجز معمارية LLM | سياق مضغوط موجّه للآلة/الوكيل (أدناه) |
| SARIF | تكامل لوحات معلومات CI/الأمن |
| CycloneDX SBOM | جرد التبعيات/الامتثال |
| SQLite | رسم بياني معرفي للمستودع قابل للاستعلام |
| بيانات تدقيق JSON | سير عمل التحليل الجنائي/الأتمتة |
| بيانات تصوّر ثلاثي الأبعاد | طوبولوجيا المستودع التفاعلية |
التقرير الرئيسي هو موجز 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، التأثير 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 والتبعيات وبنى التحكم؟ |
| ملف السطح البنائي (سابقًا التعرّض للمخاطر) | أين يتركّز نمط بنائي/محتوى معيّن؟ |
| إعادة الهيكلة | أي الملفات معقّدة أو عالية التغيّر أو حاملة للحمل؟ |
| سلسلة التوريد | ما التبعيات الموجودة فعليًا على القرص؟ |
| سياق الذكاء الاصطناعي | ما المعمارية والعلاقات التي ينبغي أن يعرفها الوكيل؟ |
| ترحيل الأنظمة القديمة | أين الوحدات البنائية الواجب تحويلها؟ |
| التحليل التاريخي | كيف يتغيّر التعرّض المقيس مع تطور المستودع؟ |

يُسند برنامجا قياس دائمين المزاعم أعلاه، وثالث للتبعيات ورسوم الاستدعاء قيد الإنجاز. السرد الكامل — المنهجية والأحكام والحدود وما سيأتي — في برنامج التحقق; وهذا هو الملخص.
يُقاس GitGalaxy مقابل Tree-sitter وUniversal Ctags على مجموعة Language Crucible المثبّتة — 24 من 45 لغة تحصل على الأدوات الثلاث كلها، و13 أخرى تحصل على اثنتين، وكل خلاف يُحقّق فيه مقابل المصدر الحقيقي ويُسجّل بحكم (200 من 201 شكل تباين مسجّل تم التحقق منه). على تلك المجموعة، دقة الدوال المتحقَّق منها في GitGalaxy هي 100% عبر جميع اللغات الـ31 القابلة للمقارنة مع tree-sitter، وهو ليس الأداة التي وُجدت مخطئة في أي خلاف متحقَّق منه على صنف أو وسيط. الحد: ثلاثة أهداف بنائية، ومجموعة واحدة ثابتة — لا "يحلّل بدقة AST" بشكل عام.
نطاق التأثير وPageRank و"الركائز البنائية" تأتي من رسم الاستيراد البياني. أما تصنيفات مستوى الدوال فتأتي من رسم الاستدعاء البياني. لا يُقاس أي من الرسمين في كل اللغات بعد، ويوضّح المخطط أدناه أيّها مُقاس:
حتى 2026-09-26، من أصل 59 لغة:
رسم الاستيراد البياني مُقاس في 20. تُفحص حواف المحرك مقابل عبارات الاستيراد
الخاصة بكل لغة على مستودعات حقيقية مثبّتة
(import_graph_accuracy.py).
أسماء المُستدعى مُقاسة في 11، مقابل tree-sitter.
حلّ الاستدعاء مُقاس في 3، مقابل محلّل مرجعي:
رابط الاستدعاء، عند إنشائه، يكون صحيحًا عادةً، لكن نحو نصف الاستدعاءات أو أكثر تُترك غير مربوطة. لذا فإن fan-in وPageRank على مستوى الدوال هما حدّ أدنى.