Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ThreatIntel-Aggregator — منصة استخبارات التهديدات ذاتية الاستضافة — تجميع التغذيات، والفرز بالذكاء الاصطناعي، وتغطية MITRE ATT&CK، وهندسة الكشف المتكاملة مع Sentinel. تعمل بشكل مستقل أو متكاملة بالكامل مع Azure. | Kitploit
أدوات/GitHubGitHub/ethan-andrews/threatintel-aggregator
أدوات دفاعيةإدارة مؤشرات الاختراق (IOC)موجزات ومجمعات التهديداتتحليل الثغرات الأمنيةجمع المعلوماتالمحاكاة الافتراضية للأماناستخبارات التهديداتالاستجابة للحوادثأمن الذكاء الاصطناعي

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
تحليل السجلات
GitHubethan-andrews/threatintel-aggregator

ThreatIntel-Aggregator

منصة استخبارات التهديدات ذاتية الاستضافة — تجميع التغذيات، والفرز بالذكاء الاصطناعي، وتغطية MITRE ATT&CK، وهندسة الكشف المتكاملة مع Sentinel. تعمل بشكل مستقل أو متكاملة بالكامل مع Azure.

عرض المستودع
149منذ يوم واحدلم تتم المراجعة بعد
مشاركة

مجمّع استخبارات التهديدات

Banner

Typing SVG

License Backend Tests Frontend Build Buy Me a Coffee

منصة استخبارات تهديدات ذاتية الاستضافة تجمع خلاصات RSS من أكثر من 60 مورّدًا أمنيًا، وتُجري فرزًا بالذكاء الاصطناعي، وتربط النتائج بجرد الأصول لديك في RunZero، وتُظهر تنبيهات قابلة للتنفيذ عبر لوحة تحكم ويب بالوضع الداكن.

مصمّمة لتعمل بشكل مستقل مع الاعتماد الصفري على السحابة، أو مدمجة بالكامل في بيئة Azure/Entra/Sentinel — اختر الطبقة التي تناسب ما لديك.


طبقات النشر

جميع الطبقات الثلاث تشغّل نفس كود التطبيق تمامًا — الشيء الوحيد الذي يتغير هو متغيرات البيئة التي يتم تعيينها. راجع متغيرات البيئة للحصول على المرجع الكامل.```bash

Basic — no AI, no cloud

./scripts/setup-basic.sh

Basic + API — adds direct Anthropic triage

./scripts/setup-basic-api.sh

Azure + API — full SIEM-integrated deployment (PowerShell 7+, az CLI)

./scripts/setup-azure.ps1

root@kitploit:~
تقوم السكربتات البرمجية bash هذان بتشغيل حاوية Postgres محلية، وتطبيق المخطط، وإنشاء `backend/.env` / `frontend/.env.local` لك — ثم طباعة الأمرين لبدء التطبيق فعليًا (`pip install` + تشغيل الواجهة الخلفية، `npm install` + تشغيل خادم تطوير الواجهة الأمامية). `setup-azure.ps1` هو غلاف رفيع حول `infra/provision.ps1`، وهو دليل النشر الفعلي لـ Azure Container Apps.

---

## الميزات

- **تجميع التغذية** — يستقصي أكثر من 60 تغذية RSS أمنية من المستوى 1/2/3 وفق جدول زمني؛ يزيل التكرار ويصفّي المحتوى الترويجي تلقائيًا
- **الفرز بالذكاء الاصطناعي** — يصنّف كل مدخل حسب الخطورة (حرجة/عالية/متوسطة/منخفضة/معلوماتية)، وتقنيات MITRE ATT&CK، وملخص باللغة الإنجليزية البسيطة. معياري المزوّد: واجهة Anthropic API المباشرة أو Azure AI Foundry، قابل للتبديل عبر متغير بيئة واحد دون فقدان أي وظيفة في كلا الحالتين
- **استخراج مؤشرات الاختراق** — يستخرج تلقائيًا عناوين IP والنطاقات وعناوين URL وتجزئات الملفات وثغرات CVE من كل مدخل
- **تكامل RunZero** — يزامن جرد الأصول لديك ويربط معلومات التهديدات بالأصول الحية؛ يطابق ثغرات CVE وأسماء البرمجيات وإصدارات أنظمة التشغيل وعناوين IP. ثلاث علامات فرعية تحت `RUNZERO`: **المطابقات** (المدخلات المرتبطة بجردك، قابلة للتصفية حسب الخطورة/التاريخ/الثقة/KEV)، و**التعرض** (الوضع المؤكد/المحتمل على مستوى المؤسسة مع تتبع المعالجة)، و**المقاييس** (اتجاهات الاستقبال مقابل المعالجة بمرور الوقت)
- **مكدسك** — حدّد البرمجيات/نظام التشغيل في بيئتك؛ يعيد تقييم جميع المدخلات حسب الصلة
- **سجل مؤشرات الاختراق** — سجل قابل للبحث لجميع المؤشرات المستخرجة مع مراجع متقاطعة للمدخلات وتصدير STIX/CSV
- **مصفوفة MITRE ATT&CK** — خريطة حرارية لتغطية التقنيات عبر معلومات التهديدات المستوعبة
- **لوحة صحة التغذية** — حالة الاستقصاء لكل تغذية، وتتبع الإخفاقات المتتالية، وحجم المقالات على مدى 7 أيام
- **الاكتشافات** — واجهة مراجعة من 9 علامات (انظر أدناه) تغطي كل ما هو مسجّل كاكتشاف، سواء كان مولّدًا بالذكاء الاصطناعي، أو مستوردًا من ملفاتك الخاصة، أو مُزامَنًا من مساحة عمل Sentinel حية
- **مصادقة معيارية** — Microsoft Entra ID SSO مع وصول قائم على الأدوار، أو مفتاح API محلي مشترك واحد دون أي اعتماد على Azure. يُكتشف تلقائيًا بواسطة الواجهة الأمامية؛ انظر [أوضاع المصادقة](#auth-modes)

### ميزتان متعلقتان بالاكتشافات

يحتوي هذا المستودع فعليًا على شيئين مترابطين لكن قابلين للاستخدام بشكل مستقل تحت مظلة "الاكتشافات":

1. **علامة تبويب `DETECTIONS`** — واجهة مراجعة قائمة بذاتها، مقسّمة إلى تسع علامات فرعية:
   - **جميع الاكتشافات** — الكتالوج الكامل للتحليلات المسجّلة، قابل للتصفية حسب التقنية/التصرف/حالة المراجعة، وكل منها قابل للتوسيع لعرض وصفه و KQL الكامل.
   - **اكتشافات Defender المخصصة** — نفس الكتالوج، مقيّد بالاكتشافات الموجّهة لقواعد الاكتشاف المخصصة في Microsoft Defender for Endpoint بدلًا من قواعد تحليلات Sentinel.
   - **مراجعات المواءمة** — كلما تم تسجيل تحليل اكتشاف مقابل تقنية MITRE، يقارن فحص بالذكاء الاصطناعي تغطيته الفعلية بوصف MITRE نفسه لتلك التقنية. وعندما ينحرف أو يغطي التقنية جزئيًا فقط، يظهر هنا كعنصر مراجعة بشري مع تعليل الذكاء الاصطناعي، وإصلاح KQL مقترح، ونتيجة التحقق الخاصة بذلك الإصلاح (بوابة ثابتة + اختبار خلفي) — وليس اقتراحًا أعمى أبدًا.
   - **تنبيهات التصرف** — قائمة انتظار لكشف التآكل: أي تحليل معتمد تتدهور بياناته أو تبدأ قاعدته الأساسية في إظهار الأخطاء يُعلَّم هنا لإعادة المراجعة، ويُسمّى باكتشافه الخاص بدلًا من تقنية MITRE المشتركة فقط.
   - **عمليات البحث المولّدة** — تُجمَّع الاكتشافات في عمليات بحث (واحدة لكل ملف مستورد اليوم؛ وواحدة لكل مقال معلومات تهديدات/مشروع detections.ai مصدر بمجرد إطلاق ذلك التكامل)، بما يطابق ميزة Hunts في Microsoft Sentinel نفسها. يمكن مزامنة عملية بحث إلى مساحة عمل Sentinel حقيقية ككائن `Microsoft.SecurityInsights/hunts` بالإضافة إلى استعلامات البحث المحفوظة المكوّنة لها (مقيّدة بـ `SENTINEL_HUNTING_SYNC_ENABLED` و `mode` — إيقاف/يدوي/تلقائي — قابل للتهيئة لكل فريق في الإعدادات > إعدادات API؛ وليس دفعًا تلقائيًا صامتًا أبدًا إلا إذا اشتركت في ذلك).
   - **عمليات بحث Sentinel** — الجرد الحي لما هو منشور فعليًا في ميزة Hunting في مساحة عمل Sentinel لديك، مسحوبًا مباشرة من ARM بدلًا من سجل المزامنة الخاص بهذا التطبيق؛ ويتضمن اقتراحات اختبار/ضبط لكل استعلام يمكنك تطبيقها أو تجاهلها في مكانها.
   - **قواعد تحليلات Sentinel** — نفس الفكرة لقواعد التحليلات في Microsoft Sentinel (`Microsoft.SecurityInsights/alertRules`) — وهو نوع مورد Sentinel متميز عن Hunting، لأن هذه هي ما يُطلق فعليًا الحوادث/التنبيهات وفق جدول زمني — مع نفس سير عمل تطبيق/تجاهل اقتراحات الضبط.
   - **الاكتشافات المحلية** — انظر [التشغيل بدون Sentinel أو مزوّد ذكاء اصطناعي](#running-without-sentinel-or-an-ai-provider-local-detections-import) أدناه.
   - **سجل التدقيق** (للمشرفين فقط) — سجل عبر المسارات لكل فحص شغّله هذا التطبيق فعليًا: نتائج بوابة/فحص التحكم للاكتشافات المولّدة بالذكاء الاصطناعي، ومحاولات مزامنة عمليات بحث Sentinel، وتشغيلات اختبار استعلامات بحث Sentinel/قواعد التحليلات، مجمّعة في قائمة واحدة مقسّمة إلى صفحات وقابلة للتصفية — تغطي عمدًا ما لا تغطيه أي علامة مراجعة منفردة بمفردها.

   يعمل بالكامل داخل الواجهة الخلفية الرئيسية، دون حاجة إلى نشر إضافي لواجهة المراجعة نفسها. ويتبع تصميم API الخاص به عمدًا اصطلاحات detections.ai أدناه، رغم أنه قائم بذاته تمامًا.
2. **منسّق مسار detections.ai — قريبًا.** لدى detections.ai واجهة API عامة قيد التطوير لتوليد الاكتشافات بمساعدة الذكاء الاصطناعي، وهذا المستودع يحتوي على تكامل حقيقي مبني لها (`backend/detection_pipeline/orchestrator.py`) يأخذ معلومات التهديدات المفروزة، ويفحصها مقابل تغطية الاكتشافات الحالية، ويولّد مسودة KQL لمساحة عمل Sentinel لديك كمهمة مجدولة. سيدعم هذا التكامل تلك الواجهة بمجرد توفرها، وهو ليس جزءًا من هذا الإصدار العام بعد. في غضون ذلك، **لا تحتاج إليه لاستخدام علامة تبويب الاكتشافات على الإطلاق** — [استيراد الاكتشافات المحلية](#running-without-sentinel-or-an-ai-provider-local-detections-import) أدناه يغطي نفس هدف "إدخال اكتشافات حقيقية إلى هذا التطبيق" لإعدادات خالية من التوليد بالذكاء الاصطناعي وخالية من Sentinel اليوم.

### التشغيل بدون Sentinel أو مزوّد ذكاء اصطناعي: استيراد الاكتشافات المحلية

بالنظر إلى اسم التطبيق وعرضه الأساسي، فمن المرجح أن يكون السؤال الأكثر شيوعًا من مستضيف ذاتي على الطبقة **الأساسية** هو *"ليس لديّ Sentinel أو مزوّد ذكاء اصطناعي مُهيّأ — هل يمكنني مع ذلك الاستفادة من علامات تبويب الاكتشافات/عمليات البحث؟"* الجواب نعم: وجّه التطبيق إلى مجلد من ملفات قواعد الاكتشاف الخاصة بك (مكتوبة يدويًا، أو مُصدَّرة من مستأجر Sentinel/Defender حقيقي، أو مسحوبة من مستودع قواعد Sigma/Sentinel عام) وسيقوم بفهرستها ووسمها بـ MITRE والتحقق منها ثابتًا — دون اتصال Sentinel ودون الحاجة إلى `DETECTIONS_AI_API_KEY`/مفتاح Anthropic لأي من ذلك.

- **الصيغ المدعومة، من اليوم الأول:** ملفات `.kql`/`.txt`/`.yar`/`.spl` الخام أو أي امتداد آخر، كل منها مقترن اختياريًا بملف جانبي `.json`/`.yaml` (`{"file": "myrule.kql", "title": "...", "description": "...", "technique_id": "T1059.001"}`) للبيانات الوصفية التي لا يحتاج تصدير Microsoft نفسه إلى تعريفها بشكل منفصل؛ YARA؛ Suricata؛ Sigma YAML (مستند واحد أو متعدد المستندات)؛ Splunk SPL؛ وملف JSON الأصلي المُصدَّر من Microsoft لقواعد التحليلات/استعلامات البحث (فقط قواعد نوع `Scheduled` تحمل استعلام KQL خامًا يمكن لهذا التطبيق تقييمه — كل نوع آخر يُتعرَّف عليه ويُبلَّغ عنه، ولا يُتخطى بصمت).
- **ما يعمل فعليًا على ملف مستورد:** التحقق الثابت (نفس محرك المتانة/النتائج الذي يستخدمه مسار التوليد بالذكاء الاصطناعي) لمحتوى KQL؛ وفحص مواءمة MITRE أيضًا، إذا *كان* لديك مزوّد ذكاء اصطناعي مُهيّأ (وهو محور مستقل عن Sentinel — يمكنك أن تملك أحدهما أو كليهما أو لا شيء)؛ وكل ما يعتمد على Sentinel (الاختبار الخلفي، وفحوص القياس عن بعد، وتتبع التصرف) يبقى خارج النطاق ويُعرض كـ "لا يوجد اتصال Sentinel مُهيّأ" بدلًا من خلية فارغة مضللة.
- **أين يظهر:** يصبح المحتوى المستورد صف عملية بحث/اكتشاف عاديًا — نفس الجداول، ونفس سير عمل المراجعة، ونفس عرض تقنية MITRE كأي شيء يولّده مسار الذكاء الاصطناعي — لذا يظهر أيضًا في عروض `ALL DETECTIONS`/`GENERATED HUNTS` العادية، وليس فقط في علامته الخاصة. العلامة الفرعية المخصصة **الاكتشافات المحلية** (تحت `DETECTIONS`، للمشرفين فقط لبدء الاستيراد) هي حيث توجّهه إلى مجلد وتراقب تقدم/نتائج كل ملف.
- **الإعداد:** اضبط `LOCAL_IMPORT_DIR` على مسار مطلق في نظام ملفات الواجهة الخلفية (وحدة تخزين مُثبَّتة، في نشر حاوية) — يجب أن يكون كل ما يُستورد تحت ذلك الجذر؛ وتتيح لك الواجهة اختيار مسار فرعي تحته، وليس موقعًا عشوائيًا في نظام الملفات أبدًا. انظر [متغيرات البيئة](#environment-variables).
- **جرّبه فورًا:** يحتوي `examples/local-detections-samples/` على مجلد صغير جاهز للاستيراد — قاعدتا KQL صالحتان (إحداهما مقترنة بملف جانبي `.json` لإظهار تلك الآلية)، وقاعدة واحدة غير صالحة عمدًا (لرؤية لافتة المُعلَّم كغير صالح)، وملف واحد غير معروف (لرؤية لافتة فشل الاستيراد). وجّه `LOCAL_IMPORT_DIR` إليه لرؤية حالات النتائج الثلاث جميعها في أول استيراد لك، دون الحاجة إلى كتابة أي قاعدة.

**الاكتشافات المحلية** — عملية استيراد مكتملة: تُبرز لافتة الملخص الملفات التي تم فهرستها لكن تم تعليمها كغير صالحة بواسطة التحليل الثابت (هنا، قاعدة تنبّه على تجزئة واحدة مُضمّنة) جنبًا إلى جنب مع تلك التي استُوردت بنجاح، ويصبح كل ملف صف عملية بحث/اكتشاف عاديًا أدناه

![Local Detections](https://assets.kitploit.com/production/public/readmes/55296/caf1d88594b2bef58bc52b99a779da6d51aeb2b032ae1808fb114c1b8d6aca07/8985c51d3404ac6592121c1d2217d5faa6551c97d65600b3a9b050d5cd4767ce-display-v1.webp)

---

## لقطات الشاشة

تستخدم جميع لقطات الشاشة أدناه بيانات اصطناعية (أسماء مؤسسات وهمية، وعناوين IP مثال من RFC 5737، ونطاقات `.example`) مُولّدة للتوثيق — لا معلومات تهديدات حقيقية أو بيانات عملاء.

**التغذية** — تصفّح وصفّ مدخلات معلومات التهديدات المفروزة حسب الخطورة والوسوم ومؤشرات الاختراق والتقنيات

![Feed](https://assets.kitploit.com/production/public/readmes/55296/e75cea290ced1c3b96346bf04578c6964569b5c70ac4982b91a9f2fea761c4e9/75ad877a8fafd97692b94e9f033f28191973ff10ec6d94626633f13cad189cc1-display-v1.webp)

<br>

**لوحة المعلومات** — تفصيل الخطورة بنظرة سريعة وأهم تقنيات MITRE ATT&CK

![Dashboard](https://assets.kitploit.com/production/public/readmes/55296/eb48a8bbda9454d3f9e134228080ca250d581375f16e4828da282592278c7118/58f1568d9f9896867c01334e00cc8ef3dfb55f2e31a637a349ff2c5f0718b4c2-display-v1.webp)

<br>

**MITRE ATT&CK** — خريطة حرارية كاملة للمصفوفة لتغطية التقنيات عبر المعلومات المستوعبة

![MITRE ATT&CK](https://assets.kitploit.com/production/public/readmes/55296/9df0d60a5197e785dd85356a6beba126ef16bd91518f2d84108b987afaaf9b06/cac6e7cbe4f1b993265c84719288aa8789814fe1aff97821b5f0f27baaf65e3d-display-v1.webp)

<br>

**مكدسك** — حدّد بيئتك؛ تُعاد تقييم مدخلات التغذية حسب الصلة

![Your Stack](https://assets.kitploit.com/production/public/readmes/55296/40839d08db86d678c276bb6d52ec403f807a6593f58b341db27e3e7d8701f652/b7ebedd6e968a264cdf73259aa8d8fef404795023efd998f5a9b0255556f77c2-display-v1.webp)

<br>

**مؤشرات الاختراق** — سجل قابل للبحث لجميع المؤشرات المستخرجة مع تصدير STIX/CSV

![IOCs](https://assets.kitploit.com/production/public/readmes/55296/87ac0ff28d571697f6f3ab0ca6905ab5e137bb190cc0bca1fc064db88904614b/e7f960a68d10c87a9467eb42e438cdd81026c5eb5daa9667f9185dc7b395ebe6-display-v1.webp)

<br>

**التكاملات** — نظرة عامة على الموصلات لـ Sentinel و Defender و RunZero: حالة التهيئة/التمكين واختصارات إلى علامة تبويب كل منها

![Integrations](https://assets.kitploit.com/production/public/readmes/55296/b261064e5162d7dd615fab4d8eb332735cc412ae6ada1e095c2bca0f0afcf989/d92aa2477825a8eeb126bb5fa3396f3292fe8af23a7806538d9f74eb561efac2-display-v1.webp)

<br>

**RunZero** — ربط الأصول، وتتبع التعرض على مستوى المؤسسة، ومقاييس المعالجة، كلها مستمدة من جرد RunZero لديك

![RunZero](https://assets.kitploit.com/production/public/readmes/55296/1c14c9bf6fa927012db3fef13c5fbe9187aaf3a9e914358b7408a872f61dc6d0/be053e10181d5b79a14a9aff7b249c3450cf787f0379d84651bb060bf9c2b8b6-display-v1.webp)

<br>

**التعرض** — المؤسسات مرتبة حسب عدد مطابقات التهديدات؛ انقر على أي بطاقة لرؤية المدخلات المطابقة

![Exposure](https://assets.kitploit.com/production/public/readmes/55296/f80096a602e70e3b462c5d98ac4f04b0ebdc6c47c1efb055bd56f552d55823e4/0bfec2320b8e1f189bfd645a816444587f7fd056377e85ff2c1d34df12b1ab44-display-v1.webp)

<br>

**الاكتشافات** — الكتالوج الكامل للتحليلات المسجّلة (المولّدة بالذكاء الاصطناعي والمستوردة محليًا على حد سواء)، وكل منها مع حالة البوابة الثابتة/الاختبار الخلفي/المراجعة وتقنية MITRE

![Detections](https://assets.kitploit.com/production/public/readmes/55296/bbf5ddc849c368101e54def614a377ba8bcca705cecf65949dc7b93f1a9dea1f/75df6746fea32f7dac1a0f52b099142c3d48fcdd1dbfcea87b9d20306d178ccd-display-v1.webp)

<br>

**الإعدادات** — عناصر التحكم في الفرز بالذكاء الاصطناعي، ومراقبة صحة التغذية، ودرجات ثقة المصادر، وإدارة المستخدمين

![Settings](https://assets.kitploit.com/production/public/readmes/55296/af5be9150416723dd8d0bd311029cc530869c52d514c67f4974a9bbf3d699f99/5964908fc2ae52d0f88149bb6d040898addf7fe99ef154eb7598e1adc3fefda5-display-v1.webp)

---

## البنية```
┌─────────────────────────────────────────┐
│  Next.js 16 frontend (port 3000)        │
│  Tailwind CSS · dark theme              │
└──────────────┬──────────────────────────┘
               │ REST API (Bearer token)
┌──────────────▼──────────────────────────┐
│  FastAPI backend (port 8000)            │
│  APScheduler · slowapi rate limiting    │
└──┬──────────┬──────────┬────────────┬───┘
   │          │          │            │
Postgres   AI provider  RunZero API  detections.ai
           (modular:    (asset sync)  (coming soon --
           Anthropic or                see Features below)
           Azure AI Foundry)

الخلفية (backend/) — Python 3.12 + FastAPI. Postgres لجميع عمليات التخزين (تم إيقاف SQLite وAzure Blob Storage بالكامل). يتم اختيار مزوّد الذكاء الاصطناعي وطريقة المصادقة عبر متغيرات البيئة، وليس بشكل مُضمَّن — انظر أدناه.

الواجهة الأمامية (frontend/) — Next.js 16، JavaScript عادي، Tailwind CSS. تكتشف وضع المصادقة تلقائيًا من الخلفية عند التحميل.

البنية التحتية (infra/) — قوالب Azure Bicep لـ Container Apps وKey Vault وContainer Registry (apps.bicep + platform.bicep + app-stack.bicep، تُنشَر عبر provision.ps1). ذات صلة فقط بطبقة Azure + API.


أوضاع المصادقة

عند تعيين AZURE_AD_TENANT_ID → وضع Entra: تسجيل الدخول الموحّد Microsoft Entra ID، أدوار لكل مستخدم (أول تسجيل دخول يصبح مسؤولًا، والبقية افتراضيًا مشاهدون).

عند عدم تعيين AZURE_AD_TENANT_ID → الوضع المحلي: مفتاح LOCAL_API_KEY مشترك واحد يمنح صلاحية المسؤول لأي شخص يمتلكه. لا إدارة مستخدمين، ولا اعتماد على Azure. تستدعي الواجهة الأمامية GET /api/auth/mode عند التحميل وتعرض شاشة تسجيل الدخول المطابقة تلقائيًا — لا شيء لتهيئته من جانب الواجهة الأمامية.

يُصدر كلا الوضعين نفس النوع من JWT الموقّع من التطبيق بعد ذلك، لذا تعمل كل المسارات الأخرى (require_auth/require_admin) بشكل متطابق بغض النظر عن الوضع الذي أصدر الرمز.


التطوير المحلي

المتطلبات الأساسية

  • Python 3.12+
  • Node.js 20+
  • Docker (لـ Postgres المحلي — انظر نصوص الإعداد)

أسرع مسار

شغّل scripts/setup-basic.sh أو scripts/setup-basic-api.sh (انظر طبقات النشر) — فهي تتولى Postgres وإنشاء .env نيابةً عنك. ثم:```bash cd backend && pip install -r requirements.txt && uvicorn main:app --reload --port 8000 cd frontend && npm install && npm run dev

root@kitploit:~
### الإعداد اليدوي```bash
cd backend
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp env.example .env              # fill in required values — see Environment Variables below
uvicorn main:app --reload --port 8000

الاستخدام

المسح الأساسي

root@kitploit:~
# فحص جميع المنافذ على هدف واحد
python3 cme.py 192.168.1.100

# فحص منافذ محددة
python3 cme.py 192.168.1.100 -p 22,80,443,445,3389

# فحص نطاق من المنافذ
python3 cme.py 192.168.1.100 -p 1-1000

# فحص أهداف متعددة
python3 cme.py 192.168.1.100,192.168.1.101,192.168.1.102

# فحص شبكة فرعية كاملة
python3 cme.py 192.168.1.0/24

خيارات متقدمة

root@kitploit:~
# فحص سريع مع 100 خيط
python3 cme.py 192.168.1.0/24 -t 100

# فحص مع مهلة مخصصة (بالثواني)
python3 cme.py 192.168.1.100 -T 5

# حفظ النتائج في ملف
python3 cme.py 192.168.1.0/24 -o results.txt

# حفظ النتائج بصيغة JSON
python3 cme.py 192.168.1.0/24 -o results.json --format json

# فحص صامت (الأسئلة فقط)
python3 cme.py 192.168.1.0/24 -q

# فحص مطوّل مع تفاصيل
python3 cme.py 192.168.1.100 -v

أمثلة الاستخدام المتقدم

root@kitploit:~
# فحص منافذ محددة عبر شبكة فرعية مع إخراج JSON
python3 cme.py 10.0.0.0/24 -p 21,22,23,25,53,80,110,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 -t 200 -o scan_results.json --format json

# فحص سريع لهدف واحد مع اكتشاف الخدمات
python3 cme.py 192.168.1.100 -p 1-65535 -t 500 -T 2 -v

# فحص أهداف متعددة مع حفظ النتائج
python3 cme.py 192.168.1.1,192.168.1.10,192.168.1.20 -p 22,80,443 -o multi_scan.txt

الخيارات

الميزات

  • فحص سريع متعدد الخيوط: فحص فعال باستخدام خيوط متزامنة
  • مرونة المنافذ: فحص منافذ فردية، قوائم، أو نطاقات
  • دعم أهداف متعددة: فحص عناوين IP متعددة أو شبكات فرعية كاملة
  • اكتشاف الخدمات: تحديد الخدمات الشائعة على المنافذ المفتوحة
  • صيغ إخراج متعددة: text، JSON، و CSV
  • معالجة الأخطاء: معالجة قوية للأخطاء مع رسائل واضحة
  • واجهة سهلة الاستخدام: واجهة سطر أوامر بسيطة وبديهية
  • قابلية التخصيص: خيوط، مهل زمنية، وصيغ إخراج قابلة للتعديل

المتطلبات

  • Python 3.6+
  • لا توجد مكتبات خارجية مطلوبة (يستخدم فقط المكتبات القياسية)

التثبيت

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/yourusername/cme.git
cd cme

# جعله قابلاً للتنفيذ
chmod +x cme.py

# تشغيله مباشرة
python3 cme.py --help

الترخيص

هذا المشروع مرخص تحت رخصة MIT - راجع ملف LICENSE للتفاصيل.

إخلاء المسؤولية

هذه الأداة مخصصة لأغراض الاختبار الأمني المصرح به فقط. يجب عليك الحصول على إذن كتابي صريح قبل فحص أي شبكة أو نظام لا تملكه. المؤلفون غير مسؤولين عن أي سوء استخدام أو أضرار ناجمة عن هذه الأداة.

المساهمة

المساهمات مرحب بها! لا تتردد في تقديم طلب سحب.

الدعم

إذا واجهت أي مشاكل أو لديك أسئلة، يرجى فتح مشكلة على GitHub.```bash cd frontend npm install cp env.local.example .env.local # set NEXT_PUBLIC_API_URL=http://localhost:8000 npm run dev

root@kitploit:~
### Docker Compose (كلا الخدمتين)```bash
cp backend/env.example backend/.env   # fill in required values
docker compose up --build

الواجهة الأمامية → http://localhost:3000 مستندات واجهة البرمجة الخلفية → http://localhost:8000/docs


متغيرات البيئة

انسخ backend/env.example إلى backend/.env واملأ القيم. مجمّعة حسب الطبقة التي تحتاجها:

مطلوبة دائمًا:

المتغيرالوصف
PG_DSNسلسلة اتصال Postgres
JWT_SECRET_KEYسرّ لتوقيع رموز جلسة التطبيق (python -c "import secrets; print(secrets.token_hex(32))")

المصادقة — اختر نمطًا واحدًا:

الفرز بالذكاء الاصطناعي — اختياري، اختر مزوّدًا واحدًا (احذف كليهما للتشغيل مع تعطيل الفرز):

اختيارية:

الواجهة الأمامية (frontend/.env.local أو frontend/env.local.example):

المتغيرالوصف

منسّق detections.ai — قريبًا (ليس جزءًا من هذا الإصدار العام بعد؛ موثّق هنا لحين إطلاقه. طبقة Azure + API، قابلة للنشر بشكل منفصل — انظر backend/detection_pipeline/orchestrator.py):

مزامنة Sentinel Hunts (اختيارية، معطّلة افتراضيًا — انظر الإعدادات > إعدادات API لنمط التشغيل/الإيقاف/اليدوي/التلقائي):


النشر على Azure

البنية التحتية كرمز (IaC) الحقيقية الحالية هي infra/apps.bicep + infra/platform.bicep + infra/app-stack.bicep، تُنشر عبر infra/provision.ps1 (أو الغلاف الرقيق scripts/setup-azure.ps1). تقوم بتوفير Container Apps وأسرار مدعومة بـ Key Vault وهويات مُدارة — لا يقوم هذا المستودع بتوفير Postgres نفسه؛ وجّه PG_DSN (المخزّن كسرّ pg-dsn في Key Vault) إلى أي خادم Postgres يمكن الوصول إليه.```powershell ./scripts/setup-azure.ps1

or directly:

cd infra cp migration.psd1.example migration.psd1 # fill in your resource group, apps, etc. ./provision.ps1

root@kitploit:~
`provision.ps1` عديم الأثر الجانبي (idempotent) — آمن لإعادة تشغيله بعد تعديل المانيفست. راجع تعليق الترويسة الخاص به للحصول على الخطوات التفصيلية الكاملة (المنصة → حزمة التطبيقات → الأسرار → Easy Auth → استيراد الصورة → التطبيقات → الفحوصات اللاحقة).

منسّق detections.ai (وظيفة Container Apps مجدولة يحرّكها كتلة `Orchestrator` في `migration.psd1` — راجع `migration.psd1.example` للاطلاع على الشكل، وخزّن مفتاحك كسرّ `DETECTIONSAIAPIKEY` في Key Vault) ليس جزءًا من هذا الإصدار العام بعد — راجع [ميزتان متعلقتان بـ detections](#two-detections-related-features) أعلاه.

---

## بنية المشروع```
├── backend/
│   ├── main.py                  # FastAPI app, all endpoints
│   ├── db.py                    # Postgres queries
│   ├── pgcompat.py              # connection pool + SQLite-style placeholder translation
│   ├── feed_manager.py          # RSS polling, AI triage (provider-modular), scheduler
│   ├── enrichment.py            # IOC extraction, KEV cache, stack rematch
│   ├── runzero_sync.py          # RunZero asset sync and correlation engine
│   ├── dedup.py                 # CVE deduplication logic
│   ├── auth.py                  # Entra ID SSO + local API-key auth, app JWT sign/verify
│   ├── ioc_export.py            # STIX 2.1 and CSV export
│   ├── stack_presets.py         # Pre-built tech stack templates
│   ├── detection_pipeline/      # detections.ai orchestrator, MITRE alignment-check,
│   │                            # Sentinel hunts/analytics-rules sync + tuning,
│   │                            # audit log, local_import.py (Local Detections Import)
│   └── tests/                   # pytest test suite, incl. fixtures/local_import/
├── frontend/
│   ├── pages/
│   │   ├── index.js              # Main app shell + tab routing
│   │   └── login.js              # Entra ID or local API-key login, auto-detected
│   ├── lib/
│   │   ├── authMode.js           # GET /api/auth/mode, cached per page load
│   │   ├── authFetch.js          # Bearer auth + 401-retry wrapper
│   │   └── authSession.js        # token storage, JWT decode/expiry helpers
│   └── components/
│       ├── layout/                # TopBar, Sidebar, TabBar, TopFilterBar, TimeRangeToggle
│       ├── feed/                  # FeedList, FeedCard
│       ├── integrations/          # IntegrationsPanel, ExposurePanel, RunZeroPanel,
│       │                          # RunZeroMatchesPanel, RunZeroMetricsPanel
│       ├── detections/            # DetectionsPanel (tab shell) + one component per
│       │                          # sub-tab: DetectionsCatalogPanel, AlignmentReviewPanel,
│       │                          # DispositionAlertsPanel, HuntsPanel, SentinelHuntsPanel,
│       │                          # SentinelAnalyticsRulesPanel, LocalDetectionsPanel,
│       │                          # AuditPanel, plus shared TuningSuggestionBadge
│       ├── settings/              # SettingsPanel, CadencePicker, SeverityCards
│       └── mitre/                 # MitreMatrix
├── infra/                       # Azure Bicep templates + provision.ps1
├── scripts/                     # Tiered setup scripts (see Deployment tiers)
└── docker-compose.yml

مصادر التغذية

63 مصدرًا عبر ثلاث طبقات:

  • الطبقة 1 — CISA، Cisco Talos، Fortinet Threat Signal، ESET WeLiveSecurity، Microsoft Security Blog، SentinelOne Labs، Google Project Zero، Zero Day Initiative، Check Point Research، Talos Intelligence Blog، The DFIR Report، Oracle
  • الطبقة 2 — Recorded Future، Malpedia، SANS ISC، Securelist، Unit42، Proofpoint TI، Malwarebytes TI، Wiz Blog، Datadog Security Labs، ReversingLabs، Sekoia، Cyble، ANY.RUN Blog، والمزيد
  • الطبقة 3 — BleepingComputer، Krebs on Security، Schneier on Security، The Hacker News، Dark Reading، CrowdStrike Blog، Snyk، Semgrep، والمزيد

الأمان

  • جميع نقاط نهاية API تتطلب Authorization: Bearer <token>
  • مقارنة الرموز الآمنة زمنيًا (secrets.compare_digest) لمفتاح المصادقة المحلي
  • SQL مُعامَل في كل مكان — لا استيفاء نصي في الاستعلامات
  • CORS مقيّد بقائمة أصول مسموح بها صراحةً
  • مدخلات LLM تُنقّى قبل استدعاءات مزوّد الذكاء الاصطناعي؛ والمخرجات تُتحقق قبل التخزين
  • الحاويات تعمل كمستخدم غير جذر مع إسقاط جميع قدرات Linux
  • لا أسرار مضمّنة في الصور — تُحمّل وقت التشغيل من .env / Azure Key Vault

الترخيص

MIT — انظر LICENSE.

تنزيل الأداة
الطبقةالسكربتالفرز بالذكاء الاصطناعيالمصادقةالتخزينما تحصل عليه
الأساسيةscripts/setup-basic.shمعطّلمفتاح API محليPostgres محلي (Docker)تجميع الخلاصات، استخراج مؤشرات الاختراق، مصفوفة MITRE، لوحات التحكم — بلا ذكاء اصطناعي، بلا سحابة، ولا شيء للتسجيل فيه
الأساسية + APIscripts/setup-basic-api.shAnthropic (مباشر)مفتاح API محليPostgres محلي (Docker)كل ما سبق، بالإضافة إلى فرز الخطورة/TTP/الملخص بالذكاء الاصطناعي
Azure + APIscripts/setup-azure.ps1Azure AI FoundryMicrosoft Entra ID SSOPostgres الخاص بك (Azure DB for PostgreSQL، إلخ)نشر كامل إلى Azure Container Apps، مع SSO وأدوار لكل مستخدم. (تكامل خط أنابيب detections.ai قادم في إصدار مستقبلي — انظر أدناه.)
الخيارالوصفالافتراضي
targetعنوان IP أو نطاق أو شبكة فرعية للفحصمطلوب
-p, --portsالمنافذ المراد فحصها (مفصولة بفواصل أو نطاق)1-65535
-t, --threadsعدد الخيوط المتزامنة50
-T, --timeoutمهلة الاتصال بالثواني3
-o, --outputملف الإخراجNone
--formatصيغة الإخراج (text, json, csv)text
-q, --quietوضع صامت (الأسئلة فقط)False
-v, --verboseوضع مطوّل مع تفاصيلFalse
--versionعرض الإصدار-
-h, --helpعرض رسالة المساعدة-
المتغيرالوصف
LOCAL_API_KEYالنمط المحلي: مفتاح مشترك يمنح صلاحية الوصول الإداري. اترك AZURE_AD_TENANT_ID غير معيّن لتفعيل هذا النمط
AZURE_AD_TENANT_IDنمط Entra: معرّف المستأجر للدخول الموحّد (SSO). تعيين هذا يفعّل نمط Entra
AZURE_AD_CLIENT_IDنمط Entra: معرّف عميل تسجيل التطبيق
AZURE_AD_CLIENT_SECRETنمط Entra: سرّ تسجيل التطبيق (الواجهة الأمامية فقط)
NEXTAUTH_SECRETنمط Entra: سرّ تشفير جلسة NextAuth (الواجهة الأمامية فقط)
المتغيرالوصف
AI_PROVIDERanthropic (افتراضي) أو azure
ANTHROPIC_API_KEYمفتاح Anthropic API المباشر
AZURE_FOUNDRY_ENDPOINTنقطة نهاية Azure AI Foundry، مثل https://<resource>.services.ai.azure.com/anthropic
AZURE_FOUNDRY_API_KEYمفتاح Azure AI Foundry API
AZURE_FOUNDRY_DEPLOYMENTاسم نشر Foundry (افتراضي claude-haiku-4-5)
AZURE_FOUNDRY_API_VERSIONإصدار Foundry API (افتراضي 2025-05-01)
المتغيرالوصف
RUNZERO_API_TOKENيفعّل مزامنة وربط أصول RunZero
ALLOWED_ORIGINSقائمة CORS المسموح بها مفصولة بفواصل (افتراضي http://localhost:3000)
ENABLE_SCHEDULERعيّن false لتعطيل مُستطلع التغذيات في الخلفية (افتراضي true)
ARCHIVE_AFTER_DAYSعتبة الأرشفة التلقائية بالأيام (افتراضي 90)
PG_POOL_MIN / PG_POOL_MAX / PG_POOL_TIMEOUTضبط تجمّع اتصالات Postgres (الافتراضيات 1 / 10 / 30)
LOCAL_IMPORT_DIRيفعّل استيراد الكشوفات المحلية — مسار مطلق على نظام ملفات الواجهة الخلفية يُقيَّد به كل استيراد. تركه غير معيّن يعطّل الميزة بالكامل (تُظهر تبويبها رسالة "غير مُهيّأ")
NEXT_PUBLIC_API_URLعنوان URL للواجهة الخلفية كما يراه المتصفح. يُدمج في حزمة JS وقت البناء. اتركه غير معيّن لتوجيه استدعاءات API عبر الوكيل المدمج من نفس الأصل (frontend/pages/api/[...proxy].js) بدلاً من ذلك — مطلوب كلما لم يكن للواجهة الخلفية مدخل عام (مثل تطبيق الحاوية الداخلي فقط في طبقة Azure + API)
BACKEND_URLعنوان URL للواجهة الخلفية كما يراه خادم Next.js نفسه. يُستخدم في تبادل تسجيل الدخول الخاص بـ NextAuth، وعندما يكون NEXT_PUBLIC_API_URL غير معيّن، يُستخدم بواسطة الوكيل من نفس الأصل الذي يمرّر كل طلب متصفح /api/* من جهة الخادم
المتغيرالوصف
DETECTIONS_AI_API_KEYمطلوب لتشغيل المنسّق على الإطلاق
SENTINEL_WORKSPACE_IDمعرّف عميل مساحة عمل Log Analytics (GUID)، للاختبار الرجعي. اختياري
PIPELINE_BATCH_SIZEعدد الإدخالات لكل تشغيل (افتراضي 5)
PIPELINE_DRY_RUNtrue للمطالبة والتسجيل دون استدعاء API
PIPELINE_LANGUAGEلغة استعلام الكشف (افتراضي kql)
المتغيرالوصف
SENTINEL_HUNTING_SYNC_ENABLEDtrue للسماح بأي محاولة مزامنة بحث على الإطلاق. تركه غير معيّن/خطأ هو عدم فعل محض — صفر استدعاءات ARM
AZURE_SUBSCRIPTION_IDالاشتراك الذي يحتوي على مساحة عمل Sentinel
AZURE_RESOURCE_GROUPمجموعة الموارد التي تحتوي على مساحة عمل Sentinel
SENTINEL_WORKSPACE_NAMEاسم مساحة العمل، وليس معرّف العميل الخاص بها — قيمة مختلفة عن SENTINEL_WORKSPACE_ID أعلاه، الذي يستخدمه عميل مستوى بيانات الاختبار الرجعي بدلاً من ذلك