
एक विस्तार योग्य, निर्धारिती स्थैतिक-विश्लेषण इंजन जो PE बाइनरी और टेक्स्ट से उच्च-संकेत IOC निकालता है, SOC स्वचालन और आधुनिक खतरा-विश्लेषण पाइपलाइनों के लिए बनाया गया है।
IOCX CLI का उपयोग करके PE फ़ाइल से स्थैतिक IOC निष्कर्षण
यह नियतात्मक स्थैतिक IOC निष्कर्षण और PE विश्लेषण के लिए मूल IOCX इंजन है। "iocx" नाम का उपयोग करने वाली किसी भी अन्य रिपॉज़िटरी का इस प्रोजेक्ट से कोई संबंध नहीं है।
आधिकारिक लिंक:
आधुनिक मैलवेयर डिफ़ॉल्ट रूप से प्रतिकूल होता है — विकृत, पता लगाने से बचने वाला, और सरल एक्सट्रैक्टर्स को तोड़ने के लिए इंजीनियर किया गया।
IOCX उन वातावरणों के लिए बनाया गया है जहाँ शुद्धता और नियतत्ववाद वास्तव में मायने रखते हैं।
IOCX आधिकारिक स्थैतिक IOC निष्कर्षण इंजन है — एक नियतात्मक, बाइनरी-जागरूक प्रणाली जो DFIR, SOC स्वचालन, CI/CD सुरक्षा और बड़े पैमाने की थ्रेट-इंटेल पाइपलाइनों के लिए बनाई गई है।
regex-केवल एक्सट्रैक्टर्स या सैंडबॉक्स-निर्भर उपकरणों के विपरीत, IOCX निम्न कार्य करता है:
यह स्केलेबल, आधुनिक खतरा विश्लेषण के लिए MalX Labs इकोसिस्टम का एक मुख्य घटक है।
echo "http://malicious.example" | iocx -
या किसी PE फ़ाइल को सुरक्षित रूप से स्कैन करें:
iocx suspicious.exe -a deep
सुरक्षा टीमों को तीन स्थायी समस्याओं का सामना करना पड़ता है:
IOCX इसे स्वचालन, सुरक्षा और स्केल के लिए डिज़ाइन किए गए नियतात्मक, केवल-स्थैतिक इंजन के साथ हल करता है।
IOCX जानबूझकर नहीं है:
यह कभी भी अविश्वसनीय कोड निष्पादित नहीं करता। यह कभी भी गतिशील विश्लेषण नहीं करता। यह डिज़ाइन द्वारा केवल-स्थैतिक है — सुरक्षा, नियतत्ववाद और CI/CD अनुकूलता के लिए।
IOCX आधुनिक मैलवेयर की वास्तविकताओं के लिए इंजीनियर किया गया है, न कि पुराने उपकरणों की मान्यताओं के लिए।
स्थिर, पुनरुत्पादनीय आउटपुट — कोई यादृच्छिकता नहीं, कोई अस्थिरता नहीं।
निष्पादन असुरक्षित है। स्थैतिक विश्लेषण पूर्वानुमेय, स्केलेबल और CI-अनुकूल है।
विकृत PEs, दूषित RVAs, शत्रुतापूर्ण स्ट्रिंग्स — IOCX उन्हें सामान्य इनपुट के रूप में मानता है।
डाउनस्ट्रीम सिस्टम को अपग्रेड पर कभी नहीं टूटना चाहिए।
कच्चे टेक्स्ट पर 150–300 MB/s। सामान्य PEs पर 6–15 MB/s। सबसे खराब स्थिति वाले प्रतिकूल लोड के तहत भी पूर्वानुमेय।
ये प्रतिबद्धताएँ PE संरचनात्मक विश्लेषण के लिए प्रकाशित शोध पद्धति से व्युत्पन्न हैं — नियतात्मक फिक्स्चर निर्माण, एकल-विसंगति अनुशासन, और शुद्धता के मानदंड के रूप में Windows लोडर व्यवहार। पूर्ण पद्धति के लिए docs/methodology.md देखें, और व्यापक adversarial-PE वर्गीकरण तथा वाणिज्यिक फिक्स्चर सूट के लिए paax.dev देखें।
संक्षेप में: IOCX वास्तविक प्रतिकूल वास्तविकता के लिए बनाया गया है, न कि आदर्शीकृत इनपुट के लिए।
150–300 MB/s निरंतर थ्रूपुट तेज़ पथ — कोई PE पार्सिंग नहीं।
| डिटेक्टर |
|---|
dumpbin के विरुद्ध एंड-टू-एंड सत्यापितpython-magic निर्भरता हटाई गई, जो Windows सिस्टम पर इम्पोर्ट विफलताओं का कारण बनती थीpip install iocx
iocx suspicious.exe
echo "Visit http://bad.example.com" | iocx -
iocx suspicious.exe -a
from iocx.engine import Engine
engine = Engine()
results = engine.extract("suspicious.exe")
print(results)
IOCX संरचित, नियतात्मक JSON उत्पन्न करता है जिसमें IOCs, PE मेटाडेटा, सेक्शन विश्लेषण, ह्यूरिस्टिक्स और ऑबफस्केशन संकेतक शामिल होते हैं।
नीचे दिया गया उदाहरण एक वास्तविक प्रतिकूल PE नमूने का संक्षिप्त आउटपुट है। यह दस्तावेज़ीकरण उद्देश्यों के लिए आकार को प्रबंधनीय रखते हुए स्कीमा के आकार और गहराई को प्रदर्शित करता है।
{
"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.mddocs/specs/plugin-authoring-guidelines.mdIOCX एक एकल बाइनरी से कहीं अधिक है — यह एक मॉड्यूलर इकोसिस्टम है:
IOCX का उपयोग निम्नलिखित में किया जाता है:
जहाँ भी संकेतकों को सुरक्षित रूप से, नियतात्मक रूप से और बड़े पैमाने पर निकालने की आवश्यकता होती है, IOCX उपयुक्त है।
सभी परीक्षण नमूने:
IOCX यह सुनिश्चित करने के लिए CI में सख्त प्रदर्शन सीमाएँ लागू करता है:
देखें:
docs/performance.mdनाम IOCX विशेष रूप से निम्नलिखित पर प्रकाशित आधिकारिक इंजन को संदर्भित करता है:
iocx नाम वाली रिपॉज़िटरीज़iocx-<plugin>iocx-extension-<name>iocx-detector-<feature>IOCX विकास स्थिरता, विस्तारक्षमता और गहन स्थैतिक-विश्लेषण कवरेज पर केंद्रित है। नीचे दिए गए आइटम चालू कार्य और अन्वेषण के क्षेत्रों को दर्शाते हैं।
हम स्वागत करते हैं:
दिशानिर्देशों के लिए CONTRIBUTING.md देखें।
यदि आपको कोई सुरक्षा समस्या मिलती है, तो GitHub issue न खोलें।
SECURITY.md में दिए गए निर्देशों का पालन करें।
MPL‑2.0 लाइसेंस — LICENSE देखें।
| क्षमता | IOCX | सामान्य IOC एक्सट्रैक्टर्स | सैंडबॉक्स / गतिशील उपकरण |
|---|
| सुरक्षा | शून्य-निष्पादन, केवल-स्थैतिक | केवल-regex, कोई बाइनरी सुरक्षा नहीं | अविश्वसनीय कोड निष्पादित करता है (उच्च-जोखिम) |
| नियतत्ववाद | पूर्णतः नियतात्मक आउटपुट | शोर के तहत गैर-नियतात्मक | डिज़ाइन द्वारा गैर-नियतात्मक |
| बाइनरी जागरूकता | पूर्ण PE पार्सिंग, ह्यूरिस्टिक्स | कोई बाइनरी समर्थन नहीं | हाँ, लेकिन असुरक्षित + धीमा |
| प्रतिकूल लचीलापन | विकृत PEs, शत्रुतापूर्ण स्ट्रिंग्स के विरुद्ध परीक्षित | आसानी से बायपास किया जा सकता है | अक्सर क्रैश या गलत वर्गीकरण करता है |
| प्रदर्शन | 150–300 MB/s (टेक्स्ट), 6–15 MB/s (PE) | अत्यधिक परिवर्तनशील | अत्यंत धीमा |
| CI/CD अनुकूल | हाँ — सुरक्षित, नियतात्मक, तेज़ | आंशिक | नहीं — पाइपलाइनों के लिए असुरक्षित |
| स्कीमा स्थिरता | गारंटीकृत | दुर्लभ | कोई नहीं |
| 1 MB समय |
|---|
| थ्रूपुट |
|---|
| Crypto | 0.0037 s | ~270 MB/s |
| Filepaths | 0.0041 s | ~250 MB/s |
| IP | 0.0065 s | ~156 MB/s |
| Domains | 0.0035 s | ~300 MB/s |
--min-length संगति सुधार v0.7.5 के लिए नियोजित हैidna निर्भरता जोड़ी गई