Skip to main content
.______________________________________________________________________________.
|  :: H-AUDITOR :: v0.2.2 :: "DIALING IN... CARRIER DETECTED" ::                |
|------------------------------------------------------------------------------|
|  "warez? nah. headers. we trade banners, not bins."                          |
|  "if it answers any password, it ain't production — it's a lure."            |
|  "respect the sysop. probe only what you own. leave no STOR behind."         |
|______________________________________________________________________________|

PyPI Python tests License: MIT Pages

Site (BBS / NFO): https://mziqudhd92.github.io/honeypot-auditor/
Agents / AEO: llms.txt · agents.md

  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  █  >>> LIVE DEMO · COWRIE ON :2222 · EC2 LAB · DEEP AUDIT <<<            █
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Cowrie deep audit demo

  "cowrie said yes to every password. the shell lied about sleep.
   egress went quiet. scoreboard lit up — SUSPECTED."
                                              — some random BBS elite, '96
  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  █  >>> LIVE DEMO · DIONAEA BUFFET · FTP/HTTP/SMB · CONFIRMED <<<         █
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Dionaea deep audit demo

  "PASV handed me a private IP. STOR vanished on reconnect.
   nginx forgot the Date. that's not a NAS — that's a stage."
                                              — file area #13 · no call waiting
.------------------------------------------------------------------------------.
|  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.   |
|                                                                              |
|  TYPE ...... Multi-Protocol Decoy Fingerprinter / Lab Util                   |
|  PLATFORM .. Linux · macOS · Windows (Python 3.10+)                          |
|  LICENSE ... MIT · spread the sauce · keep the copyright                     |
|  PYPI ...... pypi.org/project/honeypot-auditor                               |
|  REPO ...... github.com/mziqudhd92/honeypot-auditor                          |
'------------------------------------------------------------------------------'

-=[ WHAT IS THIS ]=-

Honeypot Auditor — a CLI that 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 (Shodan Honeyscore) plus active, non-destructive probes across the usual decoy faces. Outputs a weighted Honeyscore (0–100%), Rich console table, JSON report.

Not exploits. Not exfil. Banner/state/auth semantics. The kind of stuff that made Cowrie sweat in '09 and still catches clones in '26.

  [ BASIC ]  Shodan · Nmap NSE · SSH/Telnet/SMB/FTP/HTTP/Redis/SMTP/VNC/SIP
  [ DEEP  ]  shell semantics · OS coherence · HASSH · TCP stack · FSM fuzz
             · co-tenancy buffet detect · latency · egress bait
             (flag: --deep · more intrusive · same authorization rules)
  "elite? nah. just consistent timeouts and a honest --confirm-authorized."

-=[ INSTALLATION ]=-

  ┌─ USERS · PyPI (public index — no pip config voodoo) ─────────────────────┐
  │  python3 -m venv .venv && source .venv/bin/activate   # recommended      │
  │  pip install honeypot-auditor                                            │
  │  pip install "honeypot-auditor[full]"    # + nmap impacket shodan scapy   │
  │  honeypot-auditor --version                                              │
  └──────────────────────────────────────────────────────────────────────────┘
Install Unlocks
pip install honeypot-auditor Core probes (Paramiko + Requests + Rich + figlet header)
pip install "honeypot-auditor[full]" + Nmap · SMB/Impacket · Shodan SDK · Scapy · deep telnet

SHODAN_API_KEY or --shodan-key is still your key — [full] only installs the client lib.

First dial-in:

honeypot-auditor --help          # -h, --help, or /help (BBS figlet header)
honeypot-auditor --target 127.0.0.1 --preset docker-research --skip-nmap
  ┌─ DEVELOPERS · from source ───────────────────────────────────────────────┐
  │  git clone https://github.com/mziqudhd92/honeypot-auditor.git            │
  │  cd honeypot-auditor && python3 -m venv .venv && source .venv/bin/activate│
  │  pip install -e ".[full,dev]"                                            │
  │  make test-cov && make lint                                                │
  └──────────────────────────────────────────────────────────────────────────┘

No pip install (git checkout — install minimal deps once):

pip install -r requirements.txt    # or: pip install rich paramiko requests
python3 honeypot-auditor.py --help
python3 honeypot-auditor.py --target 127.0.0.1 --skip-nmap

pyfiglet / rich-argparse are optional for the script path (plain header + stdlib help if missing). Full probes need pip install -e ".[full]".

Release maintainers → docs/PUBLISHING.md


-=[ QUICKSTART / COMMANDS ]=-

# local lab · docker-compose research ports (2222, 8081, 1445, …)
honeypot-auditor --target 127.0.0.1 --preset docker-research --skip-nmap

# go deep · six extra detection axes · still no exploits
honeypot-auditor --target 127.0.0.1 --preset docker-research --skip-nmap --deep

# internet-facing target · need explicit ack + Shodan key if you want intel
honeypot-auditor --target 203.0.113.10 --preset iana \
  --shodan-key "$SHODAN_API_KEY" --confirm-authorized

# subnet sweep · IPv4 CIDR up to /24 (254 hosts) · parallel by default
honeypot-auditor --target 192.168.1.0/24 --preset docker-research \
  --skip-nmap --scan-concurrency 16 --confirm-authorized
# subnet JSON → honeypot-audit-subnet-192.168.1.0_24.json (summary + per-host reports)

# benchmark lab · cowrie + dionaea in docker
./scripts/benchmark-lab.sh

-=[ SCORING MATRIX ]=-

  ╭──────────────────────────┬────────┬───────────────────────────────────────╮
  │ CATEGORY                 │ WEIGHT │ TRIGGERS                              │
  ├──────────────────────────┼────────┼───────────────────────────────────────┤
  │ Shodan intel             │  25%   │ Honeyscore > 0.6 · honeypot tag       │
  │ Arbitrary auth           │  30%   │ any-password SSH/Telnet · open relay│
  │ State non-persistence    │  25%   │ FTP STOR / Redis key vanishes         │
  │ Static signatures        │  20%   │ Cowrie banners · stock uname/cpu      │
  ╰──────────────────────────┴────────┴───────────────────────────────────────╯

  --deep ADDS (lab brain mode):
  ┌──────────────────────────┬────────┬───────────────────────────────────────┐
  │ behavior                 │  18%   │ $((arith)) · sleep · channel lies     │
  │ coherence                │  15%   │ uname vs /proc vs os-release drift    │
  │ stack_fingerprint        │  12%   │ HASSH vs banner · TCP TTL mismatch  │
  │ proto_conformance        │  12%   │ HTTP/FTP/SMTP FSM edge cases         │
  │ co-tenancy               │   8%   │ honeypot buffet · needs corroboration│
  │ temporal                 │  10%   │ robotic latency · egress silence      │
  └──────────────────────────┴────────┴───────────────────────────────────────┘

  VERDICT BANDS:
    [##########----------]  < 30%   LIKELY REAL HOST
    [################----]  30-59%  SUSPECTED HONEYPOT
    [####################]  >= 60%  CONFIRMED HONEYPOT

Co-tenancy won't fire alone on multi-decoy platforms (looking at you, research stacks with 11 open faces). Needs another tell first. By design.


-=[ CLI FLAGS ]=-

  -h, --help, /help          show options (figlet H-AUDITOR header + Rich help)
  --version                  print version and exit
  --target HOST              IP, hostname, or IPv4 CIDR (max /24)
  --scan-concurrency N       parallel hosts for CIDR scans (default 8; Shodan skipped)
  --preset docker-research   lab ports (default)
  --preset iana              well-known ports (22, 80, 445, …)
  --ports ssh=2222,http=8081 per-protocol override (map unused protos to =9)
  --shodan-key KEY           or env SHODAN_API_KEY
  --output report.json       JSON path (subnet default: honeypot-audit-subnet-<cidr>.json)
  --confirm-authorized       REQUIRED if any scanned IP is public
  --skip-nmap                skip Nmap NSE phase
  --deep                     advanced six-axis probes
  --timeout SECS             socket timeout (default 3)

-=[ PORT PRESETS ]=-

  PROTOCOL    iana    docker-research
  ──────────────────────────────────
  SSH          22         2222
  HTTP         80         8081
  FTP          21         2121
  Telnet       23         2323
  SMTP         25         2525
  SMB         445         1445
  SIP        5060         5060
  VNC        5900         5900
  Redis      6379         6379

-=[ DEV / QA ]=-

make install && make test-cov && make lint
docker compose -f deploy/docker-compose.benchmark.yml up -d
./scripts/benchmark-lab.sh

Re-record the animated demos → docs/demo/README.md

Contributing → CONTRIBUTING.md


-=[ NOT THE SAME AS UHBS ]=-

This tool asks: "Is that IP a honeypot?" (attacker / CTI view)

UHBS asks: "How good is your decoy?" (builder / lab UHQS grade · Modules A–F · 36 protocols)

Same neighborhood. Different door. Use both if you build deception for a living. Use this one if you just need a fast external fingerprint.


-=[ GREETS / SHOUTS ]=-

  Proper respect to:
    Cowrie · Dionaea · Conpot · the old Kippo crew
    UHBS lab rats · CyberHalluciNet purple-team night shift
    Shodan · Salesforce HASSH · everyone who ever typed USER anonymous
    BBS sysops who ran 9600 baud file areas for "utilz"
    and the three people who still read NFO files in 2026

  NO GREETS TO:
    script kiddies scanning /0
    vendors who call Cowrie "AI-powered threat intelligence"
    anyone who STORs malware on decoys then writes a LinkedIn post about it
  "greetz to the elite · no greetz to the lame · hang up clean."

-=[ RESPONSIBLE USE ]=-

Defensive research. Authorized testing. Lab sandboxes. Your sensors. Your tickets.

Do not point this at infrastructure you don't own or haven't been cleared to test.

Vuln reports → SECURITY.md


-=[ LICENSE ]=-

  MIT · do what you want · keep the copyright · no warranty
  see LICENSE for the lawyer-safe version (boring but binding)
.------------------------------------------------------------------------------.
|  h0n3yp0t 4ud1t0r · v0.2.2 · spread headers not malware · EOF · NO CARRIER   |
'------------------------------------------------------------------------------'

Metadata

Release files for honeypot-auditor 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for honeypot-auditor 0.2.2
File Size Uploaded
honeypot_auditor-0.2.2.tar.gz 53.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for honeypot-auditor 0.2.2
File Interpreter ABI Platform
honeypot_auditor-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 101.4 kB

Release files / honeypot_auditor-0.2.2.tar.gz

Download URL honeypot_auditor-0.2.2.tar.gz
Size 53.1 kB
Tags Source
SHA-256 checksum
How to use checksums
86eb6aba3455dbf2e58ff2ebfc733234885b543306846064c68e794b032a875e
BLAKE2b-256 checksum
How to use checksums
cac25b55e99fcb706b89f11e7325a5c86e8a44cbdec7f9d75b7cffcfca57afdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / honeypot_auditor-0.2.2-py3-none-any.whl

Download URL honeypot_auditor-0.2.2-py3-none-any.whl
Size 48.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59d598b3219924fcba9d9fb84f46109a3b1b2152866bc042dc0810b46ee72c48
BLAKE2b-256 checksum
How to use checksums
0ad87a0dd01b73cad7e6224a95c78614e2be3806daf74b71a159b7b788a09de1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.4

2 release files

1.0.3

2 release files

1.0.0

2 release files

0.9.5

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.3.0

2 release files

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page