
iocx v0.7.6.1
एक विस्तार योग्य, निर्धारिती स्थैतिक-विश्लेषण इंजन जो PE बाइनरी और टेक्स्ट से उच्च-संकेत IOC निकालता है, SOC स्वचालन और आधुनिक खतरा-विश्लेषण पाइपलाइनों के लिए बनाया गया है।
IOCX
आधुनिक सुरक्षा पाइपलाइनों के लिए नियतात्मक, शून्य-जोखिम IOC निष्कर्षण
IOCX CLI का उपयोग करके PE फ़ाइल से स्थैतिक IOC निष्कर्षण
आधिकारिक IOCX प्रोजेक्ट
यह नियतात्मक स्थैतिक IOC निष्कर्षण और PE विश्लेषण के लिए मूल IOCX इंजन है। "iocx" नाम का उपयोग करने वाले कोई भी अन्य रिपॉजिटरी इस प्रोजेक्ट से संबद्ध नहीं हैं।
आधिकारिक लिंक:
- PyPI: https://pypi.org/project/iocx/
- Github: https://github.com/iocx-dev/iocx
- वेबसाइट: https://iocx.dev/
IOCX क्यों महत्वपूर्ण है
आधुनिक मैलवेयर डिफ़ॉल्ट रूप से प्रतिकूल है — विकृत, चकमा देने वाला, और निष्कर्षणकर्ताओं को तोड़ने के लिए इंजीनियर किया गया।
- बाइनरी-अनजान उपकरण विकृत PEs के तहत विफल हो जाते हैं
- सैंडबॉक्स असुरक्षित हैं और CI/CD में उपयोग के लिए अनुपयुक्त हैं
- प्रतिलिपि-क्षमता स्वचालित पाइपलाइनों के लिए आवश्यक है
IOCX उन वातावरणों के लिए बनाया गया है जहाँ शुद्धता और नियतिवाद वास्तव में मायने रखते हैं।
IOCX इंजन
IOCX आधिकारिक स्थैतिक IOC निष्कर्षण इंजन है — DFIR, SOC स्वचालन, CI/CD सुरक्षा, और बड़े पैमाने पर खतरे-खुफिया पाइपलाइनों के लिए बनाई गई एक नियतात्मक, बाइनरी-जागरूक प्रणाली।
केवल-रेगेक्स निष्कर्षणकर्ताओं या सैंडबॉक्स-निर्भर उपकरणों के विपरीत, IOCX निम्न कार्य करता है:
- शुद्ध स्थैतिक विश्लेषण
- शून्य निष्पादन जोखिम
- स्थिर, नियतात्मक आउटपुट
- प्रतिकूल-परीक्षित अनुमान-विधियाँ
यह स्केलेबल, आधुनिक खतरे के विश्लेषण के लिए MalX Labs पारिस्थितिकी तंत्र का एक मुख्य घटक है।
IOCX को 10 सेकंड में आज़माएँ
echo "http://malicious.example" | iocx -
या PE फ़ाइल को सुरक्षित रूप से स्कैन करें:
iocx suspicious.exe -a deep
IOCX क्यों मौजूद है
सुरक्षा टीमों को तीन लगातार समस्याओं का सामना करना पड़ता है:
- रेगेक्स निष्कर्षणकर्ता प्रतिकूल इनपुट के तहत विफल हो जाते हैं
- सैंडबॉक्सिंग असुरक्षित, धीमी, और स्वचालन के लिए अनुपयुक्त है
- अधिकांश IOC उपकरण असंगत, धीमे, या रनों के बीच सूक्ष्म रूप से भिन्न आउटपुट उत्पन्न करते हैं
IOCX इसे एक नियतात्मक, केवल-स्थैतिक इंजन के साथ हल करता है जो स्वचालन, सुरक्षा, और पैमाने के लिए डिज़ाइन किया गया है।
IOCX क्या नहीं है
IOCX जानबूझकर नहीं है:
- एक सैंडबॉक्स
- एक व्यवहारिक विश्लेषण उपकरण
- एक एमुलेटर
- एक संवर्धन इंजन
यह कभी भी अविश्वसनीय कोड निष्पादित नहीं करता। यह कभी भी गतिशील विश्लेषण नहीं करता। यह डिज़ाइन द्वारा केवल-स्थैतिक है — सुरक्षा, नियतिवाद, और CI/CD संगतता के लिए।
डिज़ाइन दर्शन
IOCX आधुनिक मैलवेयर की वास्तविकताओं के लिए इंजीनियर किया गया है, न कि विरासती उपकरणों की मान्यताओं के लिए।
1. अस्पष्टता पर नियतिवाद
स्थिर, प्रतिलिपि-योग्य आउटपुट — कोई यादृच्छिकता नहीं, कोई अस्थिरता नहीं।
2. गतिशील पर स्थैतिक
निष्पादन असुरक्षित है। स्थैतिक विश्लेषण पूर्वानुमानित, स्केलेबल, और CI-अनुकूल है।
3. प्रतिकूल-प्रथम इंजीनियरिंग
विकृत PEs, भ्रष्ट RVAs, शत्रुतापूर्ण स्ट्रिंग्स — IOCX उन्हें सामान्य इनपुट मानता है।
4. अनुबंध के रूप में स्कीमा स्थिरता
डाउनस्ट्रीम सिस्टम को अपग्रेड पर कभी नहीं टूटना चाहिए।
5. बिना समझौते के प्रदर्शन
कच्चे टेक्स्ट पर 150–300 MB/s। विशिष्ट PEs पर 6–15 MB/s। सबसे खराब स्थिति वाले प्रतिकूल भार के तहत भी पूर्वानुमानित।
ये प्रतिबद्धताएँ PE संरचनात्मक विश्लेषण के लिए एक प्रकाशित शोध पद्धति से प्राप्त हुई हैं — नियतात्मक फिक्स्चर निर्माण, एकल-विसंगति अनुशासन, और सहीता के मानदंड के रूप में Windows लोडर व्यवहार। पूर्ण पद्धति के लिए docs/methodology.md देखें, और व्यापक प्रतिकूल-PE वर्गीकरण और वाणिज्यिक फिक्स्चर सूट के लिए paax.dev देखें।
IOCX को क्या अलग बनाता है
| क्षमता | IOCX | विशिष्ट IOC निष्कर्षणकर्ता | सैंडबॉक्स / गतिशील उपकरण |
|---|---|---|---|
| सुरक्षा | शून्य-निष्पादन, केवल-स्थैतिक | केवल-रेगेक्स, कोई बाइनरी सुरक्षा नहीं | अविश्वसनीय कोड निष्पादित करता है (उच्च-जोखिम) |
| नियतिवाद | पूर्णतः नियतात्मक आउटपुट | शोर के तहत गैर-नियतात्मक | डिज़ाइन द्वारा गैर-नियतात्मक |
| बाइनरी जागरूकता | पूर्ण PE पार्सिंग, अनुमान-विधियाँ | कोई बाइनरी समर्थन नहीं | हाँ, लेकिन असुरक्षित + धीमा |
| प्रतिकूल लचीलापन | विकृत PEs, शत्रुतापूर्ण स्ट्रिंग्स के विरुद्ध परीक्षित | आसानी से बायपास किया जाता है | अक्सर क्रैश या गलत वर्गीकरण |
| प्रदर्शन | 150–300 MB/s (टेक्स्ट), 6–15 MB/s (PE) | अत्यधिक परिवर्तनशील | अत्यंत धीमा |
| CI/CD अनुकूल | हाँ — सुरक्षित, नियतात्मक, तेज़ | आंशिक | नहीं — पाइपलाइनों के लिए असुरक्षित |
| स्कीमा स्थिरता | गारंटीकृत | दुर्लभ | कोई नहीं |
संक्षेप में: IOCX वास्तविक प्रतिकूल वास्तविकता के लिए बनाया गया है, आदर्श इनपुट के लिए नहीं।
उपयोग के मामले
CI/CD और DevSecOps
- रिलीज़ से पहले बाइनरी स्कैन करें
- बिल्ड में आकस्मिक URLs, IPs, या रहस्यों का पता लगाएँ
- शून्य निष्पादन जोखिम के साथ सुरक्षा गेट लागू करें
SOC और घटना प्रतिक्रिया
- अलर्ट या विश्लेषक क्लिपबोर्ड टेक्स्ट से संकेतक निकालें
- निष्पादन के बिना मैलवेयर नमूनों का सुरक्षित रूप से निरीक्षण करें
- IOCs को संरचित JSON में सामान्यीकृत करें
खतरा खुफिया
- पैमाने पर फ़ीड संसाधित करें
- असंरचित रिपोर्ट पार्स करें
- नियतात्मक आउटपुट पर संवर्धन पाइपलाइन बनाएँ
स्वचालन और स्क्रिप्टिंग
- लॉग या आर्टिफैक्ट्स को IOCX के माध्यम से पाइप करें
- ETL या बैच वर्कफ़्लो के लिए Python API का उपयोग करें
- कस्टम डिटेक्टरों के साथ विस्तारित करें
प्रदर्शन प्रोफ़ाइल
1. कच्चा IOC निष्कर्षण (टेक्स्ट, लॉग, बफ़र)
150–300 MB/s निरंतर थ्रूपुट तेज़ पथ — कोई PE पार्सिंग नहीं।
| डिटेक्टर | 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 |
2. विशिष्ट PE फ़ाइलें (~39 KB)
- 0.0122 s (विशिष्ट)
- 0.0145 s (अनुमान-विधियों के साथ)
- 6–15 MB/s थ्रूपुट
3. प्रतिकूल घना PE (1.5 MB)
- 0.192 s
- ~7.6 MB/s थ्रूपुट
- TLS विसंगतियाँ, संरचनात्मक विसंगतियाँ, एंटी-डीबग पैटर्न ट्रिगर करता है
4. पूर्ण इंजन (गैर-PE)
- 1 MB: 0.038 s
संस्करण मुख्य विशेषताएँ
संस्करण इतिहास दिखाएँ
v0.7.6.1 — अपवाद निर्देशिका सत्यापनकर्ता
- PE अपवाद (
.pdata) निर्देशिका का गहन शब्दार्थ सत्यापन जोड़ता है; 14 नए कारण कोड; कुल 15 सत्यापनकर्ता। - इंजन में संरचनात्मक निष्कर्षों को दबाने वाले एक दोष को ठीक करता है।
- उत्पादन में मृत पाए गए चार और जाँचें: दो निर्देशिका प्लेसमेंट, एक अनुभाग-मैपिंग, और एक संसाधन-निर्देशिका सीमा जाँच।
- आउटपुट-दृश्यमान: पहले दबाए गए या गलत लेबल वाले निष्कर्ष अब दिखाई देंगे।
- परीक्षण: 1620 → 2136। कवरेज: 100%।
v0.7.6 — संरचनात्मक सत्यापनकर्ता विस्तार: डीबग और रिलोकेशन निर्देशिकाएँ
- दो नए PE संरचनात्मक सत्यापनकर्ता - रिलोकेशन और डीबग
- WIN_CERTIFICATE और tls सत्यापनकर्ता अब pefile से स्वतंत्र, समर्पित struct पार्सर से संरचनात्मक सत्य प्राप्त करते हैं
- प्राथमिकता-समाधानित उप-कारण वर्गीकरण के साथ 12 नए कारण कोड
- नियतात्मक बाइट-स्तरीय पार्सिंग - pefile की आलसी व्याख्या पर कोई निर्भरता नहीं
- 100% कवरेज पर 1620 परीक्षण
v0.7.5 — संरचनात्मक सत्यापनकर्ता विस्तार
- चार नए PE संरचनात्मक सत्यापनकर्ता — एक्सपोर्ट्स, डिले-लोड इम्पोर्ट्स, VS_VERSIONINFO, और संसाधन पदानुक्रम
- प्राथमिकता-समाधानित उप-कारण वर्गीकरण के साथ 24 नए कारण कोड
- नियतात्मक बाइट-स्तरीय पार्सिंग — pefile की आलसी व्याख्या पर कोई निर्भरता नहीं
- सुरक्षा-प्रासंगिक मेटाडेटा — DLL विशेषताएँ, सबसिस्टम/मशीन नाम डिकोडिंग, प्रति-संसाधन एन्ट्रॉपी
- 100% कवरेज पर 1370 परीक्षण — वास्तविक बाइनरी पर
dumpbinके विरुद्ध अंत-से-अंत सत्यापित
v0.7.4.1 — Windows संगतता हॉटफिक्स
python-magicनिर्भरता हटाई गई, जो Windows सिस्टम पर इम्पोर्ट विफलताओं का कारण बनती थी- पूर्ण क्रॉस-प्लेटफ़ॉर्म पोर्टेबिलिटी के लिए एक शुद्ध-Python फ़ाइल-प्रकार डिटेक्टर जोड़ा गया
- सख्त Windows-संगत PE सत्यापन लागू करके PE डिटेक्शन तर्क में सुधार किया गया
- IOC निष्कर्षण में कोई व्यवहारिक परिवर्तन नहीं
--min-lengthस्थिरता फिक्स v0.7.5 के लिए नियोजित है
v0.7.4 — उन्नत निर्देशिका पार्सिंग
- पूर्ण लोड कॉन्फ़िग निर्देशिका पार्सिंग और सत्यापन
- डाउनस्ट्रीम अनुमान-विधियों के लिए विस्तारित वैकल्पिक हेडर मेटाडेटा
- नए GuardCF, कुकी, विसंगति अनुमान-विधियाँ
- तेज़ PE विश्लेषण
- परीक्षण सूट में 99 PE फिक्स्चर; 45 पूर्णतः स्पेक-सत्यापित
v0.7.3 — संरचनात्मक शुद्धता और नियतात्मक अनुमान-विधियाँ
- सभी PE संरचनात्मक सत्यापनकर्ताओं का प्रमुख सख्तीकरण
- नियतात्मक, स्नैपशॉट-स्थिर व्यवहार
- स्पष्ट, सुसंगत ReasonCodes
- संरचनात्मक सत्य पर निर्मित मजबूत अनुमान-विधियाँ
v0.7.2 — निर्भरता फिक्स
- लापता
idnaनिर्भरता जोड़ी गई - कोई व्यवहारिक या स्कीमा परिवर्तन नहीं
v0.7.1 — प्रतिकूल अनुमान-विधि विस्तार और पार्सर सख्तीकरण
- छह नई PE अनुमान-विधियाँ
- विस्तारित प्रतिकूल PE कॉर्पस
- सख्त किए गए डोमेन/URL/crypto/हैश निष्कर्षणकर्ता
- नियतात्मक स्नैपशॉट-सत्यापित आउटपुट
v0.7.0 — नियतात्मक अनुमान-विधियाँ और प्रतिकूल परीक्षण आधार
- नियतात्मक अनुमान-विधियाँ
- लेयर-3 प्रतिकूल नमूने
- स्नैपशॉट-अनुबंध परीक्षण
- रिच हेडर क्रैश फिक्स
v0.6.0 — स्थिर आउटपुट स्कीमा और नियतात्मक मेटाडेटा
- पूर्णतः स्थिर JSON स्कीमा
- सामान्यीकृत PE मेटाडेटा
- औपचारिक विश्लेषण स्तर
v0.5.0 — विश्लेषण स्तर, PE अनुभाग विश्लेषण, अस्पष्टता संकेत
- नई विश्लेषण-स्तर प्रणाली
- PE संरचनात्मक विश्लेषण
- अस्पष्टता अनुमान-विधियाँ
v0.4.0 — प्लगइन आर्किटेक्चर
- प्लगइन-तैयार नियम इंजन
- एकीकृत डिटेक्शन प्रवाह
v0.3.0 — Crypto IOC डिटेक्शन
- Ethereum और Bitcoin वॉलेट डिटेक्शन
v0.2.0 — उच्च-विश्वसनीयता IP डिटेक्शन
- प्रमुख IPv4/IPv6 सुधार
त्वरित आरंभ
स्थापित करें
pip install iocx
फ़ाइल से IOCs निकालें
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 उत्पन्न करता है जिसमें IOCs, 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 को सुरक्षित और पूर्वानुमानित रूप से विस्तारित करने के लिए डिज़ाइन किया गया है। प्लगइन्स प्रथम-श्रेणी के नागरिक हैं, जो मुख्य इंजन के समान नियतात्मक स्नैपशॉट परीक्षणों द्वारा सत्यापित होते हैं।
आप निर्माण कर सकते हैं:
- कस्टम IOC डिटेक्टर
- कस्टम रेगेक्स नियम
- बाइनरी-जागरूक प्लगइन्स
- आंतरिक अनुमान-विधियाँ
- पाइपलाइन-विशिष्ट निष्कर्षणकर्ता
देखें:
docs/specs/overlap-suppression.mddocs/specs/plugin-authoring-guidelines.md
पारिस्थितिकी तंत्र अवलोकन
IOCX एक एकल बाइनरी से अधिक है — यह एक मॉड्यूलर पारिस्थितिकी तंत्र है:
- कोर इंजन — नियतात्मक IOC निष्कर्षण + PE विश्लेषण
- प्लगइन प्रणाली — कस्टम डिटेक्टर और विश्लेषण मॉड्यूल
- प्रतिकूल कॉर्पस — विकृत PEs, शत्रुतापूर्ण स्ट्रिंग्स, फ़ज़ नमूने
- स्नैपशॉट परीक्षण ढाँचा — नियतात्मक आउटपुट सुनिश्चित करता है
- प्रदर्शन बेंचमार्क — 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 रिपॉजिटरी
- कोर इंजन: https://github.com/iocx-dev/iocx
- प्लगइन्स मेटा-रिपो: https://github.com/iocx-dev/iocx-plugins
- दस्तावेज़ीकरण: https://github.com/iocx-dev/iocx/tree/main/docs/specs