Categories
self-hosted cybersecurity threat-detection security-monitoring honeypot deception blue-team anti-crawlerStars
Forks
Watchers
Developer links
Krawl
Leave a fake door unlocked and see who walks through: Krawl is a self-hosted honeypot that poses as a sloppy web server and records everything scanners and scrapers try. Fake WordPress, phpMyAdmin, and admin logins. Every attempt logged, every credential captured. A .env file leaking fake database strings, AWS keys, and Stripe secrets. SQL injection, XSS, path traversal, XXE, and command injection traps that answer with believable fake output. SQLMap gets a different database error on every request. Malicious crawlers wander an endless maze of random links. An optional tarpit adds delay and word salad that cost scrapers time, storage, and tokens. Optional AI-generated pages write a plausible decoy for any path an attacker requests. A hidden dashboard shows an attacker map, top IPs, captured credentials, and per-IP forensics. TLSH fuzzy hashing groups webshell variants into campaigns. A behavior score labels each IP attacker, bad crawler, good crawler, or regular user. Export bans as raw lists, iptables, or nftables rules, with guides for Fail2Ban, OPNsense, and RouterOS. A canary-token link in decoy pages emails you the IP and user agent of anyone who follows it. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- See Exactly What Attackers Try
- Requests are logged with their IP, path, headers, and raw body, and captured credentials, injection payloads, and uploaded files appear in the dashboard with geolocation, ISP, and ASN details.
- Slow Down Scrapers And Scanners
- Malicious crawlers get endless random-link pages, and an optional tarpit adds a configurable delay plus meaningless word salad to every decoy response, costing AI scrapers time, storage, and tokens.
- Turn Detections Into Firewall Rules
- Attacker IPs export as raw lists, iptables, or nftables rules with Fail2Ban, OPNsense, pfSense, and RouterOS guides, and bans can sync to a Cloudflare account IP list for WAF rules.
- Start Small, Scale When Needed
- Standalone mode runs as a single container with SQLite and no external services, while scalable mode adds PostgreSQL and Redis for replicas, and a Helm chart and Kubernetes manifests are included.
Features
- Realistic Decoy Web Apps
- Fake WordPress, phpMyAdmin, and admin logins, .env files with fake AWS and Stripe keys, and backup directory listings lure scanners, with every login attempt delayed one second and logged.
- Injection And Traversal Traps
- SQL injection, XSS, path traversal, XXE, and command injection endpoints return believable fake output, and SQLMap receives a different randomized database error on every request while payloads are logged.
- AI-Generated Deception Pages
- OpenRouter, OpenAI, or a self-hosted llama.cpp or Ollama model writes a plausible HTML page for any requested path, with caching, a daily request cap, and fallback to standard decoys.
- Hidden Threat Dashboard
- A secret-path dashboard built with Alpine.js, HTMX, Leaflet, and Chart.js shows counters, a clustered attacker map, top IPs, captured credentials, and per-IP forensics; admin tabs need a password.
- Campaign Clustering And Reputation
- TLSH fuzzy hashing groups webshells and payload variants into campaigns, while a weighted score from HTTP methods, robots.txt violations, timing, and user agents labels each IP attacker or crawler.
- Alerts And Monitoring
- A canarytokens.org link appears on every tenth decoy page and emails you the visitor's IP and user agent when followed, while Prometheus metrics and a Grafana dashboard JSON chart traffic.