Scan self-hosted server logs for signs of compromise without deploying a SIEM
Detect beaconing, suspicious DNS, or port scans in Zeek network logs
Spot rare or unusual events in syslog or the systemd journal
Flag anomalous per-user activity in AWS CloudTrail logs
| helixmap/sigwood | chenj-freedom/bilibili_downloader | gianluca-improta/cinekive | |
|---|---|---|---|
| Stars | 97 | 97 | 97 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | ops devops | general | general |
Figures from each repo's GitHub metadata at analysis time.
Install with pipx or pip, no config, database, or account required to run against existing logs.
sigwood is a command-line tool for threat hunting through logs you already have, built for people who self-host and want to check their own systems for signs of compromise. You point it at a folder of logs from Zeek, Pi-hole, syslog, or CloudTrail, and it profiles what is in them, then runs a set of detectors looking for things like periodic network callbacks, suspicious DNS lookups, port scans, rare syslog events, unusually long connections, and unusual CloudTrail activity. The project is explicit about what it is not: not a SIEM, not an agent, not a magic black box. There is nothing to deploy, no database, no background service, and no account to create. You install it, point it at a directory of logs sitting on disk, and read the output, and your logs never leave your machine. Each finding names the specific technique behind it, such as an FFT analysis of connection timing or clustering over DNS query behavior, so you can understand why something was flagged rather than just trusting a score. Before running the full set of detectors, you can use a digest command to get a quick factual summary of a log file, like its time span and top talkers, so you know where to focus. There is also a graph command that turns activity into a visual HTML report. The tool ships with a small synthetic set of example logs, including one simulated compromised host, so you can try it out before pointing it at real data. It filters out known-harmless infrastructure by default before analysis, and reports how much noise it removed. Output can be produced as readable text, HTML, or PDF reports, as JSON for scripting, as CSV for triage lists, or as an animated graph. It requires Python 3.11 or newer and can be installed with pipx or pip. The project describes itself as early and pre-1.0, though its six detectors are covered by tests. It is released under the MIT license.
A local, no-server command-line tool that hunts for suspicious activity in Zeek, Pi-hole, syslog, and CloudTrail logs you already have.
Mainly Python. The stack also includes Python, Zeek, CloudTrail.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.