
xalgorix v4.6.78
وكلاء مستقلون لاختبار الاختراق بالذكاء الاصطناعي — استطلاع في الوقت الفعلي، واكتشاف الثغرات، وتنسيق عمليات الاستغلال. 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 أو macOS، 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 — كل شيء جاهز، دون الحاجة إلى أي toolchain:```bash
docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest
`--privileged` يمنح مجموعة الأدوات نفس الوصول الشبيه بالمضيف الذي تحصل عليه عند التشغيل أصليًا كـ root. تُسقط بيئة Docker الافتراضية المعزولة القدرات (مثل `NET_ADMIN`) وتطبّق مرشّح seccomp، مما يعطّل الأدوات منخفضة المستوى (تغييرات iptables/route، انتحال ARP/MITM، شبكات tun/tap VPN، أدوات التصحيح المعتمدة على ptrace، ضبط واجهة masscan). وبما أن الصورة لا يمكنها منح نفسها هذه الصلاحيات، فيجب ضبطها في وقت التشغيل. الحاوية عبارة عن بيئة فحص معزولة شبكيًا وقابلة للتخلص منها تعمل كـ root — الوضع المميّز هو الوضع المقصود؛ لا تعرّض لوحة التحكم للعامة أبدًا دون مصادقة. تفضّل أقل صلاحية؟ استبدل `--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`، فسيتم توليد كلمة مرور admin عشوائية وطباعتها في سجلات الحاوية عند أول تشغيل.
**الأسهل — 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.26+ و 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)**. يقرأ فرق كل طلب سحب ويعلّق بمراجعة أمنية — حقن، مصادقة معطوبة/IDOR، SSRF، أسرار، أنماط غير آمنة — مباشرة على طلب السحب. يُحدّث في مكانه عند الالتزامات الجديدة، ويمكنك التعليق بـ **`@xalgorix review`** لإعادة التشغيل عند الطلب. لا ملف سير عمل، لا مفتاح API، لا حساب — وهو مجاني.
<div align="center">
[**➕ أضف Xalgorix إلى GitHub →**](https://github.com/apps/xalgorix/installations/new)
</div>
لبوابات الدمج واختبارات الاختراق الكاملة الموثّقة بالاستغلال في 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 منصة اختبار اختراق بالذكاء الاصطناعي ذاتية الاستضافة لاختبار الأمان المصرّح به، وتقييم الثغرات، وسير عمل مكافآت الأخطاء. تجمع بين وكيل مستقل مدفوع بنموذج لغوي كبير، وأتمتة المتصفح، وأدوات الطرفية، ومنهجية اختبار شاملة من 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 الخام — متغيرة، قد ترتفع | رصيد واحد لكل مضيف حي — متوقعة |
| الإعداد والتشغيل | أنت تثبّت وتحدّث وتشغّل سلسلة الأدوات | لا شيء لتشغيله — افحص في ~60 ثانية |
| بنية خارج النطاق (SSRF/blind RCE) | أنشئ خادم OOB الخاص بك | OOB مُدار مُضمّن |
| الجدولة · الفريق · RBAC | افعلها بنفسك | مُضمّنة |
| التحديثات | `git pull` + إعادة البناء | دائمًا على أحدث محرك |
| موقع البيانات / عدم الاتصال | ✅ تبقى على بنيتك · air-gap مقبول | تعمل على بنيتنا (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 وأدلة إثبات المفهوم. |
| **عمليات الفريق الأحمر** | استخدم أوضاع الفحص الشاملة ومتعددة الأهداف لرسم خريطة سطح الهجوم الخارجي لمؤسسة. يتعامل DAST المدعوم بالمتصفح مع تدفقات المصادقة والنماذج والسلوك وقت التشغيل التي تفوتها الماسحات الساكنة. |
| **البحث الأمني** | تدفع مرحلة اكتشاف الثغرات الجديدة الوكيل إلى ما هو أبعد من مطابقة القوالب المعروفة. أحضر LLM الخاص بك (OpenAI، Anthropic، DeepSeek، Gemini، Ollama، MiniMax) للتحكم في عمق الاستدلال والتكلفة. |
| **اختبار الأمان المستمر** | شغّله كخدمة نظام باستخدام `xalgorix --start`. افحص وفق جدول، وبثّ النتائج إلى Discord أو Telegram، وأنشئ تقارير PDF بعلامة تجارية لأصحاب المصلحة. |
| **أتمتة DAST** | اختبار مدفوع بالمتصفح لتطبيقات الويب — تدفقات المصادقة، والنماذج، والمحتوى المُصيَّر بـ JavaScript، والسلوك وقت التشغيل. يتكامل مع Caido لفحص حركة الوكيل. |
## ✨ الميزات
| المجال | القدرات |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 لوحة التحكم | واجهة ويب محلية على `127.0.0.1:9137` افتراضيًا، وإدارة الفحوصات، والحالة الحية، وإجراءات الفحص الجماعية، واستعادة الفحوصات السابقة. |
| 🔍 الفحص | هدف واحد، وDAST، وشامل، وتدفقات متعددة الأهداف مع مراحل منهجية قابلة للاختيار. |
| 📡 قياس حي | استدعاءات الأدوات، ورسائل الوكيل، والنتائج، والأخطاء، ونشاط HTTP، ونشاط LLM عبر WebSockets. |
| 🐞 النتائج | صفحات تفاصيل الفحص، ومرشحات الخطورة، وتفاصيل CVSS، وفهرس النتائج، وسير عمل النتائج الموثّقة. |
| 📄 التقارير | تقارير PDF بعلامة تجارية مع اسم الهدف/الشركة، وشعار مرفوع، وقائمة التقارير، وإجراءات الفتح/التنزيل/الحذف. |
| 🔔 التكاملات | صناديق بريد اختبار AgentMail، ورسائل التحقق، وتدفقات OTP، وأحداث فرز البريد، وإشعارات Discord وTelegram. |
| ⚙️ الإعداد | إعدادات لوحة التحكم لـ LLM، وAgentMail، وDiscord، وTelegram، والوكيل، ووقت التشغيل، والمتصفح، والمصادقة، وحدود المعدل، والموارد. |
| 🛡️ سلامة وقت التشغيل | حدود نسخ واعية بالموارد وربط على loopback فقط ما لم يُضبط الوصول الخارجي صراحةً مع المصادقة. |
## 📥 التثبيت
أسرع المسارات لا تحتاج أي سلسلة أدوات على الإطلاق.
### ⚡ تثبيت بسطر واحد (ملف ثنائي مُجهّز مسبقًا)```bash
curl -sSL https://www.xalgorix.com/install | bash
يقوم بتنزيل أحدث إصدار ثنائي لمنصتك (Linux أو macOS، 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/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 لاختبار DAST بمساعدة المتصفح. كما تحتفظ بمجموعة مديري الحزم الكاملة (apt، go، cargo، pipx، npm) متاحة، بحيث يثبّت الوكيل تلقائيًا أي شيء مفقود وقت التشغيل. تُحفظ بيانات الفحص في وحدة التخزين /data، ويربط الخادم 0.0.0.0 داخل الحاوية — اضبط XALGORIX_USERNAME/XALGORIX_PASSWORD قبل كشفه خارج localhost.
تعمل الحاوية كـ root بحكم التصميم (المحرّك يمكّن التثبيت التلقائي وقت التشغيل فقط لـ uid 0، وتحتاج عمليات تثبيت apt/go/cargo إلى صلاحية الكتابة على النظام). تعامل معها كبيئة فحص معزولة شبكيًا وقابلة للتخلص منها. تنشر نفس الوسوم بيانًا متعدد المنصات لـ linux/amd64 وlinux/arm64، لذا يختار Docker الصورة الأصلية تلقائيًا.
عند التشغيل الأول، إذا لم تضبط مصادقة لوحة التحكم، فإن الحاوية تُنشئ كلمة مرور مسؤول عشوائية وتطبعها في السجلات (الصورة تربط 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 أو macOS (amd64/arm64). |
| Go | 1.26 أو أحدث. |
| Node.js + npm | مطلوب عند بناء واجهة React Web UI المضمّنة من المصدر. |
| أدوات الأمان | تُثبَّت عند الطلب فقط عندما يكون التثبيت التلقائي ممكّنًا. |
تحقق من إصدار 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 Web UI في 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)
يتم إصدار تحذير [MIGRATION] عند بدء التشغيل عندما يتم اكتشاف علامات قديمة (notes.json، _schedules/، vulnerabilities.json، أو أدلة YYYY-MM-DD/scan-*) في $CWD ويكون XALGORIX_DATA_DIR غير معيّن. لا يقرأ Xalgorix أبدًا هذه الملفات القديمة أو ينسخها أو يحذفها تلقائيًا؛ التحذير إعلامي ويظهر مرة واحدة فقط لكل عملية.
🆕 متغير بيئة جديد
| المتغير | الافتراضي | الوصف |
|---|---|---|
XALGORIX_LLM_MAX_INFLIGHT | 4 × EffectiveMaxInstances | يحدّ من استدعاءات LLM الصادرة المتزامنة عبر جميع الفحوصات الجارية. الحد الأدنى 1. المنتظرون الملغون لا يستهلكون خانة. |
🩺 عدّادات نقطة نهاية الصحة الجديدة
GET /api/status يعرض الآن:
| الحقل | المعنى |
|---|---|
panics_recovered | حالات panic في Goroutine ومعالج HTTP والأدوات التي تم استردادها دون تعطل. |
path_rejections | عمليات الكتابة على نظام الملفات التي رفضها Path_Policy (خارج data_dir / ~/.xalgorix/ / /tmp). |
watchdog_kills | العمليات الفرعية التي أنهتها مهلة watchdog الصارمة لكل أداة. |
admission_refusals | طلبات قبول الفحص المرفوضة بسبب سقف التزامن. |
llm_inflight_cap | قيمة XALGORIX_LLM_MAX_INFLIGHT الفعلية لهذه العملية. |
data_dir | Data_Dir المُحلَّل قيد الاستخدام. |
allow_list | جذور نظام الملفات المقبولة من Path_Policy. |
🏃 التشغيل
🪟 واجهة الويب```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`)،
> ولا تعرّض صفحة Settings الخاصة بالمحرك لمستخدمين غير موثوقين.
## 🔁 سير عمل واجهة الويب
1. افتح لوحة التحكم على `http://127.0.0.1:9137`.
2. انتقل إلى Settings وأكّد مزوّد LLM، ومفتاح API، وحدود المعدل، والتكاملات الاختيارية.
3. أنشئ فحصًا من New Scan.
4. اختر وضع الفحص.
5. حدّد مراحل المنهجية عندما تريد تشغيلًا مركّزًا.
6. اضبط مرشّحات الخطورة عندما يجب الإبلاغ عن درجات خطورة معيّنة فقط بشكل مباشر. يؤثر المرشّح على تغذية لوحة التحكم في الوقت الفعلي والإشعارات فقط؛ أما تقرير PDF و`/api/findings` فيتضمنان دائمًا كل ثغرة اكتشفها الوكيل.
7. أضف اسم الشركة وارفع شعارًا لتقارير ذات هوية بصرية.
8. راقب التقدّم من Overview أو Scan Detail أو Live Feed.
9. افتح تفاصيل النتائج، أو نزّل التقارير، أو أدِر الفحوصات السابقة من Scans وReports.
## 🔀 أوضاع الفحص
| الوضع | الأفضل لـ |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 هدف واحد | اختبار عنوان URL أو مضيف واحد معروف. |
| 🌐 Wildcard / متعدد | تعداد الأهداف المرتبطة وفحص سطح الهجوم المكتشف. |
| 🧭 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 |
| 🔔 الإشعارات | webhook الخاص بـ Discord والخطورة الدنيا، ورمز بوت Telegram، ومعرّف الدردشة، والخطورة الدنيا، وملخصات اكتمال الفحص الاختيارية |
| 🕵️ الوكيل | عنوان URL للوكيل، وملف الوكيل، والتدوير، والتحقق من TLS |
| 🧱 وقت التشغيل | مساحة العمل، ومسار المتصفح، وعناصر التحكم في التثبيت التلقائي |
| 🔐 الأمان | اسم مستخدم لوحة التحكم، وكلمة المرور، وتجزئة كلمة المرور، وعنوان الربط |
| 📈 الموارد | حدود CPU/RAM/القرص وميزانية تزامن الفحص |
تتطلب بعض الإعدادات إعادة التشغيل لأنها تؤثر على بدء تشغيل العمليات أو ربط الخادم. تُعلّم الواجهة تلك الحقول.
🧾 متغيرات البيئة
🧱 الأساسية
| المتغير | الافتراضي | الوصف |
|---|---|---|
XALGORIX_LLM | لا شيء | معرّف النموذج الأصلي للمزوّد المستخدم لطلبات LLM. |
XALGORIX_LLM_PROVIDER | لا شيء | المزوّد المحدد بواسطة لوحة التحكم، ويُخزَّن بشكل منفصل عن معرّف النموذج. |
XALGORIX_API_KEY | لا شيء | مفتاح API لمزوّد LLM المطلوب. |
XALGORIX_API_BASE | الافتراضي للمزوّد | عنوان URL مخصص لقاعدة 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 | لا شيء | webhook عام لـ Discord. |
XALGORIX_DISCORD_MIN_SEVERITY | لا شيء | الخطورة الدنيا المُرسَلة إلى Discord. |
XALGORIX_TELEGRAM_BOT_TOKEN | لا شيء | رمز بوت Telegram من @BotFather. |
XALGORIX_TELEGRAM_CHAT_ID | لا شيء | معرّف دردشة/قناة Telegram (رقمي أو @username). |
XALGORIX_TELEGRAM_MIN_SEVERITY | لا شيء | الخطورة الدنيا المُرسَلة إلى Telegram. |
XALGORIX_NOTIFY_SCAN_COMPLETE | false | إرسال ملخصات نهاية الفحص إلى وجهات Discord/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 | لا شيء | عنوان 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 | root فقط | السماح بالتثبيت التلقائي للحزم. |
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 |
أسماء النماذج غير مُضمَّنة بشكل ثابت في هذه القائمة. تقبل صفحة الإعدادات معرّفات النماذج المكتوبة بحيث يمكن استخدام نماذج المزوّدين الأحدث دون انتظار تحديث القائمة المنسدلة في الواجهة.
💻 مرجع CLI
| العلامة | الاسم المستعار | الوصف |
|---|---|---|
--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) |


