
Zircolite v3.8.0
Una herramienta de detección independiente basada en SIGMA para registros de EVTX, Auditd y Sysmon de Linux
Detección autónoma basada en Sigma para registros EVTX, Auditd, Sysmon para Linux, XML, CSV y JSON
Zircolite ejecuta reglas de Sigma sobre tus registros. Aplana los eventos en SQLite, convierte cada regla en una consulta SQL e informa de las coincidencias, sin conexión, con un solo comando.

- Muchos formatos de registro, detectados automáticamente: Windows EVTX (binario, XML, JSON), Auditd, Sysmon para Linux, EVTXtract, CSV, XML y JSON, en texto plano o en archivos gzip, bzip2, ZIP y 7-Zip.
- Reglas Sigma tal cual: YAML nativo convertido con pySigma, o los conjuntos de reglas ya preparados en
rules/. Incluye reglas de correlación. - Rápido: un kernel de aplanamiento compilado, trabajadores en paralelo y prefiltrado de reglas; consulta el benchmark.
- Procesamiento de campos: divide campos empaquetados y ejecuta transformaciones de Python en sandbox (decodificación Base64, extracción de IOC, detección de LOLBin, …).
- Exportaciones: JSON, CSV y plantillas para Splunk, Elastic, OpenSearch, Timesketch, SARIF y ATT&CK Navigator.
- Línea de tiempo: cada detección como una fila en orden temporal, con un resumen de una línea del evento, en CSV o JSON lines (
--timeline). - Zircolite Viewer: cada evento y detección en un único zip que se abre sin conexión en un navegador.
📖 Lee la documentación, también en docs/.
Instalación
Binario autónomo, nada que instalar: descarga el zip para tu plataforma desde las releases (Linux x64 y ARM64, macOS Apple silicon, Windows x64 y ARM64).
Docker:
docker pull wagga40/zircolite:latest
Desde el código fuente con PDM, Python 3.11 a 3.14:
git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
pdm use -f 3.14
pdm install
pdm use mantiene a PDM alejado de Python 3.15 y de las compilaciones free-threaded, que
aún no son compatibles; cualquiera de 3.11 a 3.13 también funciona. Con
uv:
git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
uv sync --python 3.14+gil
Las instalaciones desde el código fuente compilan un kernel nativo de aplanamiento y necesitan un compilador de C para ello; sin uno, recurren a un kernel de Python más lento. Consulta Instalación para los paquetes de compiladores, los detalles de los binarios (cuarentena de macOS, sumas de verificación) y los permisos de Docker.
Inicio rápido
# 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
Con un binario, ejecute ./Zircolite en lugar de python3 zircolite.py. Desde el código fuente, prefije el comando con pdm run (o uv run) a menos que el entorno esté activo. Con Docker, monte los logs y proporcione rutas absolutas:
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
En un host Linux, añade --user "$(id -u):$(id -g)" y -l /case/output/zircolite.log: la
imagen se ejecuta como un usuario sin privilegios que no puede escribir en un directorio de tu propiedad.
Las detecciones se guardan en detected_events.json. Para obtener registros con los que probarlo, consulta
EVTX-ATTACK-SAMPLES.
[!IMPORTANT] Los conjuntos de reglas predeterminados pueden contener reglas ruidosas o lentas. Selecciona reglas para tu entorno, y actualízalas con
python3 zircolite.py -U.
Cómo funciona
Zircolite aplana cada evento en una fila de una tabla SQLite, convierte cada regla Sigma en una consulta SQL sobre esa tabla y reporta las filas que coinciden.
Zircolite Viewer
--package escribe un único zip que contiene todos los eventos de la ejecución, con las detecciones y
las alertas de correlación vinculadas a ellos. Extráelo y abre index.html: el visor funciona sin conexión
y ofrece una vista general, las detecciones, una tabla de eventos que puedes buscar, filtrar y ordenar por
cualquier columna, una línea de tiempo, la matriz ATT&CK, entidades, apilamiento de los valores más raros, inicios de sesión y
movimiento lateral, árboles de procesos y una consola SQL. Comparte un paquete como compartirías los registros de los que
proviene. Consulta Zircolite Viewer.

Benchmark
Tiempo de ejecución medio en un Apple M1 Max de 10 núcleos, cada herramienta con sus valores predeterminados y sus propias reglas:
| Herramienta | 4 EVTX de Sysmon, 478 MB | 8 EVTX de más de 11 canales, 13,3 GB |
|---|---|---|
| Zircolite | 7,7 s | 30,2 s |
| Hayabusa 4.2.0 | 23,3 s | 500,3 s |
| Chainsaw 2.17.1 | 48,3 s | 183,0 s |
Zircolite usa más memoria que las demás, debido a sus workers paralelos (--no-parallel
los desactiva), y los conjuntos de reglas difieren, por lo que los recuentos de detecciones no son comparables. Consulta
Benchmark para ver la memoria, la configuración y cómo reproducirlo.