Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
iocx — Расширяемый детерминированный движок статического анализа, извлекающий высокосигнальные IOC из PE-файлов и текста, созданный для автоматизации SOC и современных конвейеров анализа угроз. | Kitploit
Инструменты/GitHubGitHub/iocx-dev/iocx
Управление индикаторами компрометации (IOC)Статический анализАнализ уязвимостейФорензикаАнализ вредоносных программDevSecOpsАнализ Бинарных ФайловРазведка угрозРеагирование на Инциденты
GitHubiocx-dev/iocx

iocx

Расширяемый детерминированный движок статического анализа, извлекающий высокосигнальные IOC из PE-файлов и текста, созданный для автоматизации SOC и современных конвейеров анализа угроз.

286311 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт

IOCX

Детерминированное извлечение IOC с нулевым риском для современных конвейеров безопасности

IOCX Demo

Статическое извлечение IOC из PE-файла с помощью IOCX CLI

Официальный проект IOCX

Это оригинальный движок IOCX для детерминированного статического извлечения IOC и анализа PE. Любые другие репозитории, использующие имя "iocx", не имеют отношения к этому проекту.

Официальные ссылки:

  • PyPI: https://pypi.org/project/iocx/
  • Github: https://github.com/iocx-dev/iocx
  • Веб-сайт: https://iocx.dev/

Почему IOCX важен

Современное вредоносное ПО враждебно по своей сути — некорректно сформировано, уклоняется от анализа и специально создаётся, чтобы ломать наивные экстракторы.

  • Инструменты, не понимающие бинарные форматы, ломаются на некорректных PE-файлах
  • Песочницы небезопасны и неприменимы в CI/CD
  • Воспроизводимость критически важна для автоматизированных конвейеров

IOCX создан для сред, где корректность и детерминизм действительно имеют значение.


Движок IOCX

IOCX — это официальный движок статического извлечения IOC — детерминированная система, понимающая бинарные форматы, созданная для DFIR, автоматизации SOC, безопасности CI/CD и крупномасштабных конвейеров threat intelligence.

В отличие от экстракторов на основе регулярных выражений или инструментов, зависящих от песочниц, IOCX выполняет:

  • чисто статический анализ
  • нулевой риск выполнения кода
  • стабильный, детерминированный вывод
  • эвристики, проверенные на враждебных входных данных

Это ключевой компонент экосистемы MalX Labs для масштабируемого современного анализа угроз.


Попробуйте IOCX за 10 секунд

root@kitploit:~
echo "http://malicious.example" | iocx -

Или безопасно просканируйте PE-файл:

root@kitploit:~
iocx suspicious.exe -a deep

Почему существует IOCX

Перед командами безопасности стоят три постоянные проблемы:

  1. Экстракторы на основе регулярных выражений ломаются при враждебных входных данных
  2. Песочницы небезопасны, медленны и не подходят для автоматизации
  3. Большинство IOC-инструментов непоследовательны, медленны или выдают слегка различающиеся результаты между запусками

IOCX решает эту проблему с помощью детерминированного движка, использующего только статический анализ, спроектированного для автоматизации, безопасности и масштабирования.


Чем IOCX не является

IOCX намеренно не является:

  • песочницей
  • инструментом поведенческого анализа
  • эмулятором
  • механизмом обогащения данных

Он никогда не выполняет недоверенный код. Он никогда не проводит динамический анализ. Он по своей конструкции является только статическим — ради безопасности, детерминизма и совместимости с CI/CD.


Философия дизайна

IOCX спроектирован с учётом реалий современного вредоносного ПО, а не предположений устаревших инструментов.

1. Детерминизм вместо неоднозначности

Стабильный, воспроизводимый вывод — никакой случайности, никакой нестабильности.

2. Статический анализ вместо динамического

Выполнение кода небезопасно. Статический анализ предсказуем, масштабируем и удобен для CI.

3. Проектирование с приоритетом защиты от враждебных воздействий

Некорректные PE-файлы, повреждённые RVA, враждебные строки — IOCX воспринимает их как обычные входные данные.

4. Стабильность схемы как контракт

Нижестоящие системы не должны ломаться при обновлении.

5. Производительность без компромиссов

150–300 МБ/с на сыром тексте. 6–15 МБ/с на типичных PE-файлах. Предсказуемая даже при наихудшей враждебной нагрузке.


Эти обязательства основаны на опубликованной методологии исследования структурного анализа PE — детерминированная конструкция фикстур, принцип единичной аномалии и поведение загрузчика Windows как эталон корректности. Полную методологию см. в docs/methodology.md, а более широкую таксономию adversarial-PE и коммерческий набор фикстур — на paax.dev.

Чем отличается IOCX

Коротко: IOCX создан для реальной враждебной действительности, а не для идеализированных входных данных.


Варианты использования

CI/CD и DevSecOps

  • Сканируйте бинарные файлы перед релизом
  • Обнаруживайте случайные URL, IP-адреса или секреты в сборках
  • Обеспечивайте соблюдение security-гейтов с нулевым риском выполнения

SOC и реагирование на инциденты

  • Извлекайте индикаторы из оповещений или текста в буфере обмена аналитика
  • Безопасно исследуйте образцы вредоносного ПО без выполнения
  • Нормализуйте IOC в структурированный JSON

Threat Intelligence

  • Обрабатывайте потоки данных в больших объёмах
  • Разбирайте неструктурированные отчёты
  • Стройте конвейеры обогащения на основе детерминированного вывода

Автоматизация и скриптинг

  • Передавайте логи или артефакты через IOCX по конвейеру
  • Используйте Python API для ETL или пакетных процессов
  • Расширяйте с помощью пользовательских детекторов

Профили производительности

1. Извлечение IOC из сырых данных (текст, логи, буферы)

150–300 МБ/с устойчивая пропускная способность Быстрый путь — без разбора PE.


2. Типичные PE-файлы (~39 КБ)

  • 0.0122 с (типично)
  • 0.0145 с (с эвристиками)
  • 6–15 МБ/с пропускная способность

3. Плотный adversarial PE (1,5 МБ)

  • 0.192 с
  • ~7.6 МБ/с пропускная способность
  • Выявляет TLS-аномалии, структурные аномалии, анти-отладочные паттерны

4. Полный движок (не-PE)

  • 1 МБ: 0.038 с

Основные изменения в версиях

Показать историю версий

v0.7.6 — Расширение структурных валидаторов: каталоги debug и relocations

  • Добавлены два новых структурных валидатора PE — relocations и debug
  • Валидаторы WIN_CERTIFICATE и tls теперь получают структурную информацию из выделенных парсеров структур, независимо от pefile
  • 12 новых кодов причин с таксономиями под-причин, разрешаемыми по приоритету
  • Детерминированный разбор на уровне байтов — без опоры на ленивую интерпретацию pefile
  • 1620 тестов при 100% покрытии

v0.7.5 — Расширение структурных валидаторов

  • Четыре новых структурных валидатора PE — exports, delay-load imports, VS_VERSIONINFO и иерархия ресурсов
  • 24 новых кода причин с таксономиями под-причин, разрешаемыми по приоритету
  • Детерминированный разбор на уровне байтов — без опоры на ленивую интерпретацию pefile
  • Метаданные, значимые для безопасности — характеристики DLL, декодирование имён подсистемы/машины, энтропия по каждому ресурсу
  • 1370 тестов при 100% покрытии — сквозная проверка на реальных бинарных файлах с помощью dumpbin

v0.7.4.1 — Исправление совместимости с Windows

  • Удалена зависимость python-magic, вызывавшая ошибки импорта в Windows

Быстрый старт

Установка

root@kitploit:~
pip install iocx

Извлечение IOC из файла

root@kitploit:~
iocx suspicious.exe

Извлечение из текста

root@kitploit:~
echo "Visit http://bad.example.com" | iocx -

Включение анализа PE

root@kitploit:~
iocx suspicious.exe -a

Python API

root@kitploit:~
from iocx.engine import Engine

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

Пример вывода

IOCX создаёт структурированный, детерминированный JSON, который включает IOC, PE-метаданные, анализ секций, эвристики и индикаторы обфускации.

Пример ниже — сокращённый вывод реального враждебного PE-образца. Он демонстрирует форму и глубину схемы, сохраняя при этом приемлемый для документации размер.

Показать пример JSON-вывода
root@kitploit:~
{
    "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"
                }
            }
        ]
    }
}

Архитектура

root@kitploit:~
iocx/
├── examples/
├── docs/
├── tests/
└── iocx
    ├── detectors/
    ├── parsers/
    ├── plugins/
    ├── cli/
    └── analysis/

Плагинная экосистема и расширяемость

IOCX спроектирован так, чтобы его можно было расширять безопасно и предсказуемо. Плагины являются полноправными компонентами, проверяемыми теми же детерминированными snapshot-тестами, что и основной движок.

Вы можете создавать:

  • пользовательские IOC-детекторы
  • пользовательские regex-правила
  • плагины, понимающие бинарные форматы
  • внутренние эвристики
  • экстракторы для конкретных конвейеров

См.:

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

Обзор экосистемы

IOCX — это больше, чем один бинарный файл; это модульная экосистема:

  • Базовый движок — детерминированное извлечение IOC + анализ PE
  • Плагинная система — пользовательские детекторы и модули анализа
  • Корпус враждебных образцов — некорректные PE-файлы, враждебные строки, фаззинг-образцы
  • Фреймворк snapshot-тестирования — обеспечивает детерминированный вывод
  • Бенчмарки производительности — контролируются в CI
  • Комплект документации — спецификации, контракты и руководства по плагинам

Кто использует IOCX?

IOCX используется в:

  • командах DFIR
  • конвейерах автоматизации SOC
  • security-гейтах CI/CD
  • платформах threat intelligence
  • лабораториях исследования вредоносного ПО
  • командах инженеров по безопасности

Везде, где индикаторы нужно извлекать безопасно, детерминированно и в масштабе, IOCX подходит.


Безопасное тестирование (вредоносное ПО не требуется)

Все тестовые образцы:

  • Синтетические
  • Безвредные
  • Публично безопасные (EICAR, GTUBE)
  • Спроектированы так, чтобы исключить случайную работу с вредоносным ПО

Гарантии производительности

IOCX обеспечивает строгие пороги производительности в CI, чтобы гарантировать:

  • Отсутствие зависаний из-за возвратов в регулярных выражениях
  • Отсутствие патологических замедлений
  • Стабильную производительность между релизами

См.:

  • docs/performance.md

Идентичность проекта и наименование

Название IOCX относится исключительно к официальному движку, опубликованному на:

  • PyPI: https://pypi.org/project/iocx/
  • GitHub: https://github.com/iocx-dev/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
  • Пакет PyPI: https://pypi.org/project/iocx/

Дорожная карта

Развитие IOCX сосредоточено на стабильности, расширяемости и более глубоком покрытии статического анализа. Ниже перечислены текущие направления работы и исследований.

  • Расширенные PE-эвристики (поведение отложенной загрузки, структурные аномалии, паттерны релокаций)
  • Выборочные правила подавления для процессов OSINT, DFIR и threat intelligence
  • Извлечение метаданных ELF и Mach‑O
  • Пакетный режим анализа для процессов с несколькими артефактами
  • Режимы вывода в стиле YARA и хуки обогащения
  • Статический анализ, не зависящий от бинарного формата
  • Кроссплатформенная плагинная экосистема
  • Привязки для языков Rust, Go и Node.js

Участие в разработке

Мы приветствуем:

  • Новые детекторы
  • Улучшения парсеров
  • Обновления документации
  • Синтетические враждебные образцы

Руководство см. в CONTRIBUTING.md.


Безопасность

Если вы обнаружили проблему безопасности, не открывайте issue на GitHub. Следуйте инструкциям в SECURITY.md.


Лицензия

Лицензия MPL‑2.0 — см. LICENSE.

Скачать инструмент
ВозможностьIOCXТипичные IOC-экстракторыПесочницы / динамические инструменты
БезопасностьНулевое выполнение, только статический анализТолько регулярные выражения, нет безопасности для бинарных файловВыполняет недоверенный код (высокий риск)
ДетерминизмПолностью детерминированный выводНедетерминированный при помехахНедетерминированный по своей конструкции
Понимание бинарных форматовПолный разбор PE, эвристикиНет поддержки бинарных файловДа, но небезопасно и медленно
Устойчивость к враждебным воздействиямПротестирован на некорректных PE и враждебных строкахЛегко обходитсяЧасто падает или ошибочно классифицирует
Производительность150–300 МБ/с (текст), 6–15 МБ/с (PE)Сильно варьируетсяЧрезвычайно медленно
Удобство для CI/CDДа — безопасно, детерминированно, быстроЧастичноеНет — небезопасно для конвейеров
Стабильность схемыГарантированаРедкаяОтсутствует
Детектор
Время на 1 МБ
Пропускная способность
Крипто0.0037 s~270 МБ/с
Пути к файлам0.0041 s~250 МБ/с
IP0.0065 s~156 МБ/с
Домены0.0035 s~300 МБ/с
  • Добавлен детектор типа файлов на чистом Python для полной кроссплатформенной переносимости
  • Улучшена логика определения PE за счёт строгой Windows-совместимой валидации
  • Без изменений в поведении извлечения IOC
  • Исправление согласованности --min-length запланировано на v0.7.5

  • v0.7.4 — Расширенный разбор каталогов

    • Полный разбор и валидация Load Config Directory
    • Расширены метаданные Optional Header для нижестоящих эвристик
    • Новые эвристики GuardCF, cookie и аномалий
    • Более быстрый анализ PE
    • 99 PE-фикстур в тестовом наборе; 45 полностью проверены по спецификации

    v0.7.3 — Структурная корректность и детерминированные эвристики

    • Значительное усиление всех структурных валидаторов PE
    • Детерминированное, стабильное для снимков поведение
    • Понятные и согласованные ReasonCodes
    • Более сильные эвристики, основанные на структурной достоверности

    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 — Обнаружение криптовалютных IOC

    • Обнаружение кошельков Ethereum и Bitcoin

    v0.2.0 — Высоконадёжное обнаружение IP-адресов

    • Значительные улучшения IPv4/IPv6