Zurück zu den Updates
New releaseAug 5, 2026

Zircolite v3.8.1

Ein eigenständiges SIGMA-basiertes Erkennungstool für EVTX-, Auditd- und Sysmon-for-Linux-Logs.

Teilen

Zircolite

Eigenständige Sigma-basierte Erkennung für EVTX-, Auditd-, Sysmon for Linux-, XML-, CSV- und JSON-Logs

python version

Zircolite führt Sigma-Regeln auf deinen Logs aus. Es flacht Ereignisse in SQLite ab, wandelt jede Regel in eine SQL-Abfrage um und meldet, was übereinstimmt, offline, mit einem einzigen Befehl.

Zircolite in einem Terminal

  • Viele Log-Formate, automatisch erkannt: Windows EVTX (binär, XML, JSON), Auditd, Sysmon for Linux, EVTXtract, CSV, XML und JSON, unkomprimiert oder in gzip-, bzip2-, ZIP- und 7-Zip- Archiven.
  • Sigma-Regeln unverändert: natives YAML, konvertiert mit pySigma, oder die fertigen Regelsätze in rules/. Korrelationsregeln inklusive.
  • Schnell: ein kompilierter Flattening-Kernel, parallele Worker und Regel-Prefiltering; siehe den Benchmark.
  • Feldverarbeitung: gepackte Felder aufteilen und sandboxed Python-Transformationen ausführen (Base64- Dekodierung, IOC-Extraktion, LOLBin-Erkennung, …).
  • Exporte: JSON, CSV und Vorlagen für Splunk, Elastic, OpenSearch, Timesketch, SARIF und ATT&CK Navigator.
  • Timeline: jede Erkennung als eine Zeile in zeitlicher Reihenfolge, mit einer einzeiligen Zusammenfassung des Ereignisses, als CSV oder JSON Lines (--timeline).
  • Zircolite Viewer: jedes Ereignis und jede Erkennung in einer Zip-Datei, die sich offline im Browser öffnen lässt.

📖 Lies die Dokumentation, auch in docs/.

Installation

Eigenständige Binärdatei, nichts zu installieren: Lade die Zip-Datei für deine Plattform aus den Releases herunter (Linux x64 und ARM64, macOS Apple Silicon, Windows x64 und ARM64).

Docker:

docker pull wagga40/zircolite:latest

Aus der Quelle mit PDM, Python 3.11 bis 3.14:

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

pdm use hält PDM von Python 3.15 und Free-Threaded-Builds fern, die noch nicht unterstützt werden; jede Version von 3.11 bis 3.13 funktioniert ebenfalls. Mit uv:

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

Bei der Installation aus dem Quellcode wird ein nativer Flattening-Kernel kompiliert, wofür ein C-Compiler erforderlich ist; ohne einen solchen wird auf einen langsameren Python-Kernel zurückgegriffen. Siehe Installation für Compiler-Pakete, Binär- Details (macOS-Quarantäne, Prüfsummen) und Docker-Berechtigungen.

Schnellstart

# 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

Mit einem Binary führen Sie ./Zircolite statt python3 zircolite.py aus. Aus dem Quellcode stellen Sie dem Befehl pdm run (oder uv run) voran, sofern die Umgebung nicht aktiv ist. Mit Docker mounten Sie die Logs und geben absolute Pfade an:

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

Auf einem Linux-Host fügen Sie --user "$(id -u):$(id -g)" und -l /case/output/zircolite.log hinzu: Das Image läuft als unprivilegierter Benutzer, der nicht in ein Verzeichnis schreiben kann, das Ihnen gehört.

Die Erkennungen werden in detected_events.json geschrieben. Protokolle zum Ausprobieren finden Sie unter EVTX-ATTACK-SAMPLES.

[!IMPORTANT] Die Standard-Regelsätze können verrauschte oder langsame Regeln enthalten. Wählen Sie Regeln für Ihre Umgebung aus, und aktualisieren Sie sie mit python3 zircolite.py -U.

Funktionsweise

Zircolite flacht jedes Ereignis zu einer Zeile einer SQLite-Tabelle ab, wandelt jede Sigma-Regel in eine SQL-Abfrage über diese Tabelle um und meldet die Zeilen, die übereinstimmen.

Funktionsweise von Zircolite: Protokolle werden zu Zeilen einer SQLite-Tabelle abgeflacht, Sigma-Regeln werden zu SQL-Abfragen und übereinstimmende Zeilen werden zu Erkennungen

Zircolite Viewer

--package schreibt eine Zip-Datei, die jedes Ereignis des Laufs enthält, wobei die Erkennungen und Korrelationswarnungen mit ihnen verknüpft sind. Entpacken Sie sie und öffnen Sie index.html: Der Viewer läuft offline und bietet eine Übersicht, die Erkennungen, eine Ereignistabelle, die Sie durchsuchen, filtern und nach jeder Spalte sortieren können, eine Zeitleiste, die ATT&CK-Matrix, Entitäten, die Stapelung der seltensten Werte, Anmeldungen und laterale Bewegung, Prozessbäume und eine SQL-Konsole. Teilen Sie ein Paket so, wie Sie die Protokolle teilen würden, aus denen es stammt. Siehe Zircolite Viewer.

Ein Rundgang durch den Zircolite Viewer: die Übersicht, eine kritische Erkennung und ihre Ereignisse, ein Spaltenfilter und die seltensten Werte einer Spalte, ein Ereignis mit dekodiertem PowerShell-Befehl und seiner Prozessaktivität, die Zeitleiste, die ATT&CK-Matrix, Entitäten, Stapelung, laterale Bewegung und privilegierte Sitzungen, der Prozessbaum und die SQL-Konsole

Benchmark

Mediane Wanduhrzeit auf einem 10-Kern-Apple M1 Max, jedes Tool mit seinen Standardeinstellungen und eigenen Regeln:

Tool4 Sysmon EVTX, 478 MB8 EVTX über 11 Kanäle, 13,3 GB
Zircolite7,7 s30,2 s
Hayabusa 4.2.023,3 s500,3 s
Chainsaw 2.17.148,3 s183,0 s

Zircolite verwendet mehr Speicher als die anderen, durch seine parallelen Worker (--no-parallel schaltet sie ab), und die Regelsätze unterscheiden sich, sodass die Erkennungszahlen nicht vergleichbar sind. Siehe Benchmark für Speicher, Einrichtung und Reproduktion.

Kategorien