-=[ WHAT IS THIS ]=-
honeypot-auditor asks one rude question:
Does this IP behave like a low-interaction honeypot, or like something that might actually bill someone for downtime?
Passive intel plus active, non-destructive probes across the usual decoy faces. Outputs a weighted Honeyscore (0–100%), Rich console table, and JSON report.
[ BASIC ] Shodan · Nmap NSE · 16 protocol engines · 4 detection strategies each
[ DEEP ] +6 cross-protocol behavioral axes (shell · OS · stack · FSM · co-tenancy · temporal)
(flag: --deep · more intrusive · same authorization rules)
“elite? nah. just consistent timeouts and an honest --confirm-authorized.”
-=[ LIVE DEMOS ]=-
>>> COWRIE ON :2222 · DEEP AUDIT <<<
>>> DIONAEA BUFFET · FTP/HTTP/SMB <<<
-=[ INSTALLATION ]=-
python3 -m venv .venv && source .venv/bin/activate pip install honeypot-auditor pip install "honeypot-auditor[full]" # + nmap impacket shodan scapy honeypot-auditor --version
Read more
| Install | Unlocks |
|---|---|
pip install honeypot-auditor | Core probes (Paramiko + Requests + stdlib) |
pip install "honeypot-auditor[full]" | + Nmap · SMB/Impacket · Shodan SDK · Scapy · deep telnet |
-=[ QUICKSTART / COMMANDS ]=-
# help · figlet header + Rich options honeypot-auditor --help # local lab · default = IANA + docker/lab ports (22 and 2222, …) honeypot-auditor --target 127.0.0.1 --skip-nmap # go deep · six extra detection axes · still no exploits honeypot-auditor --target 127.0.0.1 --skip-nmap --deep # subnet sweep · IPv4 CIDR up to /24 · parallel (Shodan skipped per host) honeypot-auditor --target 192.168.1.0/24 --skip-nmap --scan-concurrency 16 \ --confirm-authorized --output subnet-audit.json # internet-facing · need explicit ack honeypot-auditor --target 203.0.113.10 --confirm-authorized --output report.json # extra SSH port (in addition to 22 and 2222) honeypot-auditor --target HOST -p 22 --confirm-authorized --deep --skip-nmap
-=[ CLI FLAGS ]=-
The CLI is built on Rich — colored help, a figlet header on --help,
and a live progress bar while probes run in parallel. Most flags tune a single audit:
which ports to hit, how deep to go, timeouts, and where to write JSON.
For analysis, use -v / --verbose. The default view is the score
panel only; verbose mode prints the strategy breakdown, per-protocol matrix, full indicator
table, why-this-score notes, and run metadata — the fastest way to understand what fired and why.
Read more
| Flag | Description |
|---|---|
-h, --help, /help, /? | Rich-styled options + figlet H-AUDITOR header |
--version | Print version and exit |
--target | IP, hostname, or IPv4 CIDR (max /24, 254 hosts) |
--confirm-authorized | Required when any scanned IP is public (host or subnet) |
--preset | both (default: IANA + lab), iana, or docker-research |
-p, --port | Only these TCP ports (nmap-style; repeatable or 22,2222). Omit for full preset |
--ports | Per-protocol override (ssh=2222,ftp=9); map unused faces to =9 to skip |
-v, --verbose | Strategy breakdown, per-protocol matrix, indicator table, why-this-score, run notes |
--deep | Shell semantics, OS coherence, HASSH/TCP stack, FSM fuzz, co-tenancy, temporal (incl. concurrent-load latency)/egress |
--safe-mode | Handshake-only; disables deep shell/path probes |
--profile | audit (default), blend (browser mimesis), safe |
--proxy | SOCKS5 egress (socks5h:// remote DNS preferred) |
--passive-first | Shodan before active; skip active when passive score high |
--osint-only | Shodan only — no TCP probes |
--dual-stack | Resolve A+AAAA and compare IPv4 vs IPv6 results |
--jitter | Fraction of timeout as max random delay (e.g. 0.3) |
--jitter-ms | Random delay range before probes (e.g. 50-500) |
--max-concurrent | Global socket concurrency budget (default 32) |
--seed | RNG seed for blend profile TLS/UA rotation |
--preset deception-audit | Blue-team QA preset (both ports + deep) |
--format sarif | Export SARIF 2.1.0 for DevSecOps pipelines |
check-sig | Validate declarative signature pack offline |
-n, --with-nmap | Run Nmap -sV / NSE phase (slow; off by default) |
--shodan-key | Shodan API key (or set SHODAN_API_KEY); skipped per-host on subnet scans |
--scan-concurrency | Parallel hosts for CIDR scans (default 8) |
--timeout | Socket timeout in seconds (default 3) |
--output | JSON path (default honeypot-audit-<ip>.json; subnet → combined summary + hosts) |
-=[ STRATEGIES ]=-
Honeyscore adds triggered category weights from the table below. Different categories stack — e.g. static signature (20%) plus state non-persistence (25%) = 45%.
Multi-protocol corroboration is how deny-all buffets score without Shodan or any-password: when basic tells fire on more than one protocol, each protocol beyond the first adds +5%, capped at +35%. Example: telnet static tell + ftp state tell → 20 + 25 + 5 = 50% Suspected.
Basic mode category weights:
| Category | Weight |
|---|---|
| Shodan intel | 25% |
| Arbitrary auth | 30% |
| State non-persistence | 25% |
| Static signature | 20% |
| Co-tenancy | 15% |
Read more
The protocol table shows how many of the three probe strategies (arbitrary auth · state non-persistence · static signature) are active per face — up to 3. Shodan and co-tenancy are host-level, not counted in that column.
Co-tenancy (15%) fires when ≥5 protocol lures hit and another tell already corroborates — not on multi-face research stacks alone.
--deep adds five behavioral categories on top of the basic weights:
| Deep category | Weight |
|---|---|
| Shell execution semantics | 18% |
| Cross-artifact OS coherence | 15% |
| HASSH / TCP stack fingerprint | 12% |
| Protocol FSM conformance | 12% |
| Temporal / latency behavior | 10% |
Deep co-tenancy probes (Modbus, SNMP, DNS, IPP, POP) count responsive IT lures but still require corroboration before they contribute to the co-tenancy category.
VERDICT BANDS: [##########----------] < 30% LIKELY REAL HOST [################----] 30-59% SUSPECTED HONEYPOT [####################] >= 60% CONFIRMED HONEYPOT
-=[ SUPPORTED PROTOCOLS / PORTS ]=-
16 protocol engines in the current version. Each uses up to 3 probe strategies (arbitrary auth · state non-persistence · static signature). The Strategies column is how many of those three are active for that protocol in this release — not Shodan, co-tenancy, or individual indicator checks (33 active strategy slots across all protocols).
Default preset (--preset both) probes IANA well-known ports and
common lab/docker aliases on the same faces. Restrict with -p 22 /
--port 22,2222 (nmap-style). Override a protocol with
--ports ssh=2222. Map unused faces to a closed port (ftp=9) so skips
do not inflate the score. Closed faces are skipped, not scored.
Read more
| Protocol | Default ports (iana · lab) | Strategies |
|---|---|---|
| SSH | 22 · 2222 | 3 |
| Telnet | 23 · 2323 | 3 |
| FTP | 21 · 2121 | 3 |
| SMTP | 25 · 2525 | 3 |
| Redis | 6379 · 6379 | 3 |
| SMB | 445 · 1445 | 2 |
| VNC | 5900 · 5000 | 2 |
| MySQL | 3306 · 3306 | 2 |
| Postgres | 5432 · 5432 | 2 |
| RDP | 3389 · 3389 | 2 |
| MSSQL | 1433 · 1433 | 2 |
| MongoDB | 27017 · 27017 | 2 |
| HTTP | 80 / 443 · 8081 | 1 |
| SIP | 5060 · 5060 | 1 |
| Git | 9418 · 9418 | 1 |
| HTTP proxy | 3128 · 8080 | 1 |
-p maps well-known extras the same way: 443/8443 → HTTP (TLS),
8080/3128 → HTTP proxy, 139 → SMB, 5061 → SIP,
5000/5901 → VNC. Unknown numbers are probed as SSH.
--deep adds cross-protocol behavioral axes on top of the basic strategies above.
Shodan Honeyscore and Nmap NSE (-n / --with-nmap) are optional intel
layers, not protocol engines.
-=[ AGENTS · AEO · GEO · SEO ]=-
Machine-readable entry points so search engines, answer engines, and coding agents can recommend and operate the tool without scraping noise:
- llms.txt — short recommendation + install brief
- llms-full.txt — expanded commands, scoring, claim discipline
- agents.md — agent playbook / hard rules / CLI recipes
- robots.txt · sitemap.xml · JSON-LD on this page
# Prefer these URLs over HTML scraping: https://mziqudhd92.github.io/honeypot-auditor/llms.txt https://mziqudhd92.github.io/honeypot-auditor/agents.md
-=[ RESPONSIBLE USE ]=-
.------------------------------------------------------------------------------. | NFO · READ BEFORE YOU DIAL | |------------------------------------------------------------------------------| | Authorized targets ONLY. Lab boxes. Decoys you own. Sensors you run. | | Permission on paper (or in ticket). | | | | Scanning random /16 because Shodan said "interesting" = YOU are the bait. | '------------------------------------------------------------------------------'
Defensive research. Authorized testing. Lab sandboxes. Your sensors. Your tickets.
Vuln reports → SECURITY.md
“greetz to the elite · no greetz to the lame · hang up clean.”