
وسيط Laravel سلبي يكتشف ويسجّل حقن SQL وXSS وRCE وماسحات البوتات وأكثر من 175 نمط هجوم. يتضمن لوحة تحكم مدمجة، وتنبيهات Slack، وواجهة REST API، وإثراءً جغرافيًا. نظام IDS، وليس WAF.
مراقبة أمنية وتسجيل الهجمات لـ Laravel. اكتشف وسجّل حقن SQL،
XSS، RCE، اجتياز المسارات، ماسحات الروبوتات وفحوصات الاستطلاع من نوع /wp-admin —
كل طلب عدائي يُسجَّل في قاعدة بياناتك مع سياق التطبيق الكامل.
إنه نظام كشف تسلل (IDS)، وليس جدار حماية تطبيقات (WAF): لا يحجب أو يفلتر أو يعدّل أي طلب أبدًا.
GET /wp-admin/setup-config.php 404 — on a site that isn't WordPress
GET /.env 404 — someone wants your database password
GET /?id=1' UNION SELECT password FROM 200 — SQL injection against a real route
GET /phpmyadmin/index.php 404 — scanning for an admin panel
تلك الطلبات تصل بالفعل إلى تطبيق Laravel الخاص بك. يُظهر سجل الوصول لديك عنوان URL ورمز الحالة، ولا شيء آخر — ليس الحمولة المفكوكة، ولا أي من مساراتك تم استهدافه، ولا ما إذا كان نفس عنوان IP قد جرّب أربعين شيئًا آخر في هذه الساعة.
تجيب هذه الحزمة عن تلك الأسئلة. أضفها إلى أي تطبيق Laravel 10–13 وتبدأ بفحص كل طلب HTTP مقابل أكثر من 150 نمط هجوم، مع تقييم كل تطابق حسب درجة الثقة وكتابته إلى قاعدة بياناتك — مع لوحة تحكم مدمجة، وتنبيهات Slack، وإثراء جغرافي، وتصديرات fail2ban/blocklist. لا يتم حظر أي طلب أبدًا. فكّر في كاميرا مراقبة، وليس قفلًا: فهي تُظهر لك بالضبط من يتحسّس مساراتك، وكم مرة، وبأي تقنيات.
مستخرجة من تطبيق إنتاجي ومُجرّبة على حركة مرور حقيقية. أكثر من 2,400 اختبار، بلا تبعيات وقت تشغيل تتجاوز Laravel نفسه، وبلا حاجة لاتصال بالإنترنت للكشف.
هل تقوم بالترقية؟ راجع UPGRADING.md. هل تريد المساهمة؟ راجع CONTRIBUTING.md.
composer require jayanta/laravel-threat-detection
php artisan vendor:publish --tag=threat-detection-migrations
php artisan migrate
ثم أضف الوسيط إلى مجموعة web الخاصة بك (سطر واحد في bootstrap/app.php على Laravel 11+،
أو app/Http/Kernel.php على Laravel 10) — المقتطف الكامل في البدء السريع أدناه.
هذا كل شيء؛ الكشف أصبح نشطًا.
php artisan threat-detection:doctor # confirms it is actually recording
هذه الحزمة هي نظام كشف تسلل سلبي على مستوى التطبيق — يراقب ويسجل، ولا يحجب. الغرض منها أن تكون بجانب WAF أو خدمة الحافة، لا أن تحل محلها. كل طبقة ترى شيئًا لا تستطيع الطبقات الأخرى رؤيته:
| هذه الحزمة (app IDS) | WAF (ModSecurity + OWASP CRS، Cloudflare WAF) | الحافة / CDN (Cloudflare) | |
|---|---|---|---|
| حجب الطلبات الخبيثة | ❌ تسجيل فقط | ✅ | ✅ |
| سياق التطبيق الكامل (الرابط الدقيق، الحمولة المفكوكة، المستخدم الموثق) | ✅ | ⚠️ جزئي | ❌ |
| لوحة تحكم مدمجة + سجل تهديدات في قاعدة بياناتك | ✅ | ⚠️ يختلف | ⚠️ الحافة فقط |
| كشوفات خاصة بالتطبيق (مثل Aadhaar / PAN / IFSC PII) | ✅ مدمج + مخصص | ⚠️ اكتب قواعدك بنفسك | ⚠️ قواعد مخصصة، تعتمد على الخطة |
| يعمل دون اتصال / بدون خدمة خارجية | ✅ | ⚠️ يعتمد | ❌ |
| يوقف حركة المرور قبل وصولها إلى خادمك | ❌ | ⚠️ WAF السحابي فقط | ✅ |
| الإعداد | composer require، ترحيل، سطر middleware واحد | متوسط–عالٍ | منخفض–متوسط |
| التكلفة | مجاني، MIT | يختلف | طبقة مجانية + مدفوع |
الخلاصة: الحافة/WAF هو القفل على الباب؛ هذه هي كاميرا المراقبة بالداخل، مع سياق التطبيق لتخبرك بالضبط ما يُحاول على أي مسار، ومن قِبَل من، وبأي تكرار. استخدمها لتغذية قرارات حقيقية — حظر fail2ban، حدود المعدل، الحظر الجغرافي — ببيانات لا تراها طبقة الحافة أبدًا.
تثبيت غير مضبوط يُطلق على محتوى مشروع، ويجب أن تعرف ذلك قبل
التثبيت لا بعده. هذه قياسات فعلية، لا افتراضات. الصفوف
أدناه عيّنة من الحد الأدنى الذي يثبّته
LegitimateTrafficCorpusTest;
كل صف يسرد كل ما يسجله ذلك الطلب، و
ReadmeNoiseFloorTest يُفشل
البناء إذا توقف أي صف عن مطابقة ما تقيسه المجموعة له.