
كشف قائم على التعلم الآلي لهجمات التهرب من ترويسة أرشيف Zombie ZIP (CVE-2026-0866)
ماسح دفاعي للكشف عن التهرب عبر البيانات الوصفية الهيكلية في أرشيفات ZIP.
يكتشف ZombieGuard التناقضات بين ترويسات الملفات المحلية في ZIP وسجلات الدليل المركزي وخصائص الحمولة. ويمكن استخدام هذه التناقضات لجعل محتويات الأرشيف تبدو فارغة أو غير ضارة لمحلل بينما يظل محلل آخر يصل إلى الحمولة.
يجمع بين محلل ZIP مقيّد الموارد ونموذج LightGBM صغير. ولا يستخرج محتويات الأرشيف أو ينفذها.
[!IMPORTANT] يكتشف ZombieGuard إشارات التهرب من الأرشيف، وليس البرمجيات الخبيثة. النتيجة النظيفة ليست دليلًا على أن الملفات داخل الأرشيف آمنة.
يدعم ZombieGuard بايثون 3.11 و3.12.
git clone https://github.com/mdshoaibuddinchanda/zombieguard.git
cd zombieguard
python -m pip install .
zombieguard scan suspicious.zip --include-features
يُثبَّت نموذج الإصدار مع الحزمة. استخدم zombieguard scan --help لمعرفة حد حجم الإدخال وخيارات إخراج JSON/SARIF وفحص الدلائل.
للتطوير، ثبّت المستودع في الوضع القابل للتحرير:
python -m pip install -e ".[dev]"
python -m pytest
يتعامل ZombieGuard مع كل ملف ZIP كمسألة اتساق بدلاً من البحث عن توقيعات البرمجيات الخبيثة:
يُصدر الماسح حكمًا مع رموز أسباب داعمة. تُبلَغ حالات فشل التحليل كحالات غير محددة أو مشبوهة؛ ولا تُحوَّل أبدًا بصمت إلى نتيجة نظيفة.
Untrusted ZIP bytes
│
▼
Bounded structural parser ──► explicit parse/limit failures
│
▼
Per-entry consistency features
│
▼
Versioned LightGBM model
│
▼
verdict + score + reasons
تنتج أخطاء التحقق الهيكلي نتيجة غير قابلة للفحص بشكل صريح. تُقيَّم الأرشيفات التي حُللت بنجاح بواسطة النموذج، وتُعاد التناقضات الملحوظة كرموز أسباب. تسجل البيانات الوصفية للنموذج مخطط الميزات وإعدادات التدريب وتجزئات المصدر والمجموع التدقيقي للنموذج.
تقييم الإصدار محدود النطاق وقابل لإعادة الإنتاج عن قصد. وهو لا يدّعي اكتشاف البرمجيات الخبيثة في العالم الحقيقي أو التعميم عبر التنسيقات.
يقدّم الأصل الحالي النتائج التالية:
مصفوفة الارتباك هي TN=1,565 وFP=3 وFN=0 وTP=1,150. النتائج الموثوقة موجودة في artifacts/metrics.json؛ ويحتوي هذا الملف أيضًا على ملخصات الطيات لكل متغير، وتجزئات مصادر البيانات، وتأكيدات عدم التسرب، والمجموع التدقيقي للنموذج، والإعداد الدقيق. إذا استُخدم مقياس في سيرة ذاتية أو ورقة بحثية أو عرض تقديمي، فاذكر نطاقه كـ تقييم ميزات اصطناعي متداخل مع إبقاء متغير واحد خارجًا (leave-one-variant-out).
تتكوّن الصفوف السلبية من 686 صفًا مشتقًا من PyPI، و478 صفًا مولّدًا من السلبيات الصعبة، و400 صف ميزات حميدة صغيرة مولّدة، و4 صفوف مشتقة من Office. تُوزَّع عائلات المصادر السلبية عبر الطيات بدلاً من استبقائها كعائلات. تصف الفترات عدم اليقين على مستوى الصفوف داخل هذا المعيار؛ وهي لا تقدّر عدم يقين بيئة النشر أو انحراف التوزيع (domain shift). يُبلَغ عن مخرجات LightGBM كدرجة غير معايرة وليست احتمالًا. سياسة العتبة هي نقطة تشغيل تطويرية قُيّمت بطيات متداخلة؛ وما تزال الأرشيفات الحميدة الجديدة التي يحللها الإصدار الحالي مطلوبة قبل اعتبار معدل الإيجابيات الكاذبة المُقاس دليلًا إنتاجيًا.
لماذا نستخدم الإيجابيات الاصطناعية؟ الأمثلة العامة المُتحقق منها بشكل مستقل لهذه التقنية الضيقة من التهرب نادرة. التوليد يجعل كل طفرة هيكلية صريحة وقابلة للتكرار. الأداء الاصطناعي دليل على أن المكتشف يتعرّف على تلك الطفرات؛ وهو ليس بديلاً عن معيار واقعي مُسمّى بشكل مستقل.
راجع بطاقة البيانات وبطاقة النموذج للاطلاع على مصدر البيانات ودلالات التسميات وأنماط الفشل.
ثبّت التبعيات الأساسية وتحقق من الأصول المثبتة في المستودع. تعيد خطوات التوليد والتحديث الإضافية إنتاج جميع الإيجابيات الاصطناعية الآمنة وتؤكد أن ميزاتها المثبتة ما تزال مطابقة للمحلل الحالي قبل إعادة التدريب:
python -m pip install -e .
python -m zombieguard.evaluate --check
python data/scripts/generate_zombie_samples.py
python scripts/refresh_synthetic_features.py
python -m zombieguard.evaluate --train --check
يقرأ التدريب جداول الميزات والتسميات المثبتة ويكتب:
src/zombieguard/assets/zombieguard_lgbm.txt — نموذج LightGBM محمول؛src/zombieguard/assets/zombieguard_lgbm.metadata.json — بيانات وصفية للمخطط والنزاهة؛artifacts/metrics.json — تقرير تقييم قابل للقراءة آليًا.يشغّل التكامل المستمر الفحص البرمجي (linting)، وتدقيق التبعيات والأمان الثابت، والتجميع البايتي، والاختبارات مع تغطية الشيفرة، وبناء الحزم على بايثون 3.11 و3.12، ومواءمة المولّد مع المحلل، والتحقق من الأصول المثبتة، واختبار دخان معزول للتدريب والفحص.
src/zombieguard/ installable scanner package and release assets
tests/ self-contained unit, adversarial, and CLI tests
data/processed/ committed feature table and labels
data/scripts/ safe synthetic-data builders
scripts/ dataset curation and audit helpers
artifacts/metrics.json reproducible release metrics
docs/ data and model cards
البرمجيات الخبيثة الخام، والمجموعات المُنزّلة، وبيانات الاعتماد، والنماذج المؤقتة المدربة محليًا ليست جزءًا من المستودع.
--max-size-mb مفعّلًا وأضف حدودًا للذاكرة والوقت على مستوى العملية في بيئات الإنتاج.اقرأ CONTRIBUTING.md قبل تغيير المحلل أو مجموعة البيانات أو بروتوكول التقييم. لا تُدرج في المستودع عينات برمجيات خبيثة أو بيانات اعتماد API أو ادعاءات معايير دون أصل قابل لإعادة الإنتاج.
لتقديم تقرير عن ثغرة أو تجاوز للمحلل، اتبع SECURITY.md. يُرجى عدم إرفاق برمجيات خبيثة حية بقضية عامة.
مرخّص بموجب رخصة Apache 2.0.
بطاقة البيانات · بطاقة النموذج · سياسة الأمان · المساهمة · CI
| الخاصية | بروتوكول الإصدار |
|---|
| النطاق | معيار ميزات التهرب الهيكلي لأرشيفات ZIP بالإيجابيات الاصطناعية |
| المجموعة المؤهلة | 1,150 إيجابية مولّدة و1,568 صف ميزات حميدة مُلغاة التكرار |
| مجموعة الاستبقاء الإيجابية | إبقاء متغير هجوم كامل واحد خارج كل طية (8 متغيرات) |
| مجموعة الاستبقاء الحميدة | تقسيم حتمي بـ SHA-256؛ تُقيَّم كل عينة مرة واحدة |
| عتبة القرار | معايرة مجمعة متداخلة على صفوف التدريب الخارجية فقط؛ بميزانية معدل إيجابيات كاذبة حميدة 0.5% |
| التنبؤات المُبلَّغ عنها | تنبؤات الطية الخارجية فقط؛ الصفوف المستبقاة لا تضبط عتبتها أبدًا |
| المستبعد من الادعاءات | التسميات الإيجابية المشتقة من MalwareBazaar وغيرها من غير المُتحقق منها |
| الثقة | فترات Wilson 95% إلى جانب المقاييس الإجمالية |
| المقياس | النتيجة | فاصل Wilson 95% |
|---|
| الدقة | 99.89% (2,715 / 2,718) | 99.68–99.96% |
| الضبط | 99.74% | 99.24–99.91% |
| الاستدعاء | 100% (1,150 / 1,150) | 99.67–100% |
| F1 | 99.87% | — |
| ROC-AUC | 99.90% | — |
| معدل الإيجابيات الكاذبة | 0.191% (3 / 1,568) | 0.065–0.561% |