
iocx v0.7.6
Расширяемый детерминированный движок статического анализа, извлекающий высокосигнальные IOC из PE-файлов и текста, созданный для автоматизации SOC и современных конвейеров анализа угроз.
IOCX
Детерминированное извлечение IOC с нулевым риском для современных конвейеров безопасности
Статическое извлечение IOC из PE-файла с помощью IOCX CLI
Официальный проект IOCX
Это оригинальный движок IOCX для детерминированного статического извлечения IOC и анализа PE. Любые другие репозитории, использующие имя "iocx", не связаны с этим проектом.
Официальные ссылки:
- PyPI: https://pypi.org/project/iocx/
- Github: https://github.com/iocx-dev/iocx
- Website: https://iocx.dev/
Почему IOCX важен
Современное вредоносное ПО по умолчанию является состязательным — искажённым, уклончивым и спроектированным так, чтобы ломать наивные экстракторы.
- Инструменты, не учитывающие бинарный формат, рушатся на искажённых PE
- Песочницы небезопасны и неприменимы в CI/CD
- Воспроизводимость критична для автоматизированных конвейеров
IOCX создан для сред, где корректность и детерминизм действительно имеют значение.
Движок IOCX
IOCX — это официальный движок статического извлечения IOC — детерминированная система, учитывающая бинарный формат, созданная для DFIR, автоматизации SOC, безопасности CI/CD и крупномасштабных конвейеров threat-intel.
В отличие от экстракторов, основанных только на регулярных выражениях, или инструментов, зависящих от песочницы, 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. Проектирование с приоритетом состязательности
Искажённые PE, повреждённые RVA, враждебные строки — IOCX воспринимает их как обычные входные данные.
4. Стабильность схемы как контракт
Нижестоящие системы никогда не должны ломаться при обновлении.
5. Производительность без компромиссов
150–300 МБ/с на сыром тексте. 6–15 МБ/с на типичных PE. Предсказуемость даже при наихудшей состязательной нагрузке.
Эти обязательства основаны на опубликованной исследовательской методологии структурного анализа PE — детерминированное построение фикстур, дисциплина единичной аномалии и поведение загрузчика Windows в качестве оракула корректности. Полную методологию см. в docs/methodology.md, а более широкую таксономию состязательных PE и коммерческий набор фикстур — на 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 с