مخاطرة كبيرة: شرح لحزم npm ذاتية الحذف

عمل محفوف بالمخاطر: برامج مكافحة المراقبة التي تحذف نفسها

TL؛ DR

تقوم الحزم بحذف نفسها. على مدار خمسة عشر يومًا في أغسطس، نشر أحد مُشغّلي npm تسع حزم برمجية بتسعة أسماء من سبعة حسابات، ثم سحب ثماني منها بنفسه. انخفضت مدة بقاء كل حزمة من ثلاث عشرة ساعة إلى سبع عشرة دقيقة. لم تكن هذه التقنية حكرًا عليه، فقد سُحبت سبع حزم أخرى من مُشغّلين آخرين، تحمل حمولات مختلفة تمامًا، من قِبل ناشريها أنفسهم بمتوسط ​​37.8 دقيقة. تختفي الحزمة قبل أن تبدأ معظم عمليات الحماية، ويكون التثبيت قد تم بالفعل.

كل ما يكشفه السجل يتغير؛ أما الحمولة فلا تتغير. جميعها شحنت بايتًا متطابقًا bin/ في الدليل، تم استخدام نفس خوارزمية SHA-256 عبر ثلاثة أسماء حزم وحسابين، يفصل بينهما خمسة عشر يومًا. هوية المحتوى هي إشارة التتبع الوحيدة التي لم يتمكن هذا المشغل من اختراقها، والحزمة الوحيدة التي لم يسحبها أبدًا هي السبب في إمكانية فحص أي شيء من هذا القبيل.

الأشخاص الذين يقومون بتثبيته ليسوا ضحايا، وهم معرضون للخطر بشكل كبير على أي حال. هذه الأداة ليست موجهة للمطورين: فهي تُفشل مراقبة الامتحانات عن بُعد من خلال التقاط الشاشة بشكل مخفي، واستخراج النصوص من الشاشة، وإعادة الإجابات إلى طبقة شفافة، لذا أياً كان من يدير npm install هو المستفيد المقصود وليس الهدف. كما أنهم يشغلون برنامجًا ثنائيًا غير موقّع يقوم بفك تشفير ملفات تعريف الارتباط المخزنة في متصفحهم، وذلك من حساب يحذف نفسه تلقائيًا في غضون ساعة. لا يمكنهم الحصول على إصلاح، ولا يمكنهم مراجعة ما قاموا بتشغيله لاحقًا، ولا يمكنهم الإبلاغ عن أي ضرر دون الكشف عن سبب تثبيتهم له.

النظام البيئي: npm، تم رصد نفس النمط على PyPI. الفترة: يونيو - أغسطس 2026.

القياس

مدة التواجد هي الفترة الزمنية بين ظهور الحزمة واختفائها، ويتم حسابها من البيانات الوصفية الخاصة بالسجل. هذه قياسات وليست تقديرات.

فئة الإشتراكنُشر (UTC)يسارًا واقفًا
moidev2026-08-16 16:31شنومكس شنومشم
moidevx2026-08-17 03:24شنومكس شنومشم
moidevz2026-08-26 03:38شنومكس شنومشم
moideva2026-08-26 18:58شنومكس شنومشم
amicat2026-08-28 20:4817m
bmcat2026-08-28 21:1747m
eyevox2026-08-28 21:4421m
moidevh2026-08-31 03:2247m

عند قراءة البيانات حسب ترتيب النشر، يتقلص نطاقها الزمني بأكثر من أربعين ضعفًا، من 13 ساعة و23 دقيقة في أوسع نطاق إلى 17 دقيقة في أضيق نطاق. يبلغ متوسط ​​مدة الحزم الأربع الأولى ثماني ساعات ونصف، بينما يبلغ متوسط ​​مدة الحزم الأربع الأخيرة 33 دقيقة. في 28 أغسطس، نُشرت ثلاث حزم وسُحبت خلال فترة زمنية واحدة مدتها 77 دقيقة.

إن الانكماش ليس انجرافًا تدريجيًا. بل يتركز بين 26 و28 أغسطس، وما تغير هو تقدير المشغل للمدة التي يمكن أن تبقى فيها العبوة بأمان.

كل عملية سحب هنا تتم بمبادرة من الناشر. تُظهر وثيقة التسجيل لكل منها قائمة صيانة فارغة بجانبها الوقت.غير منشور سجل - توقيع إلغاء النشر وليس الإزالة. حزمة تاسعة، ييوسلم يتم سحبها على الإطلاق؛ وهذا هو السبب في إمكانية فحص أي من هذا.

يوجد نظام سحب ثانٍ، ويجب عدم الخلط بينه وبين هذا النظام. حيث يكون فقط إصدار الحمولة إذا تم سحب الطرد ونجا، فإن متوسط ​​وقت الانتظار يبلغ حوالي 73 ساعة عبر 31 طردًا. تصل هذه البدائل على دفعات مُبرمجة مسبقًا وتترك هيكلًا فارغًا. package.json يعلن أ رئيسي لا يقوم هذا النظام بإرسال أي ملف، ووظيفته الوحيدة هي الاحتفاظ بالاسم. هذا النظام عبارة عن صيانة دورية منتظمة. أما هذا النظام فهو نافذة عرض مضبوطة.

ما الذي ينجو من الحذف؟

تسع من هذه الحزم هي عبارة عن عامل تشغيل واحد: مويديف, moidevx, مويديفز, مويديفا, مويديف, أميكات, bmcat, com.eyevox و ييوسلا تشترك الأسماء في أي نمط محدد - أي شخص يتابع مويديف كان من الممكن أن تفوت عملية التتبع أكثر من نصفها - وقد تم نشرها من سبعة حسابات منفصلة، ​​جميعها تقريبًا مسجلة على نطاقات بريد إلكتروني مؤقتة.

ما يجمع بينهما هو مدخل ظاهر لا يوجد له سبب للوجود:

"bin": { "": "bin/kalamasha-tool.js" } }

احتفظنا بنسخ من خمسة منها قبل إزالتها. في جميع النسخ الخمس، بالكامل سلة مهملات/ الدليل متطابق على مستوى البايت:

قم بتقديمSHA-256
bin/kalamasha-tool.js0c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd
bin/uia_extract.exee2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865
bin/chrome_cookies.ps121b61ec810331850d72423c40c5448e6cd310c4cfad6aed54f92cd7e7cac5f3a
bin/stealth_capture.ps1c9baf5897c03b941c54f736df5af9243ad28794a9e69746d41d4f4a34065589c
bin/uia_extract.pyc20b38c63efd9221930095c54b42cdd5adffa1972c44c4578226cbe1e4dbac3e
bin/uia_get_text.ps14a3f3ada0bdf13aa8e89edb8af817c7816296147dae5be25f169ff960d28a87c

تؤكد إشارتان إضافيتان هذا الأمر. فقد نُشرت ثلاث من الحزم في الساعة 03:24 و03:38 و03:22 بالتوقيت العالمي المنسق في 17 و26 و31 أغسطس على التوالي، أي خلال فترة ست عشرة دقيقة على مدار خمسة عشر يومًا، ومن خلال ثلاثة حسابات منفصلة. وقد سُجّل اثنان من هذه الحسابات على نفس نطاق البريد الإلكتروني المؤقت، مما يربطها ببعضها البعض بغض النظر عن الكود.

الحسابات

هذه هي حسابات ناشري npm التي قامت بتحميل الحمولة، مع تفاصيل كل حزمة تم تحميلها ومدة بقائها:

حساب الناشرفئة الإشتراكنطاق البريد الإلكترونييسارًا واقفًا
letol39119moidev:1.0.0hutdot.com (للاستخدام لمرة واحدة)شنومكس شنومشم
so1d1a7i27moidevx:1.0.0ogzmail.com (للاستخدام لمرة واحدة)شنومكس شنومشم
lololololol435678eyiouss:3.0.21, 3.0.22, 4.0.1ogzmail.com (للاستخدام لمرة واحدة)لا يزال منشورًا
tagadob568moidevz:1.0.0ebflyai.com (للاستخدام لمرة واحدة)شنومكس شنومشم
tayihim489moideva:1.0.0prodbits.com (للاستخدام لمرة واحدة)شنومكس شنومشم
sahihai123amicat:1.0.0, bmcat:2.0.9, eyevox:1.0.0بريد إلكتروني للمستهلك17m / 47m / 21m
heytoshanmoidevh:1.0.0بريد إلكتروني للمستهلك47m

so1d1a7i27 و lololololol435678 مشاركة ogzmail.com نطاق التسجيل — الرابط الذي يربط الحساب الذي لا يزال يستضيف نسخة مباشرة بالحساب الذي نشر تحته مويديف يبدأ قبل أسبوعين. sahihai123 نشر وسحب ثلاثة أسماء حزم منفصلة خلال فترة زمنية واحدة مدتها 77 دقيقة في 28 أغسطس. هيتوشان مسجلة، منشورة مويديفثم سحبها بعد 47 دقيقة؛ ولا تزال هي المنشور الوحيد لهذا الحساب.

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

لم يتم سحب إحدى الطرود مطلقاً. eyiouss:4.0.1 نُشرت هذه المعلومات منذ 16 أغسطس، وكانت لا تزال قابلة للحل وقت كتابة هذا التقرير. ثمانية ملفات أثرية لم يكن بالإمكان استعادتها؛ أُعيد بناء الحملة بالكامل من الملف المتبقي. حتى المشغل الذي يحذف الملفات بشكل تلقائي سيترك في النهاية ملفًا واحدًا قائمًا.

ماذا تفعل الأداة

eyiouss:4.0.1 يُعرّف نفسه على منصة npm بأنه "أداة DOM عالية الأداء وجسر تشخيصي لتطبيقات الويب الحديثة". وهو أداة لالتقاط الشاشة واسترجاع الإجابات، مصممة للعمل تحت إشراف أنظمة مراقبة الامتحانات عن بُعد، وهذا ما يؤكده المصدر نفسه.

يقوم برنامج التشغيل بنسخ وقت تشغيل Electron تحت اسم ملف خاطئ قبل تشغيله، ويحدد ما يتجنبه:

// 🛡️ اسم الملف الثنائي الخفي: يجب ألا يتعارض مع Testpad الحقيقي! const STEALTH_NAME = 'SearchApp.exe';

يُطلق عليه رأس الملف نفسه اسم كلب حراسة شبحي مضاد لبروكتر وينفذ حلقة إعادة ظهور تتراجع كلما تم قتلها بشكل أسرع. وفي مكان آخر، ترفع العملية من أولويتها الخاصة. لمكافحة تقييد وحدة المعالجة المركزية أثناء المراقبةيقوم بإخراج تطبيق الاختبار من المقدمة عند التركيز عليه، وينهي عملية فرعية لمتصفح الاختبار الآمن باستخدام taskkill /F /T.

يتم تشغيل عملية الالتقاط عبر برنامج نصي PowerShell مُضمّن، يُستدعى مع تعطيل سياسة التنفيذ وإخفاء النافذة، بينما يتم جمع النصوص المعروضة على الشاشة بالتوازي عبر أتمتة واجهة مستخدم Windows. تُرسل الصور والنصوص المُخزّنة في قائمة الانتظار إلى جلسة نموذج لغة في متصفح مُضمّن، ويتم عرض النتيجة في طبقة شفافة دائمة الظهور. يتم تأجيل هذا الاتصال عمدًا، ويُوضح الكود السبب. لتجنب التعرض الدائم لـ NETSTAT.

يتم شحن الطرد أيضًا chrome_cookies.ps1، برئاسة أداة استخراج بسكويت الكروم، والذي يقوم بفك تشفير ملفات تعريف الارتباط الخاصة بمتصفحي Chrome و Edge عبر واجهة برمجة تطبيقات حماية البيانات (DPAPI) ويقرأ قاعدة بيانات ملفات تعريف الارتباط من أربعة ملفات تعريف للمتصفح كحد أقصى. (مذكور سابقًا)cisإيلي: لم نجد هذا النص البرمجي مُستدعى بالاسم من أي ملف جافا سكريبت مُضمّن. ما هو موجود ويمكن الوصول إليه هو الجزء المُستهلك، الذي يُدخل ملفات تعريف الارتباط الخاصة بالجلسة المُخزّنة في المتصفح المُضمّن.

منصب الأشخاص الذين يقومون بتثبيته

لا أحد يقوم بتثبيت هذا البرنامج عن طريق الخطأ. ليس له أي وظيفة خارج نطاق الاختبارات الخاضعة للمراقبة، ومخرجاته عبارة عن إجابات تظهر على شاشة المستخدم. وصف الحزمة المضلل لا يستهدف المُثبِّت على الإطلاق، بل هو غطاء موجه إلى سجل النظام وأي شخص يُجري تدقيقًا للجهاز لاحقًا. يعرف المُثبِّت ما سيحصل عليه؛ فالوصف موجود لضمان... سجل لا يعكس التثبيت ذلك.

الأطراف المتضررة هي أطراف ثالثة لم تلمس npm مطلقًا: المؤسسة التي تدير الامتحان، والمرشحون الآخرون، وكل من يعتمد على الشهادة التي تعني شيئًا ما.

لكن برنامج التثبيت ليس آمناً بالتالي، وهذا هو الجزء الذي يستحق التوضيح، لأن نموذج الحزمة المختفية نفسه هو ما يخلق هذا الخطر.

إنهم يشغلون ملفًا ثنائيًا غير موقّع من لا أحد. uia_extract.exe تم تجميع ملفات السفن، بدون مصدر أو سجل بناء، من حساب لم يعد موجودًا. وقد أعيد نشر الملف نفسه، باستخدام التجزئة، بواسطة letol39119, so1d1a7i27, lololololol435678, tagadob568, tayihim489, sahihai123 و هيتوشان على مدار خمسة عشر يومًا. لا يوجد مسؤول يمكن سؤاله، ولا مستودع يمكن قراءته، ولا سجل يمكن التحقق منه - كل هوية قامت بإصداره حذفت نفسها.

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

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

لا يمكنهم تدقيق ما قاموا بتشغيله. يشير ملف القفل الخاص بهم الآن إلى حزمة لم تعد تعمل. إذا أرادوا لاحقًا معرفة محتويات جهازهم - بعد حادثة أو نزاع - فلن يجدوا أي سجل في سجل النظام.

ولا يمكنهم الإبلاغ عن الأذى. لا يستطيع المستخدم الذي تعرض للاختراق بواسطة هذه الأداة تقديم بلاغ إساءة استخدام دون الكشف عن سبب تثبيتها. وهذا ليس من قبيل الصدفة. تُعدّ بلاغات إساءة استخدام سجل النظام قناةً رئيسيةً لكشف الحزم قصيرة الأجل، وقاعدة مستخدمي هذا المشغل غير قادرة هيكليًا على استخدامها. الخصم الوحيد المتبقي هو الفحص الآلي، والذي تتم معايرته ضمن نافذة مدتها سبع عشرة دقيقة.

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

نفس النمط، عامل تشغيل مختلف

لا يقتصر هذا الأمر على مشغل المراقبة فقط، بل إن أوضح عمليات التشغيل المتوازية تتم على حمولة غير ذات صلة.

في الفترة ما بين 24 و27 أغسطس، ظهرت أربع حزم npm بأسماء مستعارة من أدوات المصادقة الثنائية — auth-otp, secretkey-2fa, المصادقة الثنائية باستخدام المفتاح السري و مفتاح التحقق الثنائي السري — تحمل كل منها ستة عشر إصدارًا. وقد نُشر كل إصدار من حسابه الخاص المسجل حديثًا (beayilol, jeanpaul686g, zzalipay, دلوووجميعها غير موثقة البريد الإلكتروني، ولا يوجد أي منها برابط تحكم مصدر موثق، ولا ينشر أي منها أي شيء آخر. وقد سحب كل منها من قبل ناشره.

لا علاقة للحمولة ببرامج الامتحانات. فهي تقرأ بيانات اعتماد المتصفح ورموز Discord، وتجري عملية مصادقة Xbox Live على مشغل Minecraft للحصول على رمز التحديث. إليكم برنامج التثبيت is الضحية بالمعنى العادي - وهذا ما يجعل المقارنة مفيدة، لأن سلوك التسليم متطابق بغض النظر عن ذلك.

تم تنفيذ الدورات الأربع بترتيب النشر عند 274.9، 37.8، 37.6، و35.7 دقيقة: محاولة أولى طويلة، ثم تقارب على قيمة ثابتة. ثلاث حزم أخرى تابعة لمشغلين آخرين، وتُظهر نفس سلوك الانسحاب.

فئة الإشتراكالمُشغليسارًا واقفًا
octopus-actionمنارة استطلاع2.5 دقيقة
mt-ts-serverless-starterمنارة استطلاع9.6 دقيقة
2fa-secretkeyأسماء غطاء المصادقة الثنائية35.7 دقيقة
secretkey2faأسماء غطاء المصادقة الثنائية37.6 دقيقة
secretkey-2faأسماء غطاء المصادقة الثنائية37.8 دقيقة
auth-otpأسماء غطاء المصادقة الثنائية274.9 دقيقة
hex-encode-utilsأخرى724.2 دقيقة

سبع حزم، متوسط ​​مدتها 37.8 دقيقة، ولا تتعلق أي منها ببرامج الامتحانات.

ثلاث حمولات غير مترابطة، وثلاث مجموعات حسابات غير مترابطة، وتقنية مشتركة واحدة.

لماذا تُغلق النافذة؟

لقد طرأ تغيير ما على بيئة السجل خلال عام 2026، والسبب الواضح هو أن عملية المسح أصبحت أسرع.

حتى وقت قريب، كان اكتشاف البرامج الضارة يتم في الغالب بعد وقوعها: إما بملاحظة المستخدم لشيء ما، أو من خلال تقرير لاحق، أو عبر عمليات مسح دورية. وكان زمن الكشف يُقاس بالأيام. لم يعد هذا هو النظام الوحيد. تحليل شبه فوري للبرامج المنشورة حديثًا — نظام الإنذار المبكر الخاص بشركة Xygeni للبرمجيات الخبيثة من بين مجموعة متزايدة من هذه الأنظمة في جميع أنحاء الصناعة - تعمل على تقليص الفجوة بين النشر والتفتيش إلى شيء أقصر بكثير.

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

التوقيت مناسب. كلا العاملين المذكورين أعلاه يتقاربان على قيمة معينة ويحافظان عليها بدلاً من الانحراف، وهذا ما يبدو عليه المعامل المضبوط وليس مجرد مسألة ملاءمة. والمعامل الذي تقاربا عليه - عشرات الدقائق - يقع قبلcisحيث يجب أن يكون موقعه لتجاوز عملية الفحص الآلي مع الحفاظ على إمكانية تثبيت الحزمة لفترة كافية للوصول إلى جمهورها المستهدف.

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

ما يجب فعله حيال ذلك

الحجر الصحي حسب العمر. لم يبقَ أي شيء في جدول مدة التواجد بعد مرور 13 ساعة. لو تم تطبيق سياسة تمنع تثبيت أي إصدار من التبعيات إلا بعد مرور 72 ساعة، لكانت هذه السياسة قد استبعدت جميعها دون اكتشاف أي شيء.

تعطيل برامج التثبيت افتراضياً. - تجاهل النصوص يزيل هذا الإجراء آلية التسليم التي تعتمد عليها حزم سرقة بيانات الاعتماد في هذه المجموعة. ولكنه لا يُجدي نفعًا ضد أداة يُشغلها المستخدم عمدًا، وهو أمر مُسبق.cisهذا هو الفرق الذي يستحق الفهم.

تعامل مع الاختفاء كحدث أمني. يتم التنبيه عند توقف حل تبعية مثبتة. ملف القفل الخاص بك، وليس سجل النظام، هو المكان الذي لا تزال فيه الأدلة موجودة.

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

وإذا كنت تفكر في تثبيت شيء ما في هذه الفئة: إنّ الخصائص التي يصعب على سجل البرامج رصدها هي نفسها التي لا تترك لك أي سبيل للانتصاف. فلا يوجد ناشر يُحمّل المسؤولية، ولا مسار للتحديث، ولا سجل لما قمت بتشغيله.

من مؤشرات

النوعبعد التخفيض
قم بتقديمbin/kalamasha-tool.js — غير-standard نقطة دخول الصندوق
SHA-2560c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd
SHA-256e2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865
طريقة عملناSearchApp.exe مكتوب بجانب وقت تشغيل Electron شرعي
السلوكpowershell -ExecutionPolicy Bypass -File مع windowsHide: true
السلوكtaskkill /F /T استهداف عملية متصفح الفحص الآمن
البيانات الوصفيةقائمة المشرفين فارغة بجانب أ time.unpublished سجل
الحساباتLetol39119، so1d1a7i27، lolololol435678، tagadob568، tayihim489، sahihai123، heytoshan
التسجيل: ogzmail.com، hutdot.com، ebflyai.com، prodbits.com — نطاقات بريد إلكتروني مؤقتة

مراجع حسابات

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

قم بتأمين تطوير البرامج الخاصة بك وتسليمها

مع مجموعة منتجات Xygeni