
xalgorix v4.5.100
وكلاء اختبار اختراق بالذكاء الاصطناعي مستقلين — استطلاع فوري، كشف الثغرات، وتنسيق الاستغلال. Go + TypeScript.
Xalgorix — مُختبِر اختراق مفتوح المصدر يعمل بالذكاء الاصطناعي يُثبت الثغرات
معظم الماسحات تكتشف. Xalgorix يثبت. عميل LLM مستقل ينفذ منهجية اختبار اختراق كاملة، ثم مدقّق مستقل يعيد استغلال كل نتيجة قبل الإبلاغ عنها — لتحصل على إثبات، لا كومة من الاحتمالات لفرزها. مستضاف ذاتيًا، خاص، ويمكنك استخدام نموذج LLM الخاص بك. مبني بلغة Go + TypeScript.
بدء سريع · لماذا Xalgorix · الميزات · حالات الاستخدام · السحابة المستضافة · التوثيق
بدء سريع
التثبيت (سطر واحد):```bash curl -sSL https://www.xalgorix.com/install | bash
يؤدي هذا إلى تنزيل الثنائي المُجمّع مسبقًا لمنصّتك (Linux amd64/arm64) من أحدث إصدار. ثم شغّل معالج الإعداد التفاعلي:```bash
xalgorix --setup
اختر مزوّدك، وأكّد النموذج، وأدخل مفتاح API عند الطلب. يخزّن Xalgorix المفتاح بشكل خاص في ~/.xalgorix.env (بأذونات 0600) ويمكنه تشغيل لوحة التحكم لك. لا يحتاج Ollama المحلي إلى مفتاح API.
إذا اخترت عدم التشغيل فورًا، فابدأ لاحقًا باستخدام xalgorix --web وافتح http://127.0.0.1:9137. يمكنك تغيير المزوّدين أو الخيارات المتقدمة في أي وقت من الإعدادات → LLM، أو إعادة تشغيل xalgorix --setup.
أو شغّله مع Docker — كل ما تحتاجه مضمّن، بلا حاجة لسلسلة أدوات:```bash
docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest
`--privileged` يمنح مجموعة الأدوات نفس الوصول الشبيه بالمضيف الذي تتمتع به عند تشغيلها أصلاً كـ root. الصندوق الرمل الافتراضي في Docker يُسقط القدرات (مثل `NET_ADMIN`) ويطبق مرشح seccomp، مما يعطّل الأدوات منخفضة المستوى (تغييرات iptables/route، ARP-spoof/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 ضمن **الإعدادات → LLM** (يُحفظ في وحدة التخزين `/data`). إذا لم تقم بتمرير `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`، فسيتم إنشاء كلمة مرور عشوائية للمسؤول وطباعتها في سجلات الحاوية عند أول تشغيل.
**الأسهل — Docker Compose** (يربط المنفذ + وحدة تخزين دائمة لك):```bash
curl -sSLO https://raw.githubusercontent.com/xalgord/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/xalgord/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، أسرار، أنماط غير آمنة — مباشرة على طلب السحب. يتم تحديث التعليقات عند وجود commits جديدة، ويمكنك التعليق بـ **`@xalgorix review`** لإعادة التشغيل عند الطلب. لا ملف workflow، لا مفتاح 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.
## المحتويات
- [البدء السريع](#quick-start)
- [نظرة عامة](#overview)
- [لماذا Xalgorix](#why-xalgorix)
- [حالات الاستخدام](#use-cases)
- [لقطات الشاشة](#screenshots)
- [الميزات](#features)
- [التثبيت](#installation)
- [التكوين](#configuration)
- [الترقية من الإصدارات السابقة](#upgrading-from-previous-versions)
- [التشغيل](#running)
- [وضع الخدمة](#service-mode)
- [سير عمل واجهة الويب](#web-ui-workflow)
- [أوضاع الفحص](#scan-modes)
- [المنهجية](#methodology)
- [التقارير](#reports)
- [الإعدادات](#settings)
- [متغيرات البيئة](#environment-variables)
- [بادئات الموفرين](#provider-prefixes)
- [مرجع CLI](#cli-reference)
- [ملخص API](#api-summary)
- [تخزين البيانات](#data-storage)
- [التطوير](#development)
- [ملاحظات السلامة](#safety-notes)
- [الترخيص](#license)
- [روابط](#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://github.com/xalgord/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، وبدل، ومتعدد الأهداف مع مراحل منهجية قابلة للتحديد. |
| القياس المباشر | استدعاءات الأدوات، ورسائل الوكيل، والنتائج، والأخطاء، ونشاط 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=minimax/MiniMax-M3 \
-e XALGORIX_API_KEY=your_provider_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، وشبكات tun/tap VPN، ومصححات الأخطاء المعتمدة على 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 تحتاج إلى صلاحية كتابة على مستوى النظام). تعامل معها كصندوق رمل للمسح الضوئي معزول شبكيًا ويمكن التخلص منه. وهي منشورة لبنية amd64؛ استخدم مثبّت السطر الواحد لأنظمة arm64.
عند أول تشغيل، إذا لم تضبط مصادقة لوحة التحكم، تولّد الحاوية كلمة مرور إدارية عشوائية وتطبعها في السجلات (ترتبط الصورة بـ 0.0.0.0، ولن يفعل المحرك ذلك بدون مصادقة). عيّن XALGORIX_USERNAME + XALGORIX_PASSWORD (أو XALGORIX_PASSWORD_HASH) لاستخدام بياناتك الخاصة. لا يقوم البرنامج الثنائي أبدًا بتحديث نفسه داخل الحاوية (XALGORIX_NO_AUTO_UPDATE=1) — اسحب وسم صورة جديدًا للترقية.
المتطلبات (البناء من المصدر)
| المتطلب | ملاحظات |
|---|---|
| Linux | النظام الأساسي المدعوم بشكل أساسي. |
| Go | 1.25 أو أحدث. |
| Node.js + npm | مطلوب عند بناء واجهة React Web المدمجة من المصدر. |
| الأدوات الأمنية | تُثبَّت عند الطلب فقط عندما يكون التثبيت التلقائي مفعّلًا. |
تحقق من إصدار Go:```bash go version
### البناء من المصدر```bash
git clone https://github.com/xalgord/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
الحد الأدنى من الإعدادات```bash
XALGORIX_LLM=minimax/MiniMax-M3 XALGORIX_API_KEY=your_provider_api_key
### أمثلة على المزودين
OpenAI:```bash
XALGORIX_LLM=openai/gpt-5.4
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` يقبل أي نقطة نهاية متوافقة مع OpenAI بصيغة `/v1/chat/completions`،
فإن Xalgorix يعمل مع وكيل [LiteLLM](https://docs.litellm.ai/) مباشرة دون الحاجة إلى أي
تغييرات في جانب Xalgorix. يتعامل LiteLLM مع مصادقة المزود العلوي (تسجيل دخول جهاز Copilot،
ومفاتيح Azure، وOpenRouter، وOllama، وما إلى ذلك)؛ بينما يتحدث Xalgorix فقط مع البوابة عبر بروتوكول OpenAI.
شغّل LiteLLM (مثال `config.yaml`):```yaml
model_list:
- model_name: claude-opus-4-8
litellm_params:
model: github_copilot/claude-opus-4.8 # or openrouter/…, azure/…, ollama/…
general_settings:
master_key: sk-local-litellm-key
Point Xalgorix at it — use the custom/ prefix so the model name is sent verbatim and the
OpenAI chat-completions protocol is used:```bash
XALGORIX_LLM=custom/claude-opus-4-8 # 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 فحص الحلقة المحلية، 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
| Code-scan mode | What it does | Verification level |
|---|---|---|
review | يقرأ الكود المصدري، ويتتبع إدخال المستخدم من نقطة الدخول ← نقطة الالتقاء الخطرة، ويُبلّغ عن الثغرات القابلة للوصول. لا يوجد هدف مباشر. | مُتحقَّق من المصدر — تم إثبات إمكانية الوصول إليه في الكود (مُصنَّف بوضوح على أنه غير مستغل في وقت التشغيل). |
provision | يفحص المستودع، ويبني التطبيق ويشغّله على منفذ loopback، ثم يشغّل اختبار DAST موجَّهًا بالصندوق الأبيض ضد المثيل قيد التشغيل. يتراجع إلى review إذا تعذّر بناء التطبيق. | مُتحقَّق من الاستغلال — تم إعادة إنتاجه ضد التطبيق قيد التشغيل. |
- يقبل
--sourceعنوان Git URL (مستنسخًا بشكل ضحل)، أو دليلًا محليًا، أو مسارًا إلى أرشيف مرفوع/مستخرج. في واجهة الويب / التطبيق المستضاف يمكنك أيضًا رفع ملف.zipلقاعدة الكود الخاصة بك (POST /api/upload-source). - لا يزال بإمكانك الجمع بين مستودع و هدف مباشر لتعزيز تحليل الصندوق الأبيض الكلاسيكي — هذا المسار لم يتغير. أوضاع فحص الكود مخصصة للحالات التي تكون فيها قاعدة الكود هي الموضوع بأكمله.
يعمل وضع Provision على تشغيل أوامر البناء/البدء لتطبيقك داخل بيئة الوكيل المعزولة، ولا يختبر سوى منفذ loopback الوحيد الذي شغّل التطبيق عليه — لوحة التحكم وكل شيء آخر على الجهاز يبقى خارج النطاق.
المنهجية
ينظّم Xalgorix الاختبار المستقل في 22 مرحلة.
| Phase | Focus |
|---|---|
| 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 ويمكن أن تتضمن:
| Section | Included content |
|---|---|
| Summary | الملخص التنفيذي، وبيانات الهدف الوصفية، وبيانات الفحص الوصفية، ونظرة عامة على مستويات الخطورة. |
| Findings | النتائج المؤكدة، وتفاصيل CVSS، والتحليل الفني، وإثبات الاستغلال. |
| Evidence | أوامر إثبات المفهوم، والبرامج النصية، وملاحظات الحمولة، والملاحظات الداعمة. |
| Remediation | إرشادات الإصلاح والخطوات التالية ذات الأولوية. |
| Branding | اسم الشركة/الهدف والشعار المرفوع. |
التقارير متاحة من صفحة تفاصيل الفحص ومن صفحة التقارير. تدعم صفوف التقارير الفتح والتنزيل والحذف.
الإعدادات
يمكن تغيير معظم الإعدادات التشغيلية من واجهة الويب ضمن الإعدادات.
| Area | Examples |
|---|---|
| Engagement | حدود معدل طلبات لوحة التحكم |
| LLM | النموذج، ومفتاح API، وقاعدة API، وجهد الاستدلال، وإعادة المحاولة، والحد الأقصى للتكرارات |
| AgentMail | الـ Pod ومفتاح API |
| Notifications | Webhook الخاص بـ Discord والحد الأدنى لمستوى الخطورة، ورمز بوت Telegram، ومعرّف المحادثة، والحد الأدنى لمستوى الخطورة |
| Proxy | عنوان URL للوكيل، وملف الوكيل، والتدوير، والتحقق من TLS |
| Runtime | مساحة العمل، ومسار المتصفح، وعناصر التحكم في التثبيت التلقائي |
| Security | اسم مستخدم لوحة التحكم، وكلمة المرور، وتجزئة كلمة المرور، وعنوان الربط |
| Resources | حدود CPU/RAM/القرص وميزانية التزامن للفحص |
تتطلب بعض الإعدادات إعادة تشغيل لأنها تؤثر على بدء تشغيل العملية أو ربط الخادم. تشير الواجهة إلى هذه الحقول.
متغيرات البيئة
الأساسية
| Variable | Default | Description |
|---|---|---|
XALGORIX_LLM | none | معرّف النموذج الأصلي للمزود المستخدم في طلبات LLM. |
XALGORIX_LLM_PROVIDER | none | المزود المحدد من لوحة التحكم، ويُخزَّن بشكل منفصل عن معرّف النموذج. |
XALGORIX_API_KEY | none | مفتاح API المطلوب لمزود LLM. |
XALGORIX_API_BASE | provider default | عنوان URL أساسي مخصص لواجهة API متوافقة مع OpenAI. |
XALGORIX_REASONING_EFFORT | high | جهد الاستدلال: none أو low أو medium أو high أو xhigh (يُعيّن xhigh إلى high بالنسبة لـ Ollama). |
XALGORIX_OLLAMA_COMPATIBLE | false | تطبيق دلالات الاستدلال الخاصة بـ Ollama على نقطة نهاية مخصصة على منفذ غير قياسي. يتم اكتشاف المنفذ 11434 تلقائيًا. |
XALGORIX_LLM_MAX_RETRIES | 5 | عدد محاولات إعادة المحاولة للفشل المؤقت في LLM. |
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT | 30 | المهلة الزمنية بالثواني لضغط السياق. |
XALGORIX_MAX_ITERATIONS | 0 | سقف تكرارات الوكيل. 0 تعني غير محدود. |
GEMINI_API_KEY | none | مفتاح Gemini اختياري لإثراء البحث عبر الويب. |
الويب والأمان
| Variable | Default | Description |
|---|---|---|
XALGORIX_BIND | 127.0.0.1 | عنوان استماع خادم الويب. |
XALGORIX_ALLOW_LOCAL_TARGETS | false | السماح بفحص التطبيقات المستضافة محليًا (localhost / 127.0.0.1 / عناوين IP الخاصة) على تثبيت مستضاف ذاتيًا. مستمع لوحة التحكم محمي دائمًا. يُترك معطّلًا في النشر المشترك/المستضاف. |
XALGORIX_USERNAME | none | اسم مستخدم لوحة التحكم. |
XALGORIX_PASSWORD | none | كلمة مرور لوحة التحكم. |
XALGORIX_PASSWORD_HASH | none | تجزئة كلمة المرور المفضلة باستخدام bcrypt. |
XALGORIX_WORKSPACE | current directory | جذر مساحة العمل لتنفيذ الفحص. |
التكاملات
| Variable | Default | Description |
|---|---|---|
AGENTMAIL_POD | none | معرّف AgentMail pod. |
AGENTMAIL_API_KEY | none | مفتاح API الخاص بـ AgentMail. |
XALGORIX_DISCORD_WEBHOOK | none | Webhook عام لـ Discord. |
XALGORIX_DISCORD_MIN_SEVERITY | none | الحد الأدنى لمستوى الخطورة المُرسل إلى Discord. |
XALGORIX_TELEGRAM_BOT_TOKEN | none | رمز بوت Telegram من @BotFather. |
XALGORIX_TELEGRAM_CHAT_ID | none | معرّف محادثة/قناة Telegram (رقمي أو @username). |
XALGORIX_TELEGRAM_MIN_SEVERITY | none | الحد الأدنى لمستوى الخطورة المُرسل إلى Telegram. |
CAIDO_PORT | 0 | منفذ وكيل Caido. 0 تعني الاكتشاف التلقائي. |
CAIDO_API_TOKEN | none | رمز API الخاص بـ Caido. |
حدود المعدل والوكيل ووقت التشغيل
| Variable | Default | Description |
|---|---|---|
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 | none | عنوان URL واحد للوكيل. يتجاوز ملف الوكيل. |
XALGORIX_PROXY_FILE | none | ملف يحتوي على وكيل واحد لكل سطر. |
XALGORIX_PROXY_ROTATION | roundrobin | استراتيجية تدوير الوكيل: roundrobin أو random. |
XALGORIX_TLS_SKIP_VERIFY | false | تخطي التحقق من TLS لحركة مرور الاختبار. |
XALGORIX_DISABLE_BROWSER | false | تعطيل أتمتة المتصفح. |
XALGORIX_BROWSER_PATH | auto | مسار مخصص للملف التنفيذي لـ Chrome/Chromium. |
XALGORIX_ALLOW_AUTO_INSTALL | root only | السماح بالتثبيت التلقائي للحزم. |
XALGORIX_AUTO_INSTALL_SUDO | false | السماح بعمليات التثبيت التلقائي المسبوقة بأمر sudo. |
بادئات المزودين
عندما يكون XALGORIX_API_BASE فارغًا، يستنتج Xalgorix الإعدادات الافتراضية للمزود من بادئة النموذج.
| Prefix | Default API base |
|---|---|
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 |
أسماء النماذج ليست مقيدة بهذه القائمة. تقبل صفحة الإعدادات معرفات النماذج المكتوبة بحيث يمكن استخدام نماذج المزود الأحدث دون انتظار تحديث القائمة المنسدلة في الواجهة.
مرجع سطر الأوامر
| Flag | Alias | Description |
|---|---|---|
--web | -w | تشغيل واجهة الويب. |
--port <port> | -p | منفذ واجهة الويب. الافتراضي: 9137. |
--bind <addr> | none | عنوان الربط. الافتراضي: 127.0.0.1. |
--target <target> | -t | عنوان URL أو مضيف أو IP أو مسار الهدف. قابل للتكرار. |
--instruction <text> | -i | تعليمات فحص مخصصة. |
--model <model> | -m | تجاوز XALGORIX_LLM لهذا التشغيل. |
--update | -up | التحديث إلى أحدث إصدار. |
--version | -v | طباعة الإصدار. |
--start | none | تثبيت وبدء خدمة النظام. |
--stop | none | إيقاف خدمة النظام. |
--restart | none | إعادة تشغيل خدمة النظام. |
--uninstall | none | إزالة خدمة النظام. |
--help | -h | إظهار المساعدة. |
ملخص API
| Method | Endpoint | Purpose |
|---|---|---|
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/HEAD/LICENSE).
## الروابط
| المورد | الرابط |
| ------------- | -------------------------------------------------------------------------------- |
| مستضاف (سحابي) | [www.xalgorix.com](https://www.xalgorix.com/) |
| التوثيق | [docs.xalgorix.com](https://docs.xalgorix.com) |
| المشكلات | [github.com/xalgord/xalgorix/issues](https://github.com/xalgord/xalgorix/issues) |
| الدعم | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord) |