
xalgorix v4.5.124
وكلاء اختبار اختراق بالذكاء الاصطناعي مستقلون — استطلاع في الوقت الفعلي، واكتشاف الثغرات، وتنسيق عمليات الاستغلال. Go + TypeScript.
Xalgorix — مختبِر اختراق مفتوح المصدر بالذكاء الاصطناعي يُثبت الثغرات الأمنية
معظم الماسحات تكتشف. Xalgorix يُثبت. وكيل LLM مستقل يعمل بمنهجية اختبار اختراق كاملة، ثم يقوم مُدقّق مستقل بإعادة استغلال كل اكتشاف قبل الإبلاغ عنه — لتحصل على إثبات، وليس كومة من الاحتمالات التي تحتاج إلى فرز. مستضاف ذاتيًا، وخاص، ويمكنك استخدام نموذج LLM الخاص بك. مبني بلغة Go + TypeScript.
🚀 بدء سريع · 💡 لماذا Xalgorix · ✨ الميزات · 🎯 حالات الاستخدام · ☁️ السحابة المستضافة · 📖 التوثيق
📸 لقطات الشاشة
🖥️ لوحة التحكم المستضافة ذاتيًا — تعمل محليًا على 127.0.0.1:9137
| لوحة النظرة العامة | تفاصيل الفحص | الاكتشافات |
|---|---|---|
![]() | ![]() | ![]() |
☁️ لوحة التحكم السحابية المستضافة — النسخة المُدارة بالكامل على www.xalgorix.com
🚀 بدء سريع
التثبيت (سطر واحد):```bash curl -sSL https://www.xalgorix.com/install | bash
هذا يقوم بتنزيل الملف الثنائي المُجمّع مسبقًا لمنصتك (Linux amd64/arm64) من أحدث إصدار. ثم قم بتشغيل معالج الإعداد التفاعلي:```bash
xalgorix --setup
اختر مزوّد الخدمة، وأكّد النموذج، وأدخل مفتاح API عند الطلب. للحصول على أفضل النتائج، استخدم نموذجًا حاليًا من الطراز الأول يتمتع باستدلال قوي، وأداء جيد في السياقات الطويلة، واستدعاء أدوات موثوقًا—مثل أحدث نموذج GPT أو Claude أو Gemini المتاح لديك. تبقى النماذج الأصغر أو المحلية مدعومة، لكنها قد تتطلب إشرافًا أكبر أثناء عمليات الفحص الذاتي الطويلة. يخزّن Xalgorix المفتاح بشكل خاص في ~/.xalgorix.env (الوضع 0600) ويمكنه تشغيل لوحة التحكم لك. لا يحتاج Ollama المحلي إلى مفتاح API.
إذا اخترت عدم التشغيل فورًا، ابدأ لاحقًا باستخدام xalgorix --web وافتح http://127.0.0.1:9137. يمكنك تغيير المزوّد أو الخيارات المتقدمة في أي وقت من Settings → LLM، أو إعادة تشغيل xalgorix --setup.
أو شغّله باستخدام Docker — كل شيء مضمّن، لا حاجة لأدوات إضافية:```bash
docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest
`--privileged` يمنح مجموعة الأدوات وصولاً مشابهاً لوصول المضيف عند تشغيلها أصلياً كجذر. صندوق الحماية الافتراضي في Docker يُسقط القدرات (مثل `NET_ADMIN`) ويطبق مرشح seccomp، مما يكسر الأدوات منخفضة المستوى (تغييرات iptables/route، ARP-spoof/MITM، شبكات tun/tap VPN، مصححات الأخطاء القائمة على ptrace، ضبط واجهة masscan). نظراً لأن الصورة لا يمكنها منح نفسها هذه القدرات، يجب ضبطها في وقت التشغيل. الحاوية عبارة عن صندوق فحص مسح ضوئي قابل للاستبدال ومعزول شبكياً ويعمل كجذر — الوضع المميز هو الوضع المقصود؛ لا تعرض لوحة التحكم علناً أبداً بدون مصادقة. تفضل أقل امتياز؟ استبدل `--privileged` بـ `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`.
افتح `http://localhost:9137`. **لا تحتاج إلى مفتاح LLM للبدء** — لوحة التحكم تُطلق بدونه؛ عيّن النموذج ومفتاح API تحت **Settings → LLM** (يُحفظ في وحدة التخزين `/data`). إذا لم تمرر `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`، يتم إنشاء كلمة مرور عشوائية للمسؤول وطباعتها في سجلات الحاوية عند أول تشغيل.
**الأسهل — Docker Compose** (يرسم المنفذ + وحدة تخزين دائمة لك):```bash
curl -sSLO https://raw.githubusercontent.com/xalgorix/xalgorix/main/docker-compose.yml
docker compose up -d
docker compose logs -f # shows the generated admin password on first start
تحتوي الصورة على مجموعة أدوات هجومية أمنية شاملة مثبتة مسبقًا (nmap، nuclei، httpx، subfinder، katana، ffuf، gobuster، sqlmap، masscan، dalfox، feroxbuster، والمزيد) وكذلك تُبقي جميع مديري الحزم (apt، go، cargo، pipx، npm) متاحة بحيث يمكن للوكيل تثبيت أي شيء مفقود تلقائيًا أثناء التشغيل. تعمل كجذر (root) داخل الحاوية حسب التصميم — تعامل مع الحاوية كصندوق رمل قابل للتصرف ومعزول عن الشبكة للفحص، ولا تعرض لوحة التحكم أبدًا بدون مصادقة. (صورة amd64؛ المثبّت أعلاه يغطي arm64.)
أو البناء من المصدر (يتطلب Go 1.25+ وNode.js):```bash git clone https://github.com/xalgorix/xalgorix.git cd xalgorix make build sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
> [!TIP]
> تفضّل الإعداد الصفري؟ نسخة مُدارة بالكامل تعمل على [www.xalgorix.com](https://www.xalgorix.com/) — انقر للفحص، دون تثبيت أو مفاتيح API.
### 🤖 مراجعة طلبات السحب تلقائيًا — تطبيق GitHub مجاني
تريد مراجعة أمنية على كل طلب سحب دون أي إعداد؟ ثبّت **[تطبيق Xalgorix على GitHub](https://github.com/apps/xalgorix)**. يقرأ الفرق (diff) في كل PR ويعلّق بمراجعة أمنية — حقن، كسر مصادقة/IDOR، SSRF، أسرار، أنماط غير آمنة — مباشرة على طلب السحب. يتحدّث في مكانه عند الالتزامات الجديدة، ويمكنك التعليق بـ **`@xalgorix review`** لإعادة التشغيل عند الطلب. لا ملف سير عمل، لا مفتاح API، لا حساب — وهو مجاني.
<div align="center">
[**➕ أضف Xalgorix إلى GitHub ←**](https://github.com/apps/xalgorix/installations/new)
</div>
لدمج البوابات (merge gating) واختبارات الاختراق الكاملة المُتحقق منها بالاستغلال في CI، استخدم [الماسح المُستضاف](https://www.xalgorix.com/) أو GitHub Action.
> [!IMPORTANT]
> استخدم Xalgorix فقط على الأنظمة التي تملكها أو لديك إذن صريح لاختبارها.
> [!TIP]
> تفضّل عدم الاستضافة الذاتية؟ نسخة مُدارة بالكامل متاحة على [www.xalgorix.com](https://www.xalgorix.com/) — انقر للفحص، دون تثبيت أو مفاتيح API.
## 📚 المحتويات
| | | |
| --- | --- | --- |
| 📸 [لقطات الشاشة](#-screenshots) | 🔩 [الإعداد](#-configuration) | 🧾 [متغيرات البيئة](#-environment-variables) |
| 🚀 [بدء سريع](#-quick-start) | 🆙 [الترقية](#-upgrading-from-previous-versions) | 🔤 [بادئات المزوّد](#-provider-prefixes) |
| 🔎 [نظرة عامة](#-overview) | 🏃 [التشغيل](#-running) | 💻 [مرجع CLI](#-cli-reference) |
| 💡 [لماذا Xalgorix](#-why-xalgorix) | 🧰 [وضع الخدمة](#-service-mode) | 📡 [ملخص API](#-api-summary) |
| 🎯 [حالات الاستخدام](#-use-cases) | 🔁 [سير عمل واجهة الويب](#-web-ui-workflow) | 💾 [تخزين البيانات](#-data-storage) |
| ✨ [الميزات](#-features) | 🔀 [أوضاع الفحص](#-scan-modes) | 🧪 [التطوير](#-development) |
| 📥 [التثبيت](#-installation) | 📂 [افحص كودك](#-scan-your-code-no-target-needed) | 🚨 [ملاحظات السلامة](#-safety-notes) |
| 🧭 [المنهجية](#-methodology) | 📄 [التقارير](#-reports) | 📜 [الترخيص](#-license) |
| 🔧 [الإعدادات](#-settings) | 🔗 [الروابط](#-links) | |
## 🔎 نظرة عامة
Xalgorix هي منصة اختبار اختراق بالذكاء الاصطناعي مُستضافة ذاتيًا لسير عمل الاختبارات الأمنية المصرّح بها، وتقييم الثغرات، ومكافآت الثغرات (bug bounty). تجمع بين وكيل مستقل مدعوم بـ LLM، وأتمتة المتصفح، وأدوات الطرفية، ومنهجية اختبار شاملة من 22 مرحلة، وقياس عن بُعد مباشر عبر WebSocket، وإدارة النتائج مع تسجيل CVSS، وإنشاء تقارير PDF ذات علامة تجارية، وتكاملات لـ AgentMail وDiscord وTelegram.
على عكس ماسحات DAST السحابية فقط، يعمل Xalgorix بالكامل على جهازك. أنت تُحضر مزوّد LLM الخاص بك (OpenAI، Anthropic، DeepSeek، Gemini، Groq، Ollama، MiniMax) وتتحكم في النموذج، وجهد الاستدلال، وحدود المعدل، وإعدادات الوكيل. لا تغادر بيانات الفحص أو مفاتيح API أو معلومات الهدف بنيتك التحتية.
التجربة الافتراضية هي واجهة الويب. من لوحة تحكم محلية واحدة يمكنك بدء الفحوصات، ومراقبة التشغيلات النشطة، وفحص النتائج، وضبط إعدادات النموذج/المزوّد، وإدارة متغيرات البيئة، وإنشاء تقارير PDF ذات علامة تجارية، وحذف أو استئناف الفحوصات التاريخية.
## 💡 لماذا Xalgorix
معظم الماسحات **تكتشف**. Xalgorix **يُثبت**. يعمل وكيل مستقل عبر منهجية من 22 مرحلة، ثم يعيد مُتحقّق مستقل اختبار كل نتيجة مرشّحة قبل الإبلاغ عنها — فتحصل على نتائج مُتحقق منها بالاستغلال مع أدلة، وليس جدارًا من "ربما" لفرزها.
- 🧠 **وكيل ذكاء اصطناعي، وليس محرك قوالب** — يفكر في تدفقات المصادقة، ومنطق الأعمال، وIDOR/BOLA، والاستغلالات المتسلسلة التي تفوتها الماسحات القائمة على التوقيعات.
- ✅ **نتائج مُتحقق منها بالاستغلال** — مُتحقّق منفصل يعيد إنتاج كل نتيجة بشكل مستقل؛ النتائج غير الحاسمة تُعلَّم للمراجعة، ولا تُقدَّم أبدًا كمؤكدة.
- 🔒 **مُستضاف ذاتيًا وخاص** — يعمل على جهازك بمفتاح LLM الخاص بك؛ لا تغادر بيانات الهدف أو المفاتيح أو النتائج بنيتك التحتية.
- 🧩 **أحضر LLM الخاص بك** — OpenAI، Anthropic، DeepSeek، Gemini، Groq، Ollama، أو MiniMax — أو أي بوابة متوافقة مع OpenAI مثل [LiteLLM](#-litellm--openai-compatible-gateways-github-copilot-claude-opus-codex-openrouter-azure-local-models) (GitHub Copilot، Codex، OpenRouter، Azure). أنت تتحكم في النموذج، وجهد الاستدلال، والتكلفة.
- 📄 **تقارير جاهزة للتدقيق** — ملفات PDF ذات علامة تجارية مع درجات CVSS، وإثبات المفهوم، والمعالجة.
### 📊 كيف يقارن
| | **Xalgorix** | ماسحات القوالب (مثل Nuclei) | ماسحات الزحف (مثل OWASP ZAP) | DAST التجاري |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| النهج | وكيل ذكاء اصطناعي مستقل | توقيعات / قوالب | عنكبوت + قواعد نشطة | توقيعات + استدلالات |
| تغطية منطق الأعمال / IDOR / تجاوز المصادقة | ✅ | محدودة | محدودة | جزئي |
| مُتحقق بالاستغلال (يُثبت الأثر) | ✅ مُتحقّق مستقل | ❌ | ❌ | جزئي |
| حمل الإيجابيات الكاذبة | منخفض (مُثبت) | يعتمد على القالب | مرتفع | متوسط |
| مُستضاف ذاتيًا / تبقى البيانات محلية | ✅ | ✅ | ✅ | عادةً سحابي |
| أحضر LLM الخاص بك | ✅ | — | — | ❌ |
| تقارير PDF ذات علامة تجارية | ✅ | ❌ | أساسي | ✅ |
| التكلفة | مفتوح المصدر + LLM الخاص بك | مجاني | مجاني | $$$ |
> مقارنة اتجاهية — Nuclei وZAP ممتازان فيما يفعلانه. يضيف Xalgorix طبقة الاكتشاف الثقيلة بالاستدلال والتحقق من الاستغلال فوقهما.
### ☁️ مُستضاف ذاتيًا مقابل سحابة مُستضافة
Xalgorix مجاني ومفتوح المصدر — استضفه ذاتيًا إلى الأبد، دون أي شروط. تعمل [السحابة المُستضافة](https://www.xalgorix.com/) على **نفس** محرك التحقق بالاستغلال؛ وهي موجودة لمن يفضّلون عدم إدارة مفاتيح API والبنية التحتية وفواتير LLM غير المتوقعة. كلاهما من الدرجة الأولى — اختر ما يناسبك.
| | **مُستضاف ذاتيًا** (هذا المستودع) | **[السحابة المُستضافة](https://www.xalgorix.com/)** |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| سعر البدء | مجاني، Apache-2.0 | طبقة مجانية · فحص كامل واحد من $1 |
| مفتاح LLM API | أحضر وأدر مفتاحك الخاص | مضمّن — لا شيء لتتعامل معه |
| التكلفة لكل فحص | رموز LLM الخام — متغيرة، قد ترتفع | 1 رصيد لكل مضيف حي — يمكن التنبؤ بها |
| الإعداد والتشغيل | أنت تثبّت وتحدّث وتشغّل مجموعة الأدوات | لا شيء لتشغيله — فحص في ~60 ثانية |
| بنية خارج النطاق (SSRF/RCE أعمى) | جهّز خادم OOB الخاص بك | OOB مُدار مضمّن |
| الجدولة · الفريق · RBAC | افعلها بنفسك | مدمج |
| التحديثات | `git pull` + إعادة بناء | دائمًا على أحدث محرك |
| إقامة البيانات / دون اتصال | ✅ تبقى على بنيتك · متوافق مع العزل الهوائي | يعمل على بنيتنا (DPA متاح) |
**استضف ذاتيًا إذا** كان يجب أن تبقى البيانات على شبكتك، أو تريد تحكمًا كاملًا، أو ستعمل دون اتصال/معزولًا هوائيًا — هذا بالضبط ما صُمم من أجله. **استخدم السحابة إذا** كنت تفضّل تخطي مفاتيح API والبنية التحتية وفواتير الرموز المفاجئة، والدفع فقط مقابل المضيفات الحية التي تفحصها فعليًا.
<div align="center">
[**☁️ جرّب السحابة المُستضافة — مجانًا ←**](https://www.xalgorix.com/) · [**⚖️ قارن التكلفة الحقيقية (حاسبة) ←**](https://www.xalgorix.com/hosted-vs-self-hosted)
</div>
إذا وفّرك Xalgorix دورة فرز، فيرجى **[⭐ منح المستودع نجمة](https://github.com/xalgorix/xalgorix)** — فهذا يساعد الآخرين حقًا في العثور عليه.
## 🎯 حالات الاستخدام
| حالة الاستخدام | كيف يساعد Xalgorix |
| -------- | ------------------ |
| **اختبار الاختراق** | تشغيل منهجية كاملة من 22 مرحلة ضد أهداف مصرّح بها. يتولى وكيل الذكاء الاصطناعي الاستطلاع، واكتشاف الثغرات، واختبار الحقن، وSSRF، وIDOR، وتجاوز المصادقة، وحالات السباق، والمزيد — ثم يتحقق من النتائج قبل الإبلاغ. |
| **صيد مكافآت الثغرات** | وجّه Xalgorix إلى هدف داخل النطاق ودع الوكيل يعدّ سطح الهجوم، ويختبر فئات الثغرات الشائعة، ويعرض نتائج مُتحقق منها مع درجات CVSS وأدلة إثبات المفهوم. |
| **عمليات الفريق الأحمر** | استخدم أوضاع الفحص بالبدل (wildcard) ومتعدد الأهداف لرسم سطح الهجوم الخارجي لمؤسسة. يتعامل DAST بمساعدة المتصفح مع تدفقات المصادقة والنماذج والسلوك الزمني الذي تفوته الماسحات الثابتة. |
| **البحث الأمني** | تدفع مرحلة اكتشاف الثغرات الجديدة الوكيل إلى ما هو أبعد من مطابقة القوالب المعروفة. أحضر LLM الخاص بك (OpenAI، Anthropic، DeepSeek، Gemini، Ollama، MiniMax) للتحكم في عمق الاستدلال والتكلفة. |
| **الاختبار الأمني المستمر** | شغّل كخدمة نظام مع `xalgorix --start`. افحص وفق جدول، وبثّ النتائج إلى Discord أو Telegram، وأنشئ تقارير PDF ذات علامة تجارية لأصحاب المصلحة. |
| **أتمتة DAST** | اختبار مدفوع بالمتصفح لتطبيقات الويب — تدفقات المصادقة، والنماذج، والمحتوى المُقدَّم عبر JavaScript، والسلوك الزمني. يتكامل مع Caido لفحص حركة مرور الوكيل. |
## ✨ الميزات
| المنطقة | القدرات |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 لوحة التحكم | واجهة ويب محلية على `127.0.0.1:9137` افتراضيًا، وإدارة الفحوصات، والحالة المباشرة، وإجراءات الفحص الجماعية، واستعادة الفحوصات التاريخية. |
| 🔍 الفحص | تدفقات هدف واحد، وDAST، وبدل (wildcard)، ومتعدد الأهداف مع مراحل منهجية قابلة للتحديد. |
| 📡 القياس عن بُعد المباشر | استدعاءات الأدوات، ورسائل الوكيل، والنتائج، والأخطاء، ونشاط HTTP، ونشاط LLM عبر WebSockets. |
| 🐞 النتائج | صفحات تفاصيل الفحص، ومرشحات الخطورة، وتفاصيل CVSS، وفهرس النتائج، وسير عمل النتائج المُتحقق منها. |
| 📄 التقارير | تقارير PDF ذات علامة تجارية مع اسم الهدف/الشركة، وشعار مرفوع، وقائمة تقارير، وإجراءات فتح/تنزيل/حذف. |
| 🔔 التكاملات | صناديق بريد اختبار AgentMail، ورسائل التحقق، وتدفقات OTP، وأحداث فرز البريد، وإشعارات Discord وTelegram. |
| ⚙️ الإعداد | إعدادات لوحة التحكم لـ LLM وAgentMail وDiscord وTelegram والوكيل ووقت التشغيل والمتصفح والمصادقة وحدود المعدل والموارد. |
| 🛡️ سلامة وقت التشغيل | حدود مثيلات مدركة للموارد وربط بالحلقة المحلية فقط ما لم يتم تكوين وصول خارجي صراحةً مع مصادقة. |
## 📥 التثبيت
أسرع المسارات لا تحتاج إلى أي مجموعة أدوات على الإطلاق.
### ⚡ تثبيت بسطر واحد (ثنائي مُجمّع مسبقًا)```bash
curl -sSL https://www.xalgorix.com/install | bash
ينزّل أحدث إصدار ثنائي لمنصّتك (Linux amd64/arm64) ويُثبّته في /usr/local/bin (أو ~/.local/bin بدون sudo). يمكنك تجاوز ذلك باستخدام XALGORIX_INSTALL_DIR أو تثبيت إصدار معيّن عبر XALGORIX_VERSION=vX.Y.Z.
أكمل الإعداد الأولي بالكامل بشكل تفاعلي—دون الحاجة إلى تحرير ملف البيئة يدويًا:```bash xalgorix --setup
يقوم المعالج بالحفاظ على الإعدادات الحالية عند إعادة تشغيله، ويخفي إدخال مفتاح API في الطرفية، ويقوم اختياريًا بتشغيل واجهة الويب عند الانتهاء.
### 🐳 Docker```bash
docker run --rm -p 9137:9137 \
--privileged \
-e XALGORIX_LLM=openai/gpt-5.6 \
-e XALGORIX_API_KEY=your_openai_api_key \
-v xalgorix-data:/data \
ghcr.io/xalgord/xalgorix:latest
--privileged (أو الأضيق --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined) يمنح مجموعة الأدوات وصولاً مشابهاً للمضيف. صندوق Docker الافتراضي يُسقط القدرات ويُصفّي استدعاءات النظام، مما يكسر الأدوات منخفضة المستوى (تغييرات iptables/route/interface، ARP-spoof/MITM، شبكات VPN عبر tun/tap، مصححات الأخطاء القائمة على ptrace). لا يمكن للصورة منح هذه لنفسها — فهي قرار وقت التشغيل — لذا مرّر العلامة، أو استخدم ملف docker-compose.yml المرفق، الذي يضبطها لك.
الصورة شاملة: مجموعة أدوات هجومية أمنية واسعة مثبتة مسبقاً (nmap، nuclei، httpx، subfinder، dnsx، naabu، katana، ffuf، gobuster، dalfox، feroxbuster، sqlmap، masscan، nikto، whatweb، hydra، والمزيد)، بالإضافة إلى Chromium لاختبار أمان التطبيقات الديناميكي المدعوم بالمتصفح. كما تُبقي مجموعة مديري الحزم الكاملة (apt، go، cargo، pipx، npm) متاحة، بحيث يقوم الوكيل بتثبيت أي شيء مفقود تلقائياً وقت التشغيل. تُحفظ بيانات الفحص في وحدة التخزين /data، ويُرتبط الخادم بـ 0.0.0.0 داخل الحاوية — اضبط XALGORIX_USERNAME/XALGORIX_PASSWORD قبل كشفه خارج localhost.
تعمل الحاوية كجذر (root) عن قصد (المحرك يفعّل التثبيت التلقائي وقت التشغيل فقط للمعرف uid 0، وتثبيتات apt/go/cargo تحتاج وصول كتابة على مستوى النظام). تعامل معها كصندوق فحص قابل للاستبدال ومعزول شبكياً. وهي منشورة لمعمارية amd64؛ استخدم المثبّت أحادي السطر لمضيفات arm64.
عند التشغيل الأول، إذا لم تضبط مصادقة لوحة التحكم، تُنشئ الحاوية كلمة مرور مسؤول عشوائية وتطبعها في السجلات (الصورة تُربط بـ 0.0.0.0، وهو ما لن يفعله المحرك بدون مصادقة). اضبط XALGORIX_USERNAME + XALGORIX_PASSWORD (أو XALGORIX_PASSWORD_HASH) لاستخدام كلمة مرور خاصة بك. لا يقوم الثنائي أبداً بتحديث نفسه داخل الحاوية (XALGORIX_NO_AUTO_UPDATE=1) — اسحب علامة صورة جديدة للترقية. يتم تحديث محرك nuclei وقوالب الثغرات الخاصة به إلى الأحدث في كل بناء صورة (CI الإصدار وredeploy.sh يفرضان ذلك)؛ مرّر --build-arg NUCLEI_VERSION=vX.Y.Z لتثبيت المحرك، أو NUCLEI_REFRESH=0 ./redeploy.sh لإعادة استخدام ذاكرة التخزين المؤقت لـ Docker.
📋 المتطلبات (البناء من المصدر)
| المتطلب | ملاحظات |
|---|---|
| Linux | المنصة الأساسية المدعومة. |
| Go | 1.25 أو أحدث. |
| Node.js + npm | مطلوب عند بناء واجهة الويب React المرفقة من المصدر. |
| أدوات الأمان | تُثبت عند الطلب فقط عندما يكون التثبيت التلقائي مفعلاً. |
تحقق من إصدار Go لديك:```bash go version
### 🔨 البناء من المصدر```bash
git clone https://github.com/xalgorix/xalgorix.git
cd xalgorix
make build
sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
make build يبني واجهة الويب التفاعلية React في internal/web/static، ثم يبني ملف Go الثنائي.
📦 التثبيت باستخدام Go```bash
GOPROXY=direct GOSUMDB=off go install github.com/xalgord/xalgorix/v4/cmd/xalgorix@latest
## 🔩 الإعدادات
يقوم Xalgorix بتحميل الإعدادات بهذا الترتيب. المصادر اللاحقة تتجاوز المصادر السابقة.
| الترتيب | المصدر |
| ----- | -------------------------------------------------------------- |
| 1 | `/etc/xalgorix.env` |
| 2 | `/home/<sudo-user>/.xalgorix.env` عند التشغيل عبر `sudo` |
| 3 | `~/.xalgorix.env` |
| 4 | متغيرات البيئة الموجودة بالفعل في العملية |
أنشئ ملف البيئة المحلي:```bash
nano ~/.xalgorix.env
🧩 إعدادات الحد الأدنى
للحصول على أقوى نتائج الفحص الذاتي، اختر نموذجًا حدوديًا حاليًا. معرّف النموذج أدناه هو مثال ملموس؛ يمكن إدخال معرّفات نماذج متوافقة أحدث دون انتظار إصدار Xalgorix.```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key
### 🔌 أمثلة على المزودين
OpenAI:```bash
XALGORIX_LLM=openai/gpt-5.6
XALGORIX_API_KEY=sk-...
مزوّد مخصص متوافق مع OpenAI:```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key
#### 🌉 بوابات LiteLLM / المتوافقة مع OpenAI (GitHub Copilot، Claude Opus، Codex، OpenRouter، Azure، النماذج المحلية)
نظرًا لأن `XALGORIX_API_BASE` يقبل أي نقطة نهاية `/v1/chat/completions` متوافقة مع OpenAI،
فإن Xalgorix يعمل مع وكيل [LiteLLM](https://docs.litellm.ai/) مباشرة دون الحاجة إلى أي
تعديلات من جانب Xalgorix. يتولى LiteLLM مصادقة المزود العلوي (تسجيل دخول Copilot
للجهاز، مفاتيح Azure، OpenRouter، Ollama، إلخ)؛ بينما يتواصل Xalgorix فقط مع البوابة عبر بروتوكول OpenAI.
شغّل LiteLLM (مثال `config.yaml`):```yaml
model_list:
- model_name: claude-opus-5
litellm_params:
model: github_copilot/claude-opus-5 # or openrouter/…, azure/…, ollama/…
general_settings:
master_key: sk-local-litellm-key
أشر إلى Xalgorix عليه — استخدم البادئة custom/ بحيث يتم إرسال اسم النموذج كما هو تمامًا ويتم
استخدام بروتوكول OpenAI chat-completions:```bash
XALGORIX_LLM=custom/claude-opus-5 # the LiteLLM model_name
XALGORIX_API_BASE=http://localhost:4000/v1 # your LiteLLM proxy
XALGORIX_API_KEY=sk-local-litellm-key # LiteLLM master_key / virtual key
نفس النمط يغطي GitHub Copilot Business/CLI، وClaude Opus، ونماذج بأسلوب Codex،
وOpenRouter، وAzure OpenAI، ونماذج Ollama المحلية — أي شيء يمكن لـ LiteLLM توجيهه. حافظ على
بادئة `custom/` (أو `openai/`) وقيمة `XALGORIX_API_BASE` غير الخاصة بـ Anthropic/Gemini حتى
يستخدم Xalgorix شكل طلب OpenAI القياسي الذي يتوقعه LiteLLM.
### 🔔 تكاملات اختيارية```bash
GEMINI_API_KEY=AIza...
AGENTMAIL_POD=am_us_pod_47
AGENTMAIL_API_KEY=ak_...
XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
XALGORIX_DISCORD_MIN_SEVERITY=high
🔐 مصادقة لوحة التحكم```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password
> [!TIP]
> يُفضَّل استخدام `XALGORIX_PASSWORD_HASH` في بيئات الإنتاج.
## 🆙 الترقية من الإصدارات السابقة
يأتي هذا الإصدار مع تحسينات في الاستقرار وعزل مساحة العمل، ويتضمن تغييرًا جذريًا واحدًا وبعض الخيارات الجديدة التي تستحق المعرفة.
### 💥 تغيير جذري: نقل مساحة العمل الافتراضية إلى `~/.xalgorix/data/`
أصبحت مخرجات الفحص والملاحظات والجداول الزمنية وغيرها من الملفات المُولَّدة موجودة الآن تحت `~/.xalgorix/data/` بدلاً من `$CWD` (الدليل الذي تم تشغيل البرنامج منه).
للاحتفاظ بالسلوك السابق، وجّه `XALGORIX_DATA_DIR` إلى دليل العمل الحالي لديك:```bash
export XALGORIX_DATA_DIR=$(pwd)
A [MIGRATION] warning is emitted at startup when legacy markers (notes.json, _schedules/, vulnerabilities.json, or YYYY-MM-DD/scan-* directories) are detected in $CWD and XALGORIX_DATA_DIR is unset. Xalgorix never reads, copies, or deletes those legacy files automatically; the warning is informational and only fires once per process.
🆕 New environment variable
| Variable | Default | Description |
|---|---|---|
XALGORIX_LLM_MAX_INFLIGHT | 4 × EffectiveMaxInstances | Caps simultaneous outbound LLM calls across all running scans. Minimum 1. Cancelled waiters do not consume a slot. |
🩺 New health endpoint counters
GET /api/status now exposes:
| Field | Meaning |
|---|---|
panics_recovered | Goroutine, HTTP handler, and tool panics that were recovered without crashing. |
path_rejections | Filesystem writes refused by Path_Policy (outside data_dir / ~/.xalgorix/ / /tmp). |
watchdog_kills | Subprocesses terminated by the per-tool hard-timeout watchdog. |
admission_refusals | Scan admission requests denied due to the concurrency ceiling. |
llm_inflight_cap | Effective XALGORIX_LLM_MAX_INFLIGHT value for this process. |
data_dir | Resolved Data_Dir in use. |
allow_list | Filesystem roots accepted by Path_Policy. |
🏃 Running
🪟 Web UI```bash
xalgorix --web
افتح:```text
http://127.0.0.1:9137
استخدم منفذًا مختلفًا:```bash xalgorix --web --port 8080
### 🌐 الوصول الخارجي
لا تقم بالربط بواجهة أخرى إلا بعد تفعيل مصادقة لوحة التحكم:```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0
[!WARNING] يرفض الخادم الربط الخارجي دون مصادقة لوحة التحكم.
🏹 فحص CLI```bash
xalgorix --target https://example.com
مع تعليمات مخصصة:```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."
🧰 وضع الخدمة
التثبيت والتشغيل كخدمة نظام:```bash sudo xalgorix --start
إدارة الخدمة:```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall
عرض السجلات:```bash journalctl -u xalgorix -f
### 🌍 الوصول إلى الخدمة عن بُعد
لا تعرّض الخدمة للمتصفحات البعيدة إلا بعد تفعيل مصادقة لوحة التحكم:```bash
sudo tee -a /root/.xalgorix.env >/dev/null <<'EOF'
XALGORIX_BIND=0.0.0.0
XALGORIX_USERNAME=admin
XALGORIX_PASSWORD=change-this
EOF
sudo xalgorix --restart
ثم افتح http://<server-ip>:9137.
إذا كانت العملية تستمع على المنفذ لكن الصفحة ما زالت لا تُحمَّل عن بُعد، فاسمح بمنفذ TCP 9137 في جدار الحماية الخاص بالخادم أو في مجموعة الأمان السحابية.
🏠 فحص الأهداف المحلية/الداخلية
افتراضيًا، يرفض Xalgorix فحص عناوين loopback وlocalhost وعناوين النطاق الخاص أو عناوين واجهته الخاصة — فهي الجهاز الذي يعمل عليه Xalgorix، وليست هدفًا. على جهاز مستضاف ذاتيًا وبمستأجر واحد، يمكنك الاشتراك لفحص تطبيق تجريبي/مرحلي مستضاف محليًا:```bash
echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env
sudo xalgorix --restart
لوحة التحكم الخاصة بالأداة **محمية دائمًا**، حتى مع تفعيل هذا الخيار.
> **⚠️ النشر المشترك / متعدد المستأجرين / المستضاف: أبقِ هذا الخيار معطّلًا.** تفعيله
> قد يسمح لفحص أحد المستخدمين بالوصول إلى جهاز المشغّل نفسه والشبكة الداخلية.
> وهو معطّل افتراضيًا، لذا لا حاجة لأي إجراء للبقاء آمنًا — لا تضبط
> `XALGORIX_ALLOW_LOCAL_TARGETS` (أو ثبّت `XALGORIX_ALLOW_LOCAL_TARGETS=false`)،
> ولا تعرض صفحة الإعدادات الخاصة بالمحرك لمستخدمين غير موثوقين.
## 🔁 سير عمل واجهة الويب
1. افتح لوحة التحكم على `http://127.0.0.1:9137`.
2. انتقل إلى الإعدادات وتأكد من مزوّد LLM ومفتاح API وحدود المعدل والتكاملات الاختيارية.
3. أنشئ فحصًا من "New Scan".
4. اختر وضع الفحص.
5. حدد مراحل المنهجية عندما تريد تشغيلًا مركّزًا.
6. اضبط مرشحات الخطورة عندما يجب الإبلاغ عن خطورات معينة فقط مباشرةً. يؤثر المرشح على خلاصة لوحة التحكم في الوقت الفعلي والإشعارات فقط؛ بينما يتضمن تقرير PDF و`/api/findings` دائمًا كل ثغرة اكتشفها الوكيل.
7. أضف اسم الشركة وارفع شعارًا للحصول على تقارير ذات علامة تجارية.
8. راقب التقدم من "Overview" أو "Scan Detail" أو "Live Feed".
9. افتح تفاصيل الثغرات، أو نزّل التقارير، أو أدر الفحوصات التاريخية من "Scans and Reports".
## 🔀 أوضاع الفحص
| الوضع | الأفضل لـ |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 هدف واحد | اختبار عنوان URL أو مضيف معروف واحد. |
| 🌐 بدل / متعدد | تعداد الأهداف ذات الصلة وفحص سطح الهجوم المكتشف. |
| 🧭 DAST | اختبار بمساعدة المتصفح لتطبيقات الويب وتدفقات المصادقة والنماذج والسلوك في وقت التشغيل. |
## 📂 افحص الكود الخاص بك (بدون الحاجة إلى هدف)
وجّه Xalgorix إلى قاعدة كود — عنوان Git أو مسار محلي أو ملف zip مرفوع — و
سيفحص المصدر مباشرةً. لا حاجة لعنوان URL منشور أو بنية تحتية لإعدادها.```bash
# Source review (SAST): audit the code, no running target required
xalgorix --source ./my-app --code-scan review
# Provision + DAST: build & run the app locally, then pentest the running instance
xalgorix --source https://github.com/org/app.git --code-scan provision
| وضع فحص الكود | ما يفعله | مستوى التحقق |
|---|---|---|
review | يقرأ المصدر، ويتتبع إدخال المستخدم من نقطة الدخول → الحوض الخطير، ويُبلغ عن الثغرات القابلة للوصول. لا يوجد هدف مباشر. | مُتحقق من المصدر — مُثبت الوصول إليه في الكود (مُصنَّف بوضوح على أنه غير مُستغل في وقت التشغيل). |
provision | يفحص المستودع، ويبني ويشغّل التطبيق على منفذ loopback، ثم يشغّل DAST موجّهًا بالصندوق الأبيض ضد المثيل قيد التشغيل. يتراجع إلى review إذا تعذّر بناء التطبيق. | مُتحقق من الاستغلال — مُعاد إنتاجه ضد التطبيق قيد التشغيل. |
- يقبل
--sourceعنوان Git URL (مستنسخ بشكل ضحل)، أو دليلًا محليًا، أو مسارًا إلى أرشيف مرفوع/مستخرج. في واجهة الويب / التطبيق المستضاف يمكنك أيضًا رفع ملف.zipمن قاعدة الكود الخاصة بك (POST /api/upload-source). - لا يزال بإمكانك الجمع بين مستودع و هدف مباشر لتعزيز الصندوق الأبيض الكلاسيكي — هذا المسار لم يتغير. أوضاع فحص الكود مخصصة للحالات التي تكون فيها قاعدة الكود هي الموضوع بأكمله.
وضع Provision يشغّل أوامر البناء/البدء لتطبيقك في بيئة الوكيل المعزولة و يختبر فقط منفذ loopback الوحيد الذي شغّل التطبيق عليه — لوحة التحكم وكل شيء آخر على الجهاز يبقى خارج النطاق.
🧭 المنهجية
ينظّم Xalgorix الاختبار المستقل إلى 22 مرحلة.
| المرحلة | التركيز |
|---|---|
| 1 | الاستطلاع |
| 2 | اكتشاف الثغرات اليدوي |
| 3 | اكتشاف الدلائل والملفات |
| 4 | تحليل CORS وملفات تعريف الارتباط |
| 5 | اختبار المصادقة والجلسات |
| 6 | اختبار الحقن |
| 7 | اختبار SSRF |
| 8 | IDOR والتحكم المكسور في الوصول |
| 9 | اختبار API وGraphQL |
| 10 | اختبار رفع الملفات |
| 11 | إلغاء التسلسل وRCE |
| 12 | حالات السباق والمنطق التجاري |
| 13 | الاستيلاء على النطاقات الفرعية |
| 14 | اختبار إعادة التوجيه المفتوحة |
| 15 | اختبار أمان البريد الإلكتروني |
| 16 | السحابة والبنية التحتية |
| 17 | اختبار WebSocket |
| 18 | اختبار خاص بـCMS |
| 19 | اختطاف الروابط المكسورة وانتحال المحتوى |
| 20 | التحقق من الاستغلال |
| 21 | اكتشاف الثغرات الجديدة |
| 22 | التقرير النهائي |
اختيار المرحلة في واجهة الويب يتيح لك تشغيل كل مرحلة أو فقط المجموعة الفرعية اللازمة لالتزام معين.
📄 التقارير
تُنشأ التقارير كملفات PDF ويمكن أن تتضمن:
| القسم | المحتوى المضمّن |
|---|---|
| 📌 الملخص | ملخص تنفيذي، بيانات تعريف الهدف، بيانات تعريف الفحص، ونظرة عامة على الخطورة. |
| 🐞 النتائج | نتائج مُتحقق منها، تفاصيل CVSS، تحليل تقني، وإثبات الاستغلال. |
| 🔬 الأدلة | أوامر إثبات المفهوم، السكربتات، ملاحظات الحمولات، والملاحظات الداعمة. |
| 🩹 المعالجة | إرشادات الإصلاح والخطوات التالية ذات الأولوية. |
| 🎨 العلامة التجارية | اسم الشركة/الهدف والشعار المرفوع. |
التقارير متاحة من صفحة تفاصيل الفحص وصفحة التقارير. صفوف التقارير تدعم الفتح والتنزيل والحذف.
🔧 الإعدادات
يمكن تغيير معظم الإعدادات التشغيلية من واجهة الويب ضمن الإعدادات.
| المنطقة | أمثلة |
|---|---|
| 🤝 الالتزام | حدود معدل طلبات لوحة التحكم |
| 🧠 LLM | النموذج، مفتاح API، قاعدة API، جهد الاستدلال، إعادة المحاولات، الحد الأقصى للتكرارات |
| 📬 AgentMail | Pod ومفتاح API |
| 🔔 الإشعارات | Discord webhook والحد الأدنى للخطورة، Telegram bot token، معرف الدردشة، والحد الأدنى للخطورة |
| 🕵️ الوكيل | عنوان الوكيل، ملف الوكيل، التدوير، التحقق من TLS |
| 🧱 وقت التشغيل | مساحة العمل، مسار المتصفح، عناصر التحكم في التثبيت التلقائي |
| 🔐 الأمان | اسم مستخدم لوحة التحكم، كلمة المرور، تجزئة كلمة المرور، عنوان الربط |
| 📈 الموارد | عتبات CPU/RAM/القرص وميزانية التزامن للفحص |
بعض الإعدادات تتطلب إعادة تشغيل لأنها تؤثر على بدء العملية أو ربط الخادم. الواجهة تعلّم تلك الحقول.
🧾 متغيرات البيئة
🧱 الأساسية
| المتغير | الافتراضي | الوصف |
|---|---|---|
XALGORIX_LLM | لا شيء | معرف النموذج الأصلي للمزود المستخدم لطلبات LLM. |
XALGORIX_LLM_PROVIDER | لا شيء | المزود المحدد من لوحة التحكم، مخزّن بشكل منفصل عن معرف النموذج. |
XALGORIX_API_KEY | لا شيء | مفتاح API المطلوب لمزود LLM. |
XALGORIX_API_BASE | افتراضي المزود | عنوان قاعدة API مخصص متوافق مع OpenAI. |
XALGORIX_REASONING_EFFORT | high | جهد الاستدلال: none، low، medium، high، أو xhigh (xhigh يُرسم إلى high لـ Ollama). |
XALGORIX_LANGUAGE | en | لغة الإخراج للنصوص المولّدة بالذكاء الاصطناعي (استدلال الوكيل، الملاحظات، النتائج، محتوى التقرير، الدردشة بعد الفحص). en أو zh-CN. الرموز التقنية (الحمولات، الأوامر، عناوين URL، معرفات CVE/CWE) تبقى دائمًا في شكلها الأصلي. اللغات غير اللاتينية تُعرض في لوحة التحكم وتقرير HTML تلقائيًا. |
XALGORIX_PDF_CJK_FONT | لا شيء | مسار مطلق لخط TrueType (.ttf) يحتوي على رموز CJK، يُستخدم لعرض اللغات غير اللاتينية (مثل الصينية المبسطة) في تقرير PDF المُصدَّر. يُدعم .ttf فقط (وليس .ttc/.otf). بدونه، يتراجع PDF إلى الخطوط الأساسية ولن تُعرض الرموز غير اللاتينية (تقرير HTML غير متأثر). |
XALGORIX_OLLAMA_COMPATIBLE | false | تطبيق دلالات استدلال Ollama على نقطة نهاية مخصصة على منفذ غير قياسي. المنفذ 11434 يُكتشف تلقائيًا. |
XALGORIX_LLM_MAX_RETRIES | 5 | عدد إعادة المحاولات لفشل LLM المؤقت. |
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT | 30 | المهلة بالثواني لضغط السياق. |
XALGORIX_MAX_ITERATIONS | 0 | حد تكرارات الوكيل. 0 يعني غير محدود. |
XALGORIX_PPROF_ADDR | لا شيء | محلل Go اختياري. عند تعيينه (مثل 127.0.0.1:6060)، يبدأ خادم pprof مستقلًا على /debug/pprof/ على ذلك العنوان لتشخيص CPU/الذاكرة. معطّل افتراضيًا. يكشف تفاصيل العملية الداخلية — اربط loopback وصول إليه عبر نفق SSH؛ لا تعرضه علنًا أبدًا. |
GEMINI_API_KEY | لا شيء | مفتاح Gemini اختياري لإثراء البحث على الويب. |
🔒 الويب والأمان
| المتغير | الافتراضي | الوصف |
|---|---|---|
XALGORIX_BIND | 127.0.0.1 | عنوان استماع خادم الويب. |
XALGORIX_ALLOW_LOCAL_TARGETS | false | السماح بفحص التطبيقات المستضافة محليًا (localhost / 127.0.0.1 / عناوين IP خاصة) على تثبيت ذاتي الاستضافة. مستمع لوحة التحكم نفسه محمي دائمًا. اتركه معطّلًا على النشرات المشتركة/المستضافة. |
XALGORIX_USERNAME | لا شيء | اسم مستخدم لوحة التحكم. |
XALGORIX_PASSWORD | لا شيء | كلمة مرور لوحة التحكم. |
XALGORIX_PASSWORD_HASH | لا شيء | تجزئة كلمة مرور bcrypt المفضلة. |
XALGORIX_WORKSPACE | الدليل الحالي | جذر مساحة العمل لتنفيذ الفحص. |
🤝 التكاملات
| المتغير | الافتراضي | الوصف |
|---|---|---|
AGENTMAIL_POD | لا شيء | معرف AgentMail pod. |
AGENTMAIL_API_KEY | لا شيء | مفتاح AgentMail API. |
XALGORIX_DISCORD_WEBHOOK | لا شيء | Discord webhook عام. |
XALGORIX_DISCORD_MIN_SEVERITY | لا شيء | الحد الأدنى للخطورة المرسلة إلى Discord. |
XALGORIX_TELEGRAM_BOT_TOKEN | لا شيء | رمز Telegram bot من @BotFather. |
XALGORIX_TELEGRAM_CHAT_ID | لا شيء | معرف دردشة/قناة Telegram (رقمي أو @username). |
XALGORIX_TELEGRAM_MIN_SEVERITY | لا شيء | الحد الأدنى للخطورة المرسلة إلى Telegram. |
CAIDO_PORT | 0 | منفذ وكيل Caido. 0 يعني اكتشاف تلقائي. |
CAIDO_API_TOKEN | لا شيء | رمز Caido API. |
🚦 حدود المعدل والوكيل ووقت التشغيل
| المتغير | الافتراضي | الوصف |
|---|---|---|
XALGORIX_RATE_LIMIT_REQUESTS | 60 | طلبات لوحة التحكم لكل نافذة. |
XALGORIX_RATE_LIMIT_WINDOW | 60 | نافذة حد معدل لوحة التحكم بالثواني. |
XALGORIX_RATE_RPS | 10 | معدل الطلبات الصادرة المستدام. |
XALGORIX_RATE_BURST | 20 | حجم الاندفاع الصادر. |
XALGORIX_USE_PROXY | false | تفعيل توجيه الوكيل. |
XALGORIX_PROXY_URL | لا شيء | عنوان وكيل واحد. يتجاوز ملف الوكيل. |
XALGORIX_PROXY_FILE | لا شيء | ملف يحتوي على وكيل واحد لكل سطر. |
XALGORIX_PROXY_ROTATION | roundrobin | استراتيجية تدوير الوكيل: roundrobin أو random. |
XALGORIX_TLS_SKIP_VERIFY | false | تخطي التحقق من TLS لحركة الاختبار. |
XALGORIX_DISABLE_BROWSER | false | تعطيل أتمتة المتصفح. |
XALGORIX_BROWSER_PATH | تلقائي | مسار تنفيذ Chrome/Chromium مخصص. |
XALGORIX_ALLOW_AUTO_INSTALL | الجذر فقط | السماح بتثبيت الحزم تلقائيًا. |
XALGORIX_AUTO_INSTALL_SUDO | false | السماح بالتثبيتات التلقائية المسبوقة بـ sudo. |
🔤 بادئات المزودين
عندما يكون XALGORIX_API_BASE فارغًا، يستنتج Xalgorix افتراضيات المزود من بادئة النموذج.
| البادئة | قاعدة API الافتراضية |
|---|---|
openai/ | https://api.openai.com/v1 |
anthropic/ | https://api.anthropic.com |
deepseek/ | https://api.deepseek.com/v1 |
groq/ | https://api.groq.com/openai/v1 |
google/ | https://generativelanguage.googleapis.com/v1 |
gemini/ | https://generativelanguage.googleapis.com/v1 |
ollama/ | http://localhost:11434/v1 |
minimax/ | https://api.minimax.io/v1 |
أسماء النماذج ليست مقيدة بهذه القائمة. صفحة الإعدادات تقبل معرفات نماذج مكتوبة بحيث يمكن استخدام نماذج مزودين أحدث دون انتظار تحديث القائمة المنسدلة في الواجهة.
💻 مرجع سطر الأوامر
| العلم | الاسم المستعار | الوصف |
|---|---|---|
--web | -w | تشغيل واجهة الويب. |
--port <port> | -p | منفذ واجهة الويب. الافتراضي: 9137. |
--bind <addr> | لا شيء | عنوان الربط. الافتراضي: 127.0.0.1. |
--target <target> | -t | عنوان URL الهدف، المضيف، IP، أو المسار. قابل للتكرار. |
--instruction <text> | -i | تعليمات فحص مخصصة. |
--model <model> | -m | تجاوز XALGORIX_LLM لهذا التشغيل. |
--update | -up | التحديث إلى أحدث إصدار. |
--version | -v | طباعة الإصدار. |
--start | لا شيء | تثبيت وتشغيل خدمة النظام. |
--stop | لا شيء | إيقاف خدمة النظام. |
--restart | لا شيء | إعادة تشغيل خدمة النظام. |
--uninstall | لا شيء | إزالة خدمة النظام. |
--help | -h | عرض المساعدة. |
📡 ملخص API
| الطريقة | نقطة النهاية | الغرض |
|---|---|---|
POST | /api/scan | بدء أو حفظ فحص. |
POST | /api/stop | إيقاف جميع الفحوصات الجارية. |
GET | /api/status | الحالة العامة الحالية. |
GET | /api/scans | قائمة الفحوصات. |
GET | /api/scans/:id | الحصول على تفاصيل الفحص. |
DELETE | /api/scans/:id | حذف فحص وبيانات تقريره. |
GET | /api/findings | قائمة جميع النتائج (مُزالة التكرار عبر الفحوصات). |
GET | /api/findings/summary | إجمالي الخطورة عبر جميع الفحوصات. |
GET | /api/report/:id | تنزيل تقرير PDF. |
GET | /api/instances | قائمة المثيلات الحية والتاريخية. |
GET | /api/instances/:id/events | الحصول على سجل الأحداث المخزنة مؤقتًا. |
POST | /api/instances/:id/stop | إيقاف مثيل محدد. |
POST | /api/instances/:id/start | بدء فحص محفوظ أو مكتمل كتشغيل جديد. |
POST | /api/instances/:id/restart | إعادة التشغيل بنفس التكوين. |
POST | /api/instances/:id/pause | إيقاف فحص جار مؤقتًا. |
POST | /api/instances/:id/resume | استئناف فحص متوقف مؤقتًا. |
POST | /api/upload-logo | رفع شعار تقرير. |
POST | /api/upload-targets | رفع قائمة أهداف. |
GET | /api/settings/environment | قائمة إعدادات البيئة القابلة للتعديل. |
POST | /api/settings/environment | حفظ إعدادات البيئة. |
GET | /api/settings/llm | الحصول على إعدادات LLM. |
POST | /api/settings/llm | حفظ إعدادات LLM. |
GET | /api/settings/agentmail | الحصول على إعدادات AgentMail. |
POST | /api/settings/agentmail | حفظ إعدادات AgentMail. |
GET | /ws | دفق الأحداث المباشر عبر WebSocket. |
💾 تخزين البيانات
تُخزَّن بيانات الفحص في وضع الويب تحت:```text
~/xalgorix-data/
|-- _saved/
|-- logos/
|-- queue_state.json
-- <target>/ -- /
-- <scan-id>/ |-- scan.json -- report.pdf
يحتفظ الخادم بسجلات الفحص التاريخية على القرص حتى تتمكن الواجهة من الاستعادة بعد التحديث أو إعادة التشغيل.
## 🧪 التطوير
| المهمة | الأمر |
| --------------------------- | ----------------------------- |
| 📦 تثبيت تبعيات واجهة الويب | `make webui-install` |
| 🔨 بناء كل شيء | `make build` |
| ✅ تشغيل الاختبارات | `go test ./...` |
| 🖥️ تشغيل واجهة الويب من المصدر | `go run ./cmd/xalgorix --web` |
| ⚡ تشغيل خادم تطوير الواجهة الأمامية | `make webui-dev` |
## 🚨 ملاحظات السلامة
- استخدم Xalgorix فقط ضد الأهداف المصرح بها.
- لا تقم بتشغيل اختبارات نشطة ضد أنظمة طرف ثالث دون إذن.
- راجع تعليمات الفحص قبل الإطلاق.
- قم بتكوين حدود المعدل وإعدادات الوكيل لتتوافق مع قواعد المشاركة.
- يتطلب كشف لوحة التحكم خارجيًا مصادقة.
- التعطيل التلقائي للتثبيت مفعّل افتراضيًا للمستخدمين غير الجذر ويجب تمكينه فقط عندما تثق في البيئة.
## 📜 الترخيص
يتم إصدار Xalgorix بموجب رخصة Apache License 2.0. راجع [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE).
## 🔗 الروابط
| المورد | الرابط |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ مستضاف (سحابي) | [www.xalgorix.com](https://www.xalgorix.com/) |
| 📖 التوثيق | [docs.xalgorix.com](https://docs.xalgorix.com) |
| 🐛 المشكلات | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ الدعم | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord) |


