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

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

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

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

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

Категории

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

iocx

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

286541 месяц назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
РепозиторийСайт
Поделиться
# IOCX
### **Детерминированное извлечение IOC с нулевым риском для современных конвейеров безопасности**

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/7470/35e58092394d24631c5bf5a2ef49c2c64bb1726cc5798d35bdaa36800597e402.gif" width="720" alt="IOCX Demo">
</p>

<p align="center"><sub>Статическое извлечение IOC из PE-файла с помощью IOCX CLI</sub></p>

<p align="center">
  <a href="https://pypi.org/project/iocx/"><img src="https://img.shields.io/pypi/v/iocx?logo=pypi&amp;logoColor=white"></a>
  <img src="https://img.shields.io/badge/tests-2802_passed-brightgreen">
  <img src="https://img.shields.io/badge/coverage-100%25-brightgreen">
  <img src="https://img.shields.io/badge/python-3.12-blue">
  <a href="https://github.com/iocx-dev/iocx/actions"><img src="https://img.shields.io/github/actions/workflow/status/iocx-dev/iocx/ci.yml?label=build"></a>
  <a href="https://github.com/iocx-dev/iocx/blob/main/LICENSE"><img src="https://img.shields.io/github/license/iocx-dev/iocx"></a>
</p>

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

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

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

- PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)
- Github: [https://github.com/iocx-dev/iocx](https://github.com/iocx-dev/iocx)
- Website: [https://iocx.dev/](https://iocx.dev/)

---

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

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

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

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

---

# Движок IOCX

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

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

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

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

---

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

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

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

```bash
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, а более широкую таксономию состязательных PE и коммерческий набор фикстур — на [paax.dev](https://paax.dev).

# Что отличает IOCX

| Возможность | **IOCX** | Типичные экстракторы IOC | Песочницы / динамические инструменты |
|-----------|-----------|------------------------|--------------------------|
| **Безопасность** | Нулевое выполнение, только статика | Только регулярные выражения, без бинарной безопасности | Выполняет недоверенный код (высокий риск) |
| **Детерминизм** | Полностью детерминированный вывод | Недетерминирован при шуме | Недетерминирован по своей природе |
| **Учёт бинарного формата** | Полный разбор PE, эвристики | Нет поддержки бинарных форматов | Да, но небезопасно и медленно |
| **Устойчивость к состязательным данным** | Протестирован на искажённых PE, враждебных строках | Легко обходится | Часто падает или неверно классифицирует |
| **Производительность** | 150–300 МБ/с (текст), 6–15 МБ/с (PE) | Крайне изменчива | Чрезвычайно медленно |
| **Дружелюбность к CI/CD** | Да — безопасно, детерминированно, быстро | Частично | Нет — небезопасно для конвейеров |
| **Стабильность схемы** | Гарантирована | Редко | Отсутствует |

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

---

# Сценарии использования

### CI/CD и DevSecOps
- Сканирование бинарных файлов перед релизом
- Обнаружение случайных URL, IP или секретов в сборках
- Обеспечение безопасности с нулевым риском выполнения

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

### Threat Intelligence
- Обработка фидов в масштабе
- Разбор неструктурированных отчётов
- Построение конвейеров обогащения на детерминированном выводе

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

---

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

### **1. Извлечение сырых IOC (текст, логи, буферы)**
**150–300 МБ/с** устойчивой пропускной способности
Быстрый путь — без разбора PE.

| Детектор  | Время на 1 МБ | Пропускная способность |
|-----------|-----------|------------|
| Crypto    | 0.0037 с  | ~270 МБ/с  |
| Filepaths | 0.0041 с  | ~250 МБ/с  |
| IP        | 0.0065 с  | ~156 МБ/с  |
| Domains   | 0.0035 с  | ~300 МБ/с  |

---

### **2. Типичные PE-файлы (~39 КБ)**
- **0.0122 с** (типично)
- **0.0145 с** (с эвристиками)
- **6–15 МБ/с** пропускной способности

---

### **3. Состязательный плотный PE (1.5 МБ)**
- **0.192 с**
- **~7.6 МБ/с** пропускной способности
- Активирует аномалии TLS, структурные аномалии, паттерны anti-debug

---

### **4. Полный движок (не PE)**
- **1 МБ:** 0.038 с

---

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

<details>
<summary><strong>Показать историю версий</strong></summary>
<br>

### v0.7.6.2 — Валидатор таблицы импорта

- Новый детерминированный **структурный валидатор таблицы импорта** (коды причин `IMPORT_*`).
- `version_info` теперь разбирается и отображается на **каждом** уровне анализа (не только `-a full`), через новую ограниченную публичную проекцию.
- Переработан CLI: брендированный вывод `--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 за счёт строгой проверки 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

</details>

---

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

### Установка
```bash
pip install iocx
```

### Извлечение IOC из файла
```bash
iocx suspicious.exe
```

### Извлечение из текста
```bash
echo "Visit http://bad.example.com" | iocx -
```

### Включение анализа PE
```bash
iocx suspicious.exe -a
```

### Python API
```python
from iocx.engine import Engine

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

---

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

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

<details>
<summary><strong>Показать пример вывода JSON</strong></summary>

```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"
                }
            }
        ]
    }
}
```

</details>

---

# Архитектура

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

---

# Экосистема плагинов и расширяемость

IOCX спроектирован для безопасного и предсказуемого расширения.
Плагины — **полноправные граждане**, валидируемые теми же детерминированными тестами по снимкам, что и ядро движка.

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

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

См.:

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

---

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

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

- **Ядро движка** — детерминированное извлечение IOC + анализ PE
- **Система плагинов** — пользовательские детекторы и модули анализа
- **Состязательный корпус** — искажённые PE, враждебные строки, фаззинг-образцы
- **Фреймворк тестирования по снимкам** — обеспечивает детерминированный вывод
- **Бенчмарки производительности** — применяются в CI
- **Набор документации** — спецификации, контракты и руководства по плагинам

---

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

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

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

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

---

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

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

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

---

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

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

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

См.:

- `docs/performance.md`

---

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

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

- PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)
- GitHub: [https://github.com/iocx-dev/iocx](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)
- Мета-репозиторий плагинов: [https://github.com/iocx-dev/iocx-plugins](https://github.com/iocx-dev/iocx-plugins)
- Документация: [https://github.com/iocx-dev/iocx/tree/main/docs/specs](https://github.com/iocx-dev/iocx/tree/main/docs/specs)
- Пакет PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)

---

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

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

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

---

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

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

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

См. `CONTRIBUTING.md` для руководств.

---

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

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

---

# Лицензия

Лицензия MPL‑2.0 — см. `LICENSE`.
Скачать инструмент