
أداة شاملة لاكتشاف الثغرات الأمنية لمثيلات أتمتة سير العمل في n8n. تكتشف الثغرة الحرجة CVE-2026-21858 (بدرجة خطورة CVSS 10.0) دون القيام بأي استغلال.
ماسح أمني أخلاقي لثغرة CVE-2026-21858 (ثغرة Ni8mare)
"المعرفة قوة، لكن فقط إذا تمت مشاركتها بمسؤولية."
أداة شاملة لاكتشاف الثغرات في حالات أتمتة سير العمل n8n. تكتشف الثغرة الحرجة CVE-2026-21858 (بدرجة CVSS 10.0) دون القيام بأي استغلال.
# الانتقال إلى مجلد السكربتات
cd ni8mare-scanner/scripts
# تثبيت التبعيات
pip install -r requirements.txt
# التحقق مما إذا كان إصدار معين معرضًا للخطر
python n8n_scanner.py version-check 1.120.0
# فحص مثيل مباشر
python n8n_scanner.py scan https://n8n.example.com:5678
# الحصول على معلومات CVE
python n8n_scanner.py info
الخطورة: CVSS 10.0 (حرجة)
تم الإصلاح في: n8n v1.121.0
اكتشفها: Dor Attias (Cyera Research Labs)
صيانة الأداة: CropNet على GitHub، بواسطة فريق أبحاث Schema.cx
ثغرة حرجة تسمح للمهاجمين غير المصادق عليهم بقراءة ملفات عشوائية من خلال خلط نوع المحتوى (Content-Type).
يقوم هذا الماسح بـ الكشف غير التدخلي فقط - ولا يستغل الثغرة أبدًا.
# التحقق من إصدار معرض للخطر
python n8n_scanner.py version-check 1.120.0
# المخرجات: الحالة 🔴 معرض للخطر (رمز الخروج 2)
# التحقق من إصدار آمن
python n8n_scanner.py version-check 1.121.0
# المخرجات: الحالة 🟢 غير معرض للخطر (رمز الخروج 0)
# فحص أساسي
python n8n_scanner.py scan https://n8n.example.com:5678
# فحص عميق مع مخرجات JSON
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# تخطي طلب التفويض (للعمليات المصرح بها مسبقًا)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# إنشاء ملف الأهداف
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# فحص جميع الأهداف
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# توليد تكوين YAML إلى stdout
python n8n_scanner.py generate-config --format yaml
# توليد تكوين JSON إلى ملف
python n8n_scanner.py generate-config --format json --output config.json
# استخدام ملف التكوين للفحص
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
scanpython n8n_scanner.py scan <target> [OPTIONS]
الخيارات:
--intensity, -i - شدة الفحص: light أو medium أو deep (الافتراضي: medium)--output, -o - مسار ملف المخرجات--format, -f - صيغة المخرجات: json أو csv أو html أو text أو markdown--timeout, -t - مهلة الطلب بالثواني (الافتراضي: 30)--delay, -d - التأخير بين الطلبات (الافتراضي: 2.0)--no-confirm - تخطي تأكيد التفويضversion-checkpython n8n_scanner.py version-check <version_or_url>
رموز الخروج:
0 - الإصدار آمن (مصحح)1 - حدث خطأ2 - الإصدار معرض للخطرأمثلة:
# التحقق من سلسلة الإصدار
python n8n_scanner.py version-check 1.120.0
# التحقق من إصدار مثيل مباشر
python n8n_scanner.py version-check https://n8n.example.com:5678
# config.yml
scan:
intensity: medium
timeout: 30
rate_limit:
delay: 2.0
max_requests: 100
targets:
- https://n8n.example.com:5678
require_confirmation: true
output:
format: json
directory: ./reports
أربعة ملفات فحص مُعدة مسبقًا متاحة:
قم بالتوليد باستخدام: python n8n_scanner.py generate-config --profile thorough
{
"target": "https://n8n.example.com:5678",
"version": "1.120.0",
"vulnerable": true,
"cve": "CVE-2026-21858",
"severity": "CRITICAL"
}
Target,Version,Vulnerable,CVE,Severity
https://n8n.example.com:5678,1.120.0,true,CVE-2026-21858,CRITICAL
تقارير HTML احترافية مع تنسيقات ورسوم بيانية.
مخرجات مقروءة للإنسان مع ترميز ألوان ومؤشرات خطورة.
صيغة مناسبة للتوثيق في الويكي والتقارير.
# البناء باستخدام Docker Compose
docker-compose build
# تشغيل الأوامر
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# فحص دفعات مع ملف مثبت
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # واجهة الأوامر الرئيسية
│ ├── modules/ # الوحدات الأساسية
│ │ ├── scanner.py # منطق الفحص
│ │ ├── detector.py # اكتشاف الثغرات
│ │ ├── reporter.py # توليد التقارير
│ │ ├── config.py # التكوين
│ │ └── utils.py # الأدوات المساعدة
│ ├── tests/ # مجموعة الاختبارات
│ └── build.py # أتمتة البناء
├── docs/ # التوثيق
└── docker/ # إعدادات Docker
# اختبار وظيفي سريع (موصى به)
cd scripts
python quick_test.py
# مجموعة الاختبارات الكاملة
python build.py test
# اختبار وحدة محددة
python -m pytest tests/test_config.py -v
نتائج الاختبار السريع:
[Test] Version Vulnerability Detection [OK]
[Test] Configuration Loading [OK]
[Test] Scanner Creation [OK]
[Test] Detector Creation [OK]
[Test] Reporter Creation [OK]
[Test] Utility Functions [OK]
Results: 6 passed, 0 failed
# تثبيت التبعيات
python build.py install
# تشغيل جميع الاختبارات
python build.py test
# تشغيل أدوات فحص الكود
python build.py lint
# تنسيق الكود
python build.py format
# بناء التوزيعة
python build.py build
# تنظيف الملفات المؤقتة
python build.py clean
# خط أنابيب البناء الكامل
python build.py all
يتطلب الماسح تفويضًا صريحًا:
⚠️ AUTHORIZATION REQUIRED
You are about to scan: https://n8n.example.com:5678
Are you authorized to test this target? [y/N]:
مطلوب:
محظور:
إذا اكتشفت مثيلات معرضة للخطر:
CVE-2026-21858 اكتشفها:
تم تطوير هذا الماسح كأداة أمنية أخلاقية لمساعدة المؤسسات على تحديد ومعالجة ثغرة Ni8mare. يقوم بالكشف فقط ولا يستغل الثغرات أبدًا.
رخصة MIT - راجع ملف LICENSE للتفاصيل.
المكونات الخارجية:
enhancementس: هل سيستغل هذا الثغرة؟
ج: لا. كشف فقط، ولا يستغل أبدًا.
س: هل يمكنني الفحص دون تفويض؟
ج: لا. احصل دائمًا على تفويض كتابي أولاً.
س: ما الإصدارات المعرضة للخطر؟
ج: جميع إصدارات n8n الأقل من 1.121.0 معرضة للخطر.
س: ما مدى دقة الكشف؟
ج: دقة عالية جدًا مع معدلات إيجابية كاذبة منخفضة.
س: هل يمكنني استخدام هذا في خطوط CI/CD؟
ج: نعم. استخدم --no-confirm و --json-logs للأتمتة.
س: هل يعمل على Windows؟
ج: نعم. تم حل جميع مشكلات توافق Unicode.
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# التحقق من الإصدار
python n8n_scanner.py version-check 1.120.0
# فحص مثيل
python n8n_scanner.py scan https://n8n.example.com:5678
# فحص دفعات
python n8n_scanner.py batch targets.txt
# توليد التكوين
python n8n_scanner.py generate-config --format yaml > config.yml
# عرض المساعدة
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = آمن/نجاح1 = خطأ2 = معرض للخطرصُنع بـ ❤️ لمجتمع الأمان
هذه الأداة مقدمة كما هي لاختبارات الأمان الأخلاقية فقط. المؤلفون غير مسؤولين عن سوء الاستخدام أو الأضرار الناجمة عن هذه الأداة.
| الأمر | الوصف | مثال |
|---|
scan | فحص هدف واحد | python n8n_scanner.py scan <target> |
batch | فحص أهداف متعددة | python n8n_scanner.py batch targets.txt |
version-check | التحقق من ثغرة الإصدار | python n8n_scanner.py version-check 1.120.0 |
generate-config | توليد قالب التكوين | python n8n_scanner.py generate-config --format yaml |
info | عرض معلومات CVE | python n8n_scanner.py info |
connectivity | اختبار الاتصال | python n8n_scanner.py connectivity <target> |
--config, -c--verbose, -V - مخرجات مفصلة--json-logs - صيغة سجلات JSON (للأتمتة)