Назад к обновлениям
New releaseAug 5, 2026

Zircolite v3.8.1

Автономный инструмент обнаружения на основе SIGMA для журналов EVTX, Auditd и Sysmon для Linux

Поделиться

Zircolite

Автономное обнаружение на основе Sigma для журналов EVTX, Auditd, Sysmon for Linux, XML, CSV и JSON

python version

Zircolite запускает правила Sigma по вашим журналам. Он преобразует события в плоскую структуру в SQLite, превращает каждое правило в SQL-запрос и сообщает о совпадениях, офлайн, одной командой.

Zircolite в терминале

  • Множество форматов журналов, определяемых автоматически: Windows EVTX (бинарный, XML, JSON), Auditd, Sysmon for Linux, EVTXtract, CSV, XML и JSON, в обычном виде или в архивах gzip, bzip2, ZIP и 7-Zip.
  • Правила Sigma как есть: нативный YAML, преобразованный с помощью pySigma, или готовые наборы правил в rules/. Включая правила корреляции.
  • Быстро: скомпилированное ядро преобразования, параллельные обработчики и предварительная фильтрация правил; см. бенчмарк.
  • Обработка полей: разделение упакованных полей и запуск изолированных Python-преобразований (декодирование Base64, извлечение IOC, обнаружение LOLBin, …).
  • Экспорт: JSON, CSV и шаблоны для Splunk, Elastic, OpenSearch, Timesketch, SARIF и ATT&CK Navigator.
  • Таймлайн: каждое обнаружение в виде одной строки в хронологическом порядке, с однострочной сводкой события, в формате CSV или JSON lines (--timeline).
  • Zircolite Viewer: каждое событие и обнаружение в одном zip-архиве, который открывается офлайн в браузере.

📖 Читайте документацию, также в docs/.

Установка

Автономный бинарный файл, ничего устанавливать не нужно: скачайте zip для вашей платформы из релизов (Linux x64 и ARM64, macOS Apple silicon, Windows x64 и ARM64).

Docker:

docker pull wagga40/zircolite:latest

Из исходников с PDM, Python 3.11 до 3.14:

git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
pdm use -f 3.14
pdm install

pdm use удерживает PDM от Python 3.15 и сборок без GIL, которые пока не поддерживаются; подойдёт любая версия от 3.11 до 3.13. С uv:

git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
uv sync --python 3.14+gil

Исходные установки компилируют нативное ядро выравнивания и требуют для этого компилятор C; без него они переключаются на более медленное ядро Python. См. Установка для пакетов компилятора, сведений о бинарных файлах (macOS quarantine, контрольные суммы) и разрешений Docker.

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

# Windows logs, with the default ruleset (rules/rules_windows_merged.json)
python3 zircolite.py --events sysmon.evtx

# Linux logs: the format is detected
python3 zircolite.py --events auditd.log --ruleset rules/rules_linux.json

# Native Sigma rules, through pySigma pipelines
python3 zircolite.py --events logs/ --ruleset ./sigma/rules/windows/process_creation \
    --pipeline sysmon --pipeline windows-logsources

# Every event and detection, for the Zircolite Viewer
python3 zircolite.py --events logs/ --package

# The detections as a timeline, for Timeline Explorer or a spreadsheet
python3 zircolite.py --events logs/ --timeline

С бинарным файлом запускайте ./Zircolite вместо python3 zircolite.py. Из исходников добавляйте к команде префикс pdm run (или uv run), если окружение не активировано. С Docker монтируйте логи и указывайте абсолютные пути:

docker run --rm --tty -v $PWD:/case/input:ro -v $PWD:/case/output \
    wagga40/zircolite:latest --events /case/input -o /case/output/detected_events.json

На Linux-хосте добавьте --user "$(id -u):$(id -g)" и -l /case/output/zircolite.log: образ запускается от непривилегированного пользователя, который не может писать в принадлежащий вам каталог.

Результаты детектирования записываются в detected_events.json. Журналы для проверки см. в EVTX-ATTACK-SAMPLES.

[!IMPORTANT] Наборы правил по умолчанию могут содержать шумные или медленные правила. Выберите правила для своей среды и обновляйте их с помощью python3 zircolite.py -U.

Как это работает

Zircolite преобразует каждое событие в строку таблицы SQLite, превращает каждое правило Sigma в SQL-запрос к этой таблице и выводит строки, соответствующие запросу.

Как работает Zircolite: журналы преобразуются в строки таблицы SQLite, правила Sigma становятся SQL-запросами, а совпавшие строки становятся детектами

Zircolite Viewer

--package записывает один zip-архив со всеми событиями запуска, со связанными с ними детектами и оповещениями корреляции. Распакуйте его и откройте index.html: просмотрщик работает офлайн и предлагает обзор, детекты, таблицу событий с поиском, фильтрацией и сортировкой по любому столбцу, временную шкалу, матрицу ATT&CK, сущности, стекинг самых редких значений, входы в систему и боковое перемещение, деревья процессов и SQL-консоль. Делитесь пакетом так же, как делились бы журналами, из которых он получен. См. Zircolite Viewer.

Обзор Zircolite Viewer: обзор, критический детект и его события, фильтр по столбцу и самые редкие значения столбца, событие с декодированной командой PowerShell и его активностью процессов, временная шкала, матрица ATT&CK, сущности, стекинг, боковое перемещение и привилегированные сессии, дерево процессов и SQL-консоль

Бенчмарк

Медианное время выполнения на 10-ядерном Apple M1 Max, каждый инструмент с настройками по умолчанию и своими правилами:

Инструмент4 EVTX Sysmon, 478 МБ8 EVTX по 11 каналам, 13,3 ГБ
Zircolite7,7 с30,2 с
Hayabusa 4.2.023,3 с500,3 с
Chainsaw 2.17.148,3 с183,0 с

Zircolite использует больше памяти, чем остальные, из-за параллельных воркеров (--no-parallel отключает их), а наборы правил различаются, поэтому количество детектов сравнивать нельзя. См. Бенчмарк для информации о памяти, настройке и воспроизведении.

Руководства, ссылки и связанные проекты

Руководства, написанные для более ранних версий:

Категории