Multi-source honeypot aggregator. Unifies Cowrie SSH honeypot, HTTP honeypot, and canary token events into a single API β ready to feed dashboards, SIEM, or alerting pipelines.
| Component | Port | Description |
|---|---|---|
canary_server.py |
8181 | HTTP canary token server β any hit on /canary/<token> triggers an alert |
http_honeypot.py |
8180 | Fake HTTP service β logs all requests with full headers and body |
sentinel_aggregator.py |
8282 | Unified API β aggregates Cowrie + HTTP + canary events |
bash start.shOr individually:
python3 canary_server.py &
python3 http_honeypot.py &
python3 sentinel_aggregator.pyGET /api/sentinel β all recent events (Cowrie + HTTP + canary)
GET /api/sentinel/cowrie β Cowrie SSH events only
GET /api/sentinel/http β HTTP honeypot events only
GET /api/sentinel/canary β canary token hits only
GET /api/sentinel/stats β event counts by source and type
GET /health
Deploy canary tokens anywhere β documents, config files, URLs β and get alerted the moment they're accessed:
# Place this URL in a sensitive file
curl http://your-server:8181/canary/my-secret-doc-2024
# β Triggers immediate alert with requester IP, time, user-agentSENTINEL reads Cowrie's NDJSON log file directly. Point it at your Cowrie instance:
COWRIE_LOG = "/home/cowrie/var/log/cowrie/cowrie.json"The aggregator exposes a clean JSON API that feeds directly into lab-dashboard, Grafana, or any SIEM.
MIT