ربط الباحثون في Sysdig هجومًا ثانيًا على نفس خادم Langflow بـ JADEPUFFER، المشغل الذي يحركه عامل الذكاء الاصطناعي والذي تم توثيقه لأول مرة في وقت سابق من هذا الشهر.
وقد تم الآن رصد نفس المشغل وهو ينشر انفورج، وهو برنامج طلب فدية Go مُجمَّع جديد مصمم لتشفير أوزان النماذج وفهارس المتجهات ومجموعات بيانات التدريب وملفات البنية التحتية الأخرى للذكاء الاصطناعي عبر نظام الملفات المضيف.
نقطة الدخول لم تتغير تعرض إصدارات Langflow قبل 1.3.0 ملف /api/v1/validate/code نقطة نهاية بدون مصادقة، مما يسمح لأي مهاجم عن بعد بتنفيذ لغة بايثون بشكل عشوائي على الخادم. العيب, CVE-2025-3248، يحمل درجة CVSS تبلغ 9.8 وهو موجود في كتالوج الثغرات الأمنية المستغلة المعروفة لدى CISA منذ 5 مايو 2025.
وكما ذكرت The Hacker News في وقت سابق من هذا الشهر، استخدمت العملية السابقة كود Python وMySQL AES_ENCRYPT() وظيفة تشفير وتدمير البيانات في Nacos (خادم تكوين علي بابا) وقواعد بيانات الإنتاج.
تستبدل حمولة ENCFORGE الجديدة تلك البرامج النصية المرتجلة بأدوات مجمعة تستهدف مخازن النماذج وقواعد البيانات المتجهة ومسارات التدريب التي اجتاحت الحملة الأولى للحصول على بيانات الاعتماد.
حمولة ENCFORGE
استعاد الباحثون الملف الثنائي من خادم القيادة والتحكم الخاص بالمهاجم، حيث تم إخفاؤه باسم /.lockd; طلب مباشر ل /lockd تقوم بإرجاع 404، والنقطة البادئة تبقيها خارج قائمة الدليل العادي. الملف عبارة عن ملف Go 1.22.12 ELF معبأ بـ UPX 5.20.
لم تُرجع منصات الاستخبارات المتعلقة بالتهديدات أي اكتشافات سواء على التجزئة المعبأة أو غير المعبأة في وقت تحليل Sysdig. اسم المشروع الداخلي هو encfile; يشير نص خطأ الملف الثنائي إلى أداة كجن مصاحبة تسمى keyforge. تنجو كلا السلسلتين من إعادة تجميع نفس قاعدة التعليمات البرمجية وتعملان كمثبتات كشف مستقرة.
تغطي قائمة الامتدادات الافتراضية الخاصة بها نقاط تفتيش PyTorch وTensorFlow، وHugging Face SafeTensors، وتنسيق تبادل ONNX، وGGUF (المعيار الحالي لـ LLMs المنشورة محليًا) وسابقتها GGML، ومؤشرات ناقلات FAISS، ومجموعات بيانات تدريب Parquet وArrow، ومصفوفات NumPy، وسجلات TensorFlow.
ان --include تتيح العلامة للمشغل إلحاق كتل ملفات إضافية؛ يستخدم نص المساعدة المدمج محولات LoRA للضبط الدقيق وأوزان GGML القديمة كأمثلة. تشمل القائمة الكاملة ما يقرب من 180 امتدادًا. تشير هذه الأمثلة مباشرة إلى بيئات الذكاء الاصطناعي؛ لن يكون لخزانة الملفات العامة سبب وجيه لتسمية محولات LoRA أو أوزان GGML القديمة. وقد قرأ الباحثون هذا الاختيار باعتباره استهدافًا متعمدًا، وليس تغطية عرضية.
يستخدم ENCFORGE AES-256-CTR لبيانات الملف، مع تضمين المفتاح المتماثل لكل تشغيل ضمن مفتاح عام RSA-2048 مضمن تم تجميعه في هذا الإصدار. بدلاً من تشفير الملفات بأكملها، فإنه يقوم بتشفير مناطق محددة، بنفس السرعة التي تستخدمها الخزائن من فئة LockBit وBlackCat.
تتم إعادة تسمية كل ملف تمت معالجته بـ .locked امتداد. تقوم عمليات القتل الثنائية بحفظ الملفات مفتوحة قبل التشفير، وتتعامل مع إعادة التشغيل دون إعادة تشفير الملفات المكتملة، وتسقط ملاحظات الفدية كما هي. README, HOW_TO_DECRYPT، و README_DECRYPT، ويحذف نفسه بعد التشغيل.

لا يحتوي الملف الثنائي ENCFORGE المسترد على إمكانية الترشيح. ولا يحمل أي رمز شبكي أو عميل تخزين سحابي أو آلية مرحلية، ولم يجد الباحثون أي دليل على تسرب البيانات أو موقع تسرب أو بوابة دفع Tor أثناء الجلسة التي لاحظوها. نفوذها الوحيد هو البيانات المشفرة.
جهة الاتصال الابتزازية المضمنة في ملاحظات الفدية هي e78393397@proton.meوهو نفس عنوان بريد بروتون المستخدم في الحملة السابقة. يصف Sysdig هذا بأنه أقوى رابط إسناد بين العمليتين.
كشف الباحثون عن جلسة مراقبة واحدة، ولم يذكروا اسم المنظمة، ولم يقدموا أي عدد للضحايا أو دليل على نشر آخر لـ ENCFORGE.
من Langflow إلى المضيف
بعد تأكيد تنفيذ التعليمات البرمجية، قام JADEPUFFER بمسح الحاوية بحثًا عن بيانات الاعتماد ووجد مقبس Docker في /var/run/docker.sock. فشلت محاولتها الأولى لسحب ENCFORGE من خادم الأوامر والتحكم في GCP. وبدلاً من التوقف، تكيفت.
على مدى خمس دقائق و24 ثانية، قام المشغل بإنشاء ومراجعة ستة نصوص بايثون من خلال نفس قناة Langflow RCE حتى أصبح لديه مسار عمل إلى المضيف. تم إنشاء النص الأول سطرًا واحدًا في كل مرة، مما يجعل أي طلب فردي خاملًا للفحص المعتمد على التوقيع.
بدءًا من الثاني، قام المشغل بتشفير كل نص كامل في Base64 وفك تشفيره داخل ملف exec() استدعاء، وتجنب عمليات البحث على مستوى الصدفة عن أوامر مثل base64 -d. استخدم الإصدار النهائي واجهة برمجة تطبيقات Docker لتدوير حاوية مميزة مع تثبيت مساحة اسم PID للمضيف ونظام الملفات الجذر، وتحديد موقع العملية المستهدفة، ونسخ ENCFORGE من خلال /proc/<pid>/root، ثم قم بتشغيله على المضيف عبر nsenter.
في جميع التكرارات، تم إنشاء الحاويات باستخدام Privileged: true, PidMode: host, NetworkMode: host، ونظام الملفات الجذر للقراءة والكتابة المثبت. هذا هو جذر المضيف.
قبل التشغيل المباشر، أطلق المشغل --try-run لفحص نظام الملفات، ثم --lock لتمرير التشفير المباشر. قام البرنامج النصي النهائي بفحص حالة العملية، وقراءة سجل القفل، وعدد الملفات التي تنتهي بـ .locked.
ولم ينشر الباحثون العدد الناتج؛ تثبت الأدلة التي تم الكشف عنها محاولة تشفير حية، وليس عدد ملفات النماذج أو مجموعة البيانات التي تم تشفيرها بنجاح.
قام Sysdig بتقييم --task-id gcp_h1 وضع علامة كدليل على أن المشغل كان يتتبع هذا المضيف كهدف لبرنامج Google Cloud Platform ضمن حملة أوسع؛ استخدمت محاولة التشغيل في وقت سابق من الجلسة معرف المهمة gcp_test. ولم يكشف التقرير عن ضحايا إضافيين أو مواقع انتشار.
قام الباحثون بتوثيق حملة JADEPUFFER السابقة لتصحيح فشل تسجيل دخول Nacos في 31 ثانية. تم الحفاظ على نفس النمط هنا في مواجهة مشكلة أصعب: قام المشغل ببناء اختراق مضيف من خلال مقبس Docker المكشوف عندما تم حظر طريق التسليم المفضل لديه.
تصحيح Langflow، ثم حماية النماذج
يقدر الباحثون أن إعادة بناء نموذج الذكاء الاصطناعي للإنتاج بمجرد تشفيره قد يتكلف ما بين 75000 دولار و500000 دولار لكل نموذج في حساب GPU السحابي والوقت الهندسي.
غالبًا ما تقوم بيئات الإنتاج بتشغيل متغيرات متخصصة متعددة على وحدة تخزين مشتركة، لذلك يمكن لتشغيل ENCFORGE واحد تشفير متغيرات متعددة مخزنة على نفس نظام الملفات الذي يمكن الوصول إليه. إذا كانت بيانات التدريب موجودة على نفس المضيف، فيجب على المنظمة إعادة بنائها قبل أن تبدأ أي عملية إعادة تدريب.
ثنائي SHA-256: معبأة 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2; تفكيك ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328.
قامت Sysdig بنشر عنوان المصدر وعناوين C2 وبصمة مفتاح RSA-2048 المضمنة وقاعدة YARA في تقريرها الكامل.
- قم بترقية Langflow إلى الإصدار 1.9.1 أو الإصدار الحالي المدعوم. الإصدار 1.3.0 مغلق
CVE-2025-3248، ناقل الدخول لهذه الحملة، لكن CISA أضافت منذ ذلك الحين اثنتين من نقاط الضعف الأخرى في Langflow إلى كتالوج KEV الخاص بها:CVE-2026-33017، عيب RCE غير مصادق عليه تم إصلاحه في 1.9.0، تمت إضافته إلى KEV في 25 مارس 2026؛ وCVE-2026-55255، تم إصلاح تجاوز الترخيص عبر المستخدمين في 1.9.1، تمت إضافته في 7 يوليو 2026. - قم بتدوير مفاتيح موفر الذكاء الاصطناعي وبيانات الاعتماد السحابية وأسرار قاعدة البيانات وأي رموز مميزة أخرى يمكن الوصول إليها من خلال عملية Langflow. لا يؤدي التصحيح إلى إلغاء بيانات الاعتماد التي تم جمعها بالفعل من خلال مثيل ضعيف.
- يزيل
/var/run/docker.sockمن أي حاوية لا تتطلب ذلك. عندما يكون الوصول إلى مأخذ التوصيل أمرًا لا مفر منه، قم بتوسيع نطاقه من خلال وكيل ذو تكوين ضيق؛ لا يحتاج نشر Langflow القياسي عمومًا إلى إنشاء حاويات، ويجب التعامل مع الوصول غير المقيد إلى مأخذ توصيل Docker على أنه تكوين خاطئ. - تنبيه بشأن عمليات التطبيق التي تستدعي واجهات برمجة تطبيقات إنشاء حاوية Docker، والحاويات التي يتم تشغيلها باستخدام
Privileged: trueأوPidMode: hostوحوامل ربط جذر المضيف وnsenterالتنفيذ من داخل الحاوية. - احتفظ بأوزان النماذج وفهارس المتجهات ومجموعات بيانات التدريب في لقطات غير قابلة للتغيير أو غير متصلة بالإنترنت. مراقبة تلك الدلائل للكتلة
.lockedإنشاء الملف.
اتصلت The Hacker News بفريق أبحاث التهديدات التابع لـ Sysdig للحصول على مزيد من التفاصيل حول نطاق حملة الأسطول وثقة الإسناد؛ لم يستجب Sysdig بالنشر.
تنتمي العناصر النموذجية الآن إلى نفس طبقة الاسترداد مثل التعليمات البرمجية المصدر وقواعد بيانات الإنتاج. إن المؤسسة التي يمكنها إعادة بناء التطبيق ولكن لا يمكنها استعادة أوزانها أو فهارسها أو حالة تدريبها ليس لديها طريق نظيف للعودة.
