العودة إلى التحديثات
New releaseSep 3, 2026

iocx v0.7.6.1

محرك تحليل ثابت قابل للتوسيع وحتمي النتائج، يستخرج مؤشرات الاختراق (IOCs) عالية الدلالة من ملفات PE الثنائية والنصوص، صُمم لأتمتة مراكز العمليات الأمنية (SOC) وخطوط أنابيب تحليل التهديدات الحديثة.

مشاركة

IOCX

استخراج حتمي وخالٍ من المخاطر لمؤشرات الاختراق لخطوط أنابيب الأمن الحديثة

IOCX Demo

استخراج ثابت لمؤشرات الاختراق من ملف PE باستخدام واجهة سطر أوامر IOCX

مشروع IOCX الرسمي

هذا هو محرك IOCX الأصلي لاستخراج مؤشرات الاختراق الثابت الحتمي وتحليل PE. أي مستودعات أخرى تستخدم اسم "iocx" غير تابعة لهذا المشروع.

الروابط الرسمية:


لماذا يهم IOCX

البرمجيات الخبيثة الحديثة عدائية بطبيعتها — مشوهة، ومراوغة، ومصممة لكسر أدوات الاستخراج الساذجة.

  • الأدوات غير المدركة للثنائيات تنهار أمام ملفات PE المشوهة
  • صناديق الرمل غير آمنة وغير قابلة للاستخدام في CI/CD
  • قابلية إعادة الإنتاج ضرورية لخطوط الأنابيب الآلية

تم بناء IOCX للبيئات التي تكون فيها الصحة والحتمية مهمة فعلاً.


محرك IOCX

IOCX هو محرك استخراج مؤشرات الاختراق الثابت الرسمي — نظام حتمي ومدرك للثنائيات مبني لـ DFIR، وأتمتة SOC، وأمن CI/CD، وخطوط أنابيب استخبارات التهديدات واسعة النطاق.

على عكس أدوات الاستخراج القائمة على التعبيرات النمطية فقط أو الأدوات المعتمدة على صناديق الرمل، يقوم IOCX بـ:

  • تحليل ثابت خالص
  • مخاطر تنفيذ صفرية
  • مخرجات مستقرة وحتمية
  • استدلالات مختبرة ضد الخصوم

إنه مكون أساسي في منظومة MalX Labs لتحليل التهديدات الحديث القابل للتوسع.


جرب IOCX في 10 ثوانٍ

echo "http://malicious.example" | iocx -

أو افحص ملف PE بأمان:

iocx suspicious.exe -a deep

لماذا يوجد IOCX

تواجه فرق الأمن ثلاث مشاكل مستمرة:

  1. أدوات الاستخراج بالتعبيرات النمطية تنكسر تحت المدخلات العدائية
  2. صناديق الرمل غير آمنة وبطيئة وغير مناسبة للأتمتة
  3. معظم أدوات مؤشرات الاختراق غير متسقة أو بطيئة أو تنتج مخرجات مختلفة بشكل طفيف بين التشغيلات

يحل IOCX هذا بـ محرك حتمي ثابت فقط مصمم للأتمتة والسلامة والتوسع.


ما ليس عليه IOCX

IOCX عمداً ليس:

  • صندوق رمل
  • أداة تحليل سلوكي
  • محاكي
  • محرك إثراء

لا ينفذ أبداً كوداً غير موثوق. لا يقوم أبداً بتحليل ديناميكي. إنه ثابت فقط بالتصميم — من أجل السلامة والحتمية والتوافق مع CI/CD.


فلسفة التصميم

تم هندسة IOCX لواقع البرمجيات الخبيثة الحديثة، وليس لافتراضات الأدوات القديمة.

1. الحتمية على الغموض

مخرجات مستقرة وقابلة لإعادة الإنتاج — لا عشوائية، لا تقلب.

2. الثابت على الديناميكي

التنفيذ غير آمن. التحليل الثابت قابل للتنبؤ وقابل للتوسع وصديق لـ CI.

3. هندسة العدائي أولاً

ملفات PE المشوهة، وعناوين RVAs التالفة، والسلاسل العدائية — يتعامل معها IOCX كمدخلات عادية.

4. استقرار المخطط كعقد

يجب ألا تنكسر الأنظمة اللاحقة عند الترقية.

5. الأداء دون تنازلات

150–300 ميجابايت/ثانية على النص الخام. 6–15 ميجابايت/ثانية على ملفات PE النموذجية. قابل للتنبؤ حتى تحت أسوأ حمل عدائي.


هذه الالتزامات مستمدة من منهجية بحثية منشورة لتحليل البنية الهيكلية لـ PE — بناء تركيبات حتمية، وانضباط الشذوذ الواحد، وسلوك محمل Windows كمعيار صحة. راجع docs/methodology.md للمنهجية الكاملة، وpaax.dev لتصنيف PE العدائي الأوسع ومجموعة التركيبات التجارية.

ما يجعل IOCX مختلفاً

القدرةIOCXأدوات استخراج مؤشرات الاختراق النموذجيةأدوات صندوق الرمل / الديناميكية
السلامةصفر تنفيذ، ثابت فقطتعبيرات نمطية فقط، لا سلامة ثنائيةتنفذ كوداً غير موثوق (خطر عالٍ)
الحتميةمخرجات حتمية بالكاملغير حتمية تحت الضوضاءغير حتمية بالتصميم
الوعي بالثنائياتتحليل PE كامل، استدلالاتلا دعم ثنائينعم، لكن غير آمن + بطيء
المرونة العدائيةمختبر ضد ملفات PE المشوهة والسلاسل العدائيةيمكن تجاوزه بسهولةغالباً يتعطل أو يصنف خطأً
الأداء150–300 ميجابايت/ثانية (نص)، 6–15 ميجابايت/ثانية (PE)متغير للغايةبطيء للغاية
صديق لـ CI/CDنعم — آمن، حتمي، سريعجزئيلا — غير آمن لخطوط الأنابيب
استقرار المخططمضموننادرلا يوجد

باختصار: تم بناء IOCX لـ الواقع العدائي الحقيقي، وليس للمدخلات المثالية.


حالات الاستخدام

CI/CD و DevSecOps

  • فحص الثنائيات قبل الإصدار
  • اكتشاف عناوين URL أو IPs أو أسرار عرضية في البناءات
  • فرض بوابات أمنية بمخاطر تنفيذ صفرية

SOC والاستجابة للحوادث

  • استخراج المؤشرات من التنبيهات أو نص الحافظة لدى المحلل
  • فحص عينات البرمجيات الخبيثة بأمان دون تنفيذ
  • تطبيع مؤشرات الاختراق إلى JSON منظم

استخبارات التهديدات

  • معالجة التغذيات على نطاق واسع
  • تحليل التقارير غير المنظمة
  • بناء خطوط أنابيب الإثراء على مخرجات حتمية

الأتمتة والبرمجة النصية

  • تمرير السجلات أو القطع الأثرية عبر IOCX
  • استخدام واجهة Python API لـ ETL أو سير العمل الدفعي
  • التوسيع بكاشفات مخصصة

ملفات الأداء

1. استخراج مؤشرات الاختراق الخام (نص، سجلات، مخازن مؤقتة)

150–300 ميجابايت/ثانية إنتاجية مستدامة مسار سريع — لا تحليل PE.

الكاشفزمن 1 ميجابايتالإنتاجية
Crypto0.0037 ث~270 ميجابايت/ثانية
Filepaths0.0041 ث~250 ميجابايت/ثانية
IP0.0065 ث~156 ميجابايت/ثانية
Domains0.0035 ث~300 ميجابايت/ثانية

2. ملفات PE النموذجية (~39 كيلوبايت)

  • 0.0122 ث (نموذجي)
  • 0.0145 ث (مع الاستدلالات)
  • 6–15 ميجابايت/ثانية إنتاجية

3. PE عدائي كثيف (1.5 ميجابايت)

  • 0.192 ث
  • ~7.6 ميجابايت/ثانية إنتاجية
  • يثير شذوذ TLS، والشذوذ الهيكلي، وأنماط مكافحة التنقيح

4. المحرك الكامل (غير PE)

  • 1 ميجابايت: 0.038 ث

أبرز ميزات الإصدارات

عرض سجل الإصدارات

v0.7.6.2 — مدقق جدول الاستيراد

  • مدقق هيكلي حتمي جديد لجدول الاستيراد (رموز أسباب IMPORT_*).
  • يتم الآن تحليل version_info وإظهاره في كل مستويات التحليل (وليس فقط -a full)، عبر إسقاط عام محدود جديد.
  • إعادة بناء واجهة سطر الأوامر: مخرجات --version ذات علامة تجارية، نص --help أوضح، مجموعات وسائط معاد تنظيمها.
  • إصلاح انهيار محلل إعادة التموضع يمكن الوصول إليه من أي مدخل، وخطأ إزاحة دليل بيانات PE32+، والعديد من إسقاطات أخطاء التصدير/الموارد الصامتة.
  • فحص CI ثابت جديد يمنع علامات أخطاء المحلل من أن تبقى غير مستهلكة بصمت من قبل المدققات.
  • مجموعة الاختبارات: 2,136 → 2,802 اختبار.

v0.7.6.1 — مدقق دليل الاستثناءات

  • يضيف تحققاً دلالياً عميقاً لدليل استثناءات PE (.pdata)؛ 14 رمز سبب جديد؛ 15 مدققاً إجمالاً.
  • يصلح عيباً كان يكتم النتائج الهيكلية عبر المحرك.
  • أربعة فحوصات إضافية وُجد أنها معطلة في الإنتاج: اثنان لتحديد موضع الدليل، وواحد لتعيين الأقسام، وفحص حدود دليل الموارد.
  • مرئي في المخرجات: النتائج التي كانت مكتومة أو موسومة خطأً ستظهر الآن.
  • الاختبارات: 1620 → 2136. التغطية: 100%.

v0.7.6 — توسيع المدقق الهيكلي: أدلة التنقيح وإعادة التموضع

  • مدققان هيكليان جديدان لـ PE - إعادة التموضع والتنقيح
  • مدققا WIN_CERTIFICATE و tls يستمدان الآن الحقيقة الهيكلية من محللات بنى مخصصة، مستقلة عن pefile
  • 12 رمز سبب جديد مع تصنيفات فرعية للسبب محلولة بالأولوية
  • تحليل حتمي على مستوى البايت - لا اعتماد على التفسير الكسول لـ pefile
  • 1620 اختبار بتغطية 100%

v0.7.5 — توسيع المدقق الهيكلي

  • أربعة مدققات هيكلية جديدة لـ PE — التصدير، واستيراد التحميل المؤجل، وVS_VERSIONINFO، والتسلسل الهرمي للموارد
  • 24 رمز سبب جديد مع تصنيفات فرعية للسبب محلولة بالأولوية
  • تحليل حتمي على مستوى البايت — لا اعتماد على التفسير الكسول لـ pefile
  • بيانات وصفية ذات صلة أمنية — خصائص DLL، وفك ترميز اسم النظام الفرعي/الآلة، والإنتروبيا لكل مورد
  • 1370 اختبار بتغطية 100% — تم التحقق منها من البداية إلى النهاية مقابل dumpbin على ثنائيات حقيقية

v0.7.4.1 — إصلاح عاجل للتوافق مع Windows

  • إزالة اعتماد python-magic، الذي تسبب في فشل الاستيراد على أنظمة Windows
  • إضافة كاشف نوع ملف بلغة Python خالصة لقابلية نقل كاملة عبر الأنظمة الأساسية
  • تحسين منطق اكتشاف PE من خلال فرض تحقق صارم متوافق مع Windows لـ PE.
  • لا تغييرات سلوكية على استخراج مؤشرات الاختراق
  • إصلاح اتساق --min-length مخطط لـ v0.7.5

v0.7.4 — تحليل الأدلة المتقدم

  • تحليل وتحقق كامل لـ Load Config Directory
  • بيانات وصفية موسعة للترويسة الاختيارية للاستدلالات اللاحقة
  • استدلالات جديدة لـ GuardCF والكوكيز والشذوذ
  • تحليل PE أسرع
  • 99 تركيبة PE في مجموعة الاختبارات؛ 45 تم التحقق منها بالكامل وفق المواصفات

v0.7.3 — الصحة الهيكلية والاستدلالات الحتمية

  • تقوية كبيرة لجميع مدققات PE الهيكلية
  • سلوك حتمي ومستقر للقطات
  • رموز أسباب واضحة ومتسقة
  • استدلالات أقوى مبنية على الحقيقة الهيكلية

v0.7.2 — إصلاح التبعيات

  • إضافة اعتماد idna المفقود
  • لا تغييرات سلوكية أو في المخطط

v0.7.1 — توسيع الاستدلالات العدائية وتقوية المحلل

  • ستة استدلالات PE جديدة
  • مجموعة PE عدائية موسعة
  • تقوية مستخرجات النطاقات/URL/التشفير/التجزئة
  • مخرجات حتمية تم التحقق منها بالقطات

v0.7.0 — الاستدلالات الحتمية وأساس الاختبار العدائي

  • استدلالات حتمية
  • عينات عدائية من الطبقة 3
  • اختبارات عقد اللقطات
  • إصلاح انهيار Rich Header

v0.6.0 — مخطط مخرجات مستقر وبيانات وصفية حتمية

  • مخطط JSON مستقر بالكامل
  • بيانات PE وصفية مطبعة
  • مستويات تحليل رسمية

v0.5.0 — مستويات التحليل، تحليل أقسام PE، تلميحات التعتيم

  • نظام مستويات تحليل جديد
  • تحليل هيكلي لـ PE
  • استدلالات التعتيم

v0.4.0 — بنية الإضافات

  • محرك قواعد جاهز للإضافات
  • تدفق اكتشاف موحد

v0.3.0 — اكتشاف مؤشرات الاختراق المشفرة

  • اكتشاف محفظة Ethereum و Bitcoin

v0.2.0 — اكتشاف IP عالي الموثوقية

  • تحسينات كبيرة لـ IPv4/IPv6

البدء السريع

التثبيت

pip install iocx

استخراج مؤشرات الاختراق من ملف

iocx suspicious.exe

الاستخراج من نص

echo "Visit http://bad.example.com" | iocx -

تمكين تحليل PE

iocx suspicious.exe -a

Python API

from iocx.engine import Engine

engine = Engine()
results = engine.extract("suspicious.exe")
print(results)

مثال على المخرجات

ينتج IOCX ملف JSON منظماً وحتمياً يتضمن مؤشرات الاختراق، وبيانات PE الوصفية، وتحليل الأقسام، والاستدلالات، ومؤشرات التعتيم.

المثال أدناه هو مخرجات مختصرة من عينة PE عدائية حقيقية. يوضح شكل وعمق المخطط مع الحفاظ على حجم يمكن إدارته لأغراض التوثيق.

عرض مثال مخرجات JSON
{
    "file": "heuristic_rich.full.exe",
    "type": "PE",
    "iocs": {
        "urls": ["http://not-a-real-domain.test/payload"],
        "domains": ["example-malware.com"],
        "ips": ["192.0.2.123"],
        "hashes": [
            "abcd1234ef567890abcd1234ef567890",
            "1234567890",
            "3333333333333333"
        ],
        "filepaths": [
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/crtexe.c",
            "/usr/x86_64-w64-mingw32/include",
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/pseudo-reloc.c"
        ]
    },
    "metadata": {
        "file_type": "PE",
        "imports": ["KERNEL32.dll", "msvcrt.dll", "USER32.dll"],
        "sections": [
            ".text", ".data", ".rwx", ".rdata",
            "UPX0", ".pdata", ".xdata", ".tls"
        ],
        "resources": [],
        "resource_strings": [],
        "delayed_imports": [],
        "bound_imports": [],
        "exports": [],
        "signatures": [],
        "has_signature": false,
        "tls": {
            "start_address": 5368758272,
            "end_address": 5368758280,
            "callbacks": 5368754232
        },
        "header": {
            "entry_point": 5088,
            "image_base": 5368709120,
            "machine": "AMD64",
            "subsystem": "Windows GUI"
        },
        "optional_header": {
            "section_alignment": 4096,
            "file_alignment": 512,
            "size_of_image": 155648
        }
    },
    "analysis": {
        "sections": [
            { "name": ".text", "entropy": 5.92 },
            { "name": ".rwx", "entropy": 0 },
            { "name": "UPX0", "entropy": 0.34 },
            { "name": ".rdata", "entropy": 4.03 }
        ],
        "obfuscation": [
            {
                "value": "abnormal_section_layout_virtual_only",
                "category": "obfuscation_hint",
                "metadata": {
                    "section": ".bss",
                    "raw_size": 0,
                    "virtual_size": 384
                }
            }
        ],
        "extended": [
            {
                "value": "summary",
                "category": "pe_metadata",
                "metadata": {
                    "dll_count": 3,
                    "import_count": 45,
                    "resource_count": 0,
                    "has_tls": true,
                    "has_signature": false
                }
            }
        ],
        "heuristics": [
            {
                "value": "packer_suspected",
                "metadata": {
                    "reason": "packer_section_name",
                    "section": "UPX0"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "anti_debug_api_import",
                    "dll": "kernel32.dll",
                    "function": "CheckRemoteDebuggerPresent"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "timing_api_import",
                    "dll": "kernel32.dll",
                    "function": "GetTickCount"
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "section_overlaps_headers",
                    "section": ".bss",
                    "raw_address": 0,
                    "size_of_headers": 1536
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "data_directory_overlap",
                    "directory_a": "IMAGE_DIRECTORY_ENTRY_IMPORT",
                    "directory_b": "IMAGE_DIRECTORY_ENTRY_IAT"
                }
            }
        ]
    }
}

البنية المعمارية

iocx/
├── examples/
├── docs/
├── tests/
└── iocx
    ├── detectors/
    ├── parsers/
    ├── plugins/
    ├── cli/
    └── analysis/

منظومة الإضافات وقابلية التوسع

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

يمكنك بناء:

  • كاشفات مؤشرات اختراق مخصصة
  • قواعد تعبيرات نمطية مخصصة
  • إضافات مدركة للثنائيات
  • استدلالات داخلية
  • مستخرجات خاصة بخط الأنابيب

راجع:

  • docs/specs/overlap-suppression.md
  • docs/specs/plugin-authoring-guidelines.md

نظرة عامة على المنظومة

IOCX أكثر من مجرد ثنائي واحد — إنه منظومة معيارية:

  • المحرك الأساسي — استخراج حتمي لمؤشرات الاختراق + تحليل PE
  • نظام الإضافات — كاشفات ووحدات تحليل مخصصة
  • المجموعة العدائية — ملفات PE مشوهة، وسلاسل عدائية، وعينات fuzz
  • إطار اختبار اللقطات — يضمن مخرجات حتمية
  • معايير الأداء — مفروضة في CI
  • مجموعة التوثيق — المواصفات والعقود وأدلة الإضافات

من يستخدم IOCX؟

يُستخدم IOCX عبر:

  • فرق DFIR
  • خطوط أنابيب أتمتة SOC
  • بوابات أمن CI/CD
  • منصات استخبارات التهديدات
  • مختبرات أبحاث البرمجيات الخبيثة
  • فرق الهندسة الأمنية

في أي مكان تحتاج فيه المؤشرات إلى الاستخراج بأمان، وبشكل حتمي، وعلى نطاق واسع، فإن IOCX مناسب.


الاختبار الآمن (لا حاجة لبرمجيات خبيثة)

جميع عينات الاختبار:

  • اصطناعية
  • حميدة
  • آمنة علنياً (EICAR، GTUBE)
  • مصممة لتجنب التعامل العرضي مع البرمجيات الخبيثة

ضمانات الأداء

يفرض IOCX عتبات أداء صارمة في CI لضمان:

  • لا توقف في التراجع بالتعبيرات النمطية
  • لا تباطؤ مرضي
  • أداء مستقر عبر الإصدارات

راجع:

  • docs/performance.md

هوية المشروع والتسمية

يشير اسم IOCX حصرياً إلى المحرك الرسمي المنشور على:

غير مسموح

  • المستودعات المسماة iocx
  • الأدوات المسماة "iocx" غير التابعة لهذا المشروع
  • الإيحاء بالانتماء دون إذن

مسموح

  • iocx-<plugin>
  • iocx-extension-<name>
  • iocx-detector-<feature>

مستودعات IOCX الرسمية


خارطة الطريق

يركز تطوير IOCX على الاستقرار وقابلية التوسع وتغطية أعمق للتحليل الثابت. تمثل العناصر أدناه مجالات العمل والاستكشاف الجارية.

  • استدلالات PE موسعة (سلوك التحميل المؤجل، والشذوذ الهيكلي، وأنماط إعادة التموضع)
  • قواعد كتم انتقائية لسير عمل OSINT و DFIR واستخبارات التهديدات
  • استخراج بيانات ELF و Mach-O الوصفية
  • وضع التحليل الدفعي لسير العمل متعدد القطع الأثرية
  • أوضاع مخرجات بنمط YARA وخطافات الإثراء
  • تحليل ثابت محايد للثنائيات
  • منظومة إضافات عبر الأنظمة الأساسية
  • ارتباطات اللغات لـ Rust و Go و Node.js

المساهمة

نرحب بـ:

  • كاشفات جديدة
  • تحسينات المحلل
  • تحديثات التوثيق
  • عينات عدائية اصطناعية

راجع CONTRIBUTING.md للإرشادات.


الأمان

إذا اكتشفت مشكلة أمنية، لا تفتح مشكلة على GitHub. اتبع التعليمات في SECURITY.md.


الترخيص

رخصة MPL‑2.0 — راجع LICENSE.

الفئات