
نظام دفاع تفاعلي للمواقع الإلكترونية مدعوم بالذكاء الاصطناعي يكتشف الهجمات، ويحللها، ويقوم بتصحيح كود المصدر بشكل مستقل في الوقت الفعلي باستخدام وكلاء LLM.
نظام دفاع تفاعلي لتطبيقات الويب مدعوم بالذكاء الاصطناعي، مصمم لمواجهة الاختراقات المدعومة بالذكاء الاصطناعي في الوقت الفعلي.
Mahoraga Defender هو إثبات مفهوم (PoC) لنظام دفاع تفاعلي، غير مرتبط بنوع المهاجم، يعمل في الوقت الفعلي. الآلية الأساسية تتضمن خداع الخصم ليقوم بالاكتشافات والهجمات على بيئة مزيفة وغير ضارة (بيئة "ظل")، ثم تسجيل هذه الهجمات. بعد ذلك، يقوم وكيل LLM بتحليل السجلات وتسليم تفاصيل أي ثغرات تم اكتشافها إلى وكلاء LLM آخرين لإصلاح الثغرات ونشر التصحيحات.
النظام مصمم ليكون آليًا بالكامل مع مراعاة تحسين تكاليف واجهة برمجة التطبيقات (API). تم إنشاء واجهة مستخدم رسومية (GUI) لمراقبة سجلات المرور ونشاط الوكلاء وخط أنابيب التصحيح بسهولة، والتحكم في عدد الوكلاء المراد نشرهم.
الموقع المستهدف (الضحية) هو نسخة متفرعة (fork) من crAPI (Completely Ridiculous API)، وهو تطبيق ويب معرض للثغرات عن قصد تم إنشاؤه بواسطة OWASP لتعليم اختبار أمان واجهات برمجة التطبيقات. يحاكي crAPI منصة لأصحاب المركبات مع خدمات مصغرة تغطي نقاط الضعف في واجهات برمجة التطبيقات العشر الرئيسية حسب OWASP. تم تصميم المدافع للتمييز بوضوح بين جلسات المستخدم العادية والعدوانية بحيث لا يعاني المستخدمون العاديون من أي انخفاض في جودة تجربة المستخدم أثناء حماية المدافع للموقع من المهاجمين.
النسخة المتفرعة لدينا (crapi-fork/) تضيف:
يتم الاحتفاظ بنسخة نظيفة في crapi-original/ بحيث يمكن إعادة تعيين البيئة بين التجارب.
crapi-fork/. يعمل في بيئة باش معزولة (sandboxed) مع صلاحية الوصول مقصورة على crapi-fork/ فقط.عند النشر، يتم إعادة تحميل خدمات Python بشكل ساخن عبر gunicorn (فوري)، بينما يتم إعادة بناء خدمات Java/Go عبر docker compose up -d --build.
لماذا لا يوجد وكيل اختبار؟ لقد فكرنا في إضافة وكيل مستخدم مخصص وبيئة اختبار منفصلة، لكننا أزلنا كليهما للحفاظ على النظام خفيفًا.
conda create -n XYZ python=3.13، ثم conda activate XYZ).pip install -r requirements.txt./start.sh من جذر المشروع — يعيد تعيين الكود المصدري لـ crapi-fork/ من crapi-original/، ويعيد بناء جميع الخدمات، ويزرع الأعلام والأفخاخ.python3 -m harness.main --app-url http://localhost:8888 -v.localhost:8888 (وصف التحدي موجود على localhost:8888/challenge). إذا كنت تستخدم وكيل ذكاء اصطناعي لاختبار الاختراق، يجب ألا يحصل الوكيل على أي صلاحية للوصول إلى عمليات docker الداخلية، لأن هذا سيعتبر غشًا.localhost:3000 لرؤية السجلات في الوقت الفعلي، إجراءات الوكلاء، التصحيحات، الأعلام الملتقطة، إلخ.docker compose down -v لإزالة حاويات docker وقواعد البيانات التي تم إنشاؤها لهذا المشروع.لوحة التحكم: http://localhost:3000
شريط حالة عالمي للوكلاء يظهر في جميع علامات التبويب يعرض صحة الوكيل (نشط/معلق/خامل/خطأ) مع عناصر تحكم في القياس.
عارض سجلات طلبات الإنتاج/الظل بشاشة مقسمة في الوقت الفعلي مع إدخالات ملونة حسب الخطورة وتجميع المرور
مُغذى نشاط لكل وكيل مع المطالبات النظامية، استدعاءات الأدوات، وتسميات نموذج LLM
لوحة كانبان: تم الكشف عنه ← قيد الإصلاح ← قيد المراجعة ← تم النشر، مع لوحة تفاصيل قابلة لتغيير الحجم
فروقات الكود، الملفات المعدلة، أوامر التراجع، والخط الزمني لكل تصحيح
النظام يستخدم أي واجهة برمجة تطبيقات متوافقة مع OpenAI. قم بتكوين النماذج في config/llm.yaml:
# Shadow Analyzer — reads shadow logs to detect exploits (no tool calling)
shadow_analyzer:
provider: gemini
model: gemini-2.5-flash
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.30
output_per_million: 2.50
# Fixer — patches source code (tool-calling agent)
fixer:
provider: gemini
model: gemini-3-flash-preview
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.50
output_per_million: 3.00
# Reviewer — verifies patches (tool-calling agent)
reviewer:
provider: gemini
model: gemini-3-flash-preview
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.50
output_per_million: 3.00
لتغيير المزود، قم بتغيير provider و model، ثم تعيين مفتاح API المقابل في harness/.env:
المزودون المدعومون: OpenAI, Gemini, Anthropic, Groq, Together, Ollama, Mistral, DeepSeek, Fireworks, xAI, Perplexity, OpenRouter, Zhipu.
أضف مزودين مخصصين عن طريق إضافة عنوان URL الأساسي الخاص بهم إلى قسم providers في ملف YAML.
providers:
openai: https://api.openai.com/v1
gemini: https://generativelanguage.googleapis.com/v1beta/openai/
anthropic: https://api.anthropic.com/v1/
groq: https://api.groq.com/openai/v1
... # add more if needed
ملاحظة: فقط عدد قليل من مزودي واجهات برمجة التطبيقات لديهم حد معدل مرتفع بما يكفي لدعم 3 وكلاء أو أكثر يعملون في وقت واحد. Google Gemini هو أحدهم.
شكر خاص لـ d3lta05 (LinkedIn) و aleemladha على مساعدتهم في اختبار الاختراق.