Skip to main content

Hellhound Spider

Hellhound Spider

Fully autonomous web crawler for security testing — maps endpoints, parameters, and security issues across traditional and SPA web applications. Drop a URL. Walk away.


What It Does

Hellhound Spider crawls a web application and produces a complete map of every endpoint, parameter, and security surface it can reach. The output is a structured JSON report — sorted by confidence, with parameters grouped by source, ready to feed directly into attack agents or import into Burp Suite.

It runs two crawl engines in parallel: async HTTP workers for speed, and headless Chromium for JavaScript-heavy SPAs. For SPAs it intercepts live XHR and fetch calls as the browser actually makes them — including POST body parameters and response IDs. Once the forward crawl is done, it also walks back up every discovered path to probe ancestor directories that were never directly linked to, the way a directory brute-forcer would. When the crawl finishes, it classifies every endpoint automatically so downstream agents start with context, not cold discovery.

Output pipes straight into other tools — spider https://target.com | httpx just works, no extra flag needed.


Installation

via pip (any OS)

pip install hellhound-spider

This gets you the core crawler — HTTP-only scanning (--no-playwright) works right away. Everything else is opt-in, since not everyone needs a headless browser just to crawl:

pip install "hellhound-spider[spa]"   # SPA scanning: Playwright + Patchright
playwright install chromium           # the browser binary itself — not a pip package, separate ~150MB download

pip install "hellhound-spider[dns]"   # full DNS intel (SPF/DMARC/MX via dnspython)
pip install "hellhound-spider[full]"  # spa + dns together

One thing pip genuinely can't install for you: WhatWeb (optional technology fingerprinting) is a system binary, not a Python package — apt install whatweb (or your distro's equivalent) if you want it. Spider runs fine without it either way.

From source (Linux / macOS)

git clone https://github.com/project-hellhound-org/hellhound-spider.git
cd hellhound-spider
chmod +x install.sh
./install.sh

The installer creates an isolated virtual environment (.venv), handles Playwright/Patchright/WhatWeb for you interactively, and installs a system-wide spider wrapper — this is the same thing pip install gives you, just with the optional pieces walked through for you instead of opt-in flags.

spider https://target.com

Uninstall

./uninstall.sh                   # if installed via install.sh
pip uninstall hellhound-spider   # if installed via pip

Usage

spider <target> [options]

A handful of the flags you'll actually reach for day to day:

-d, --depth            Maximum crawl depth              (default: 4)
-c, --concurrency       Concurrent async workers          (default: 12)
-C, --cookie            Session cookie string or cookie file
-a, --auth              Authorization header, e.g. "Bearer eyJ..."
-x, --extract           Extract emails, IPs, cloud buckets, secrets
-s, --screenshot        Capture screenshots (all/standard/api/admin/...)
-f, --format            json / jsonl / csv / burp / urls / nuclei
-o, --out               Output file path
-v, --verbose           Show all discovery logs
    --ctf                CTF mode — probes, CORS, flag scanning, high concurrency

That's the short list. Spider has a lot more surface than that — auth, scope control, modular probing, SPA interaction, HAR replay, subdomain enumeration, and more. Run spider --help or man spider for the full, always-current reference rather than relying on a table here that can drift out of sync with the tool.

See CHANGELOG.md for version history.


Examples

# Basic scan — drop a URL, spider does the rest
spider https://target.com

# Authenticated with a session cookie
spider https://target.com -C "session=abc123; csrf=xyz"

# Authenticated with Bearer token / HTTP Basic Auth
spider https://target.com -a "Bearer eyJhbGci..."
spider https://target.com -u "admin:password"

# Pipe discovered URLs straight into another tool
spider https://target.com | httpx
spider https://target.com | nuclei -t cves/

# Export for Burp Suite
spider https://target.com -f burp -o burp.xml

# Extraction and screenshots
spider https://target.com -x -s all

# Deeper crawl, all logs visible
spider https://target.com -d 6 -v

# Seed crawl with a HAR file (authenticated session replay)
spider https://target.com --har session.har

# Scan and extract specific CTF flags from all source files and comments
spider https://target.com --ctf-flag "HELLCORP{},FLAG{}"

What Gets Found

Discovery Vectors

HTML crawl, live SPA XHR interception, parent-directory backtracking (probes ancestor directories the forward crawl never linked to), Intelligent Robots Analysis (Disallow/Allow mapping + comment mining), sitemap XML (with index recursion), .well-known (OIDC/JWKS), JSON path chaining, SPA hash routes, lazy-load attributes, CSP header hints, OpenAPI/Swagger specs, GraphQL introspection, crt.sh certificate transparency, Wayback Machine CDX API, security.txt (RFC 9116), HAR file import, HTML comment mining, response header analysis, TLS/DNS intel, WAF fingerprinting, and JS SCA analysis.

Parameter Mining

Form fields (with type metadata: hidden, file, required), JS fetch/axios body keys, URL query strings, OpenAPI spec fields, POST body params from live browser requests, structural normalization (clustering dynamic segments).


Output Formats

  • JSON — Full-fidelity report with all classification metadata.
  • Burp — XML format for direct import into Burp Suite.
  • CSV — Spreadsheet-ready endpoint and parameter list.
  • JSONL — One endpoint per line for streaming pipelines.
  • URLs — Raw newline-separated list of discovered URLs (the default when piped to another tool).
  • Nuclei — Target list formatted for direct piping into Nuclei.

Requirements

  • Python 3.10+
  • aiohttp, beautifulsoup4, lxml
  • Playwright + Chromium (optional, for SPA targets)
  • Patchright (optional, automatic bot-bypass fallback when WAF blocks Playwright)
  • WhatWeb (optional, automatic system technology fingerprinter; installed by install.sh)

For authorized security testing only. This software is licensed under the GNU General Public License v3 (GPLv3).


Author

L4ZZ3RJ0D

Metadata

Release files for hellhound-spider 14.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 hellhound-spider 14.2
File Size Uploaded Provenance Actions
hellhound_spider-14.2.tar.gz 129.8 kB Without provenance Details for hellhound_spider-14.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hellhound-spider 14.2
File Interpreter ABI Platform Actions
hellhound_spider-14.2-py3-none-any.whl Python 3 none any Details for hellhound_spider-14.2-py3-none-any.whl

Total release size: 261.4 kB

Release files / hellhound_spider-14.2.tar.gz

Download URL hellhound_spider-14.2.tar.gz
Size 129.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f711986ee7d64193374dbe4dd2d46c37935a65270b3f5791fdbcb3899c34d08c
BLAKE2b-256 checksum
How to use checksums
479b66869dcbc9668b9049a6013f1952e5cb20e02bd7a6cf1416cc8efbdf0d51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / hellhound_spider-14.2-py3-none-any.whl

Download URL hellhound_spider-14.2-py3-none-any.whl
Size 131.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e99089e6e4d6a03610645a6c5c8f4fe9413528f92f1b57efd9e060831d34fc88
BLAKE2b-256 checksum
How to use checksums
0d57d15b8915452d1d9b91013a7229492bb522f0d2ad6d2cece4de6987d96df4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for hellhound-spider 14.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

14.2 This release

2 release files No provenance

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