trellis
Logs in, alerts out.
A small SIEM written in Python, built to learn how tools like Splunk and Wazuh work under the hood. It reads SSH, web server and grapevine scan logs, normalizes them into one event format, correlates them with detection rules and shows the alerts on a web dashboard.
- 20 detection rules in YAML for SSH brute force, privilege escalation, web attacks and newly exposed services, each mapped to MITRE ATT&CK
- Four rule types: single match, threshold (N events in a time window), sequence (failed logins followed by a success) and new value (a port that wasn't open in the last scan)
- Correlates across sources: a sample attack from web recon to a root shell, a backdoor account and a new open port turns 61 log events into 20 alerts
- Defensive parsers so attacker-controlled log text can't spoof a source IP or hide a request, a live mode that alerts as lines are written, and 67 unit tests
- Python
- Flask
- SQLite
- PyYAML
- pytest

