Overview
Sundew is a passive honeypot. It serves fabricated data, logs inbound requests, and never executes attacker-supplied code. The system has four layers:- Trap surfaces receive incoming requests (MCP, REST API, AI discovery endpoints)
- Fingerprinter analyzes each request across 5 behavioral signals
- Classifier maps composite scores to attack categories
- Storage persists events to SQLite and streaming JSONL logs
Request flow
Classification
The fingerprinter produces a composite score from 0.0 to 1.0. The classifier maps this to four categories:
Sessions are grouped by source IP and temporal proximity. Classification is updated as more requests arrive and the composite score stabilizes.
Data storage
Events are persisted in two formats:- SQLite (
./data/sundew.db) -structured storage for queries, sessions, and aggregated fingerprints - JSONL (
./data/events.jsonl) -append-only streaming log for real-time processing and export
sundew query) or the MCP server (sundew mcp-client).