Skip to main content

🕷️ EvilSpider

CI PyPI version Python 3.8+ License: MIT AsyncIO Ruff

EvilSpider is a fast, asynchronous attack-surface crawler and reconnaissance engine designed for bug bounty hunters, penetration testers, and security researchers.

Unlike traditional generic crawlers (e.g., Scrapy or Crawlee), EvilSpider focuses strictly on offensive security use cases: uncovering hidden endpoints, hunting leaked secrets and API keys, extracting parameterized URLs, fingerprinting technologies, mapping forms, and generating actionable reconnaissance dashboards.


📥 Installation

📦 Via pip

pip install evilspider

⚡ Via pipx (Recommended for isolated CLI)

pipx install evilspider

🛠️ From Source (Development)

git clone https://github.com/Baba01hacker666/evilspider.git
cd evilspider
pip install -e .

🚀 Quick Start

1. Standard Recon Crawl

evilspider crawl -u https://example.com

2. Multi-Target Crawl from File

evilspider crawl -l targets.txt -t 20 -o results.json

3. Pipeline URLs to Nuclei / FFUF / HTTPX

evilspider crawl -u https://example.com --urls-only | nuclei -t http/cves/

4. Generate Interactive Dark-Mode HTML Dashboard

evilspider crawl -u https://example.com --report-html report.html --report-md report.md

⚡ Key Features

  • 🚀 Async Concurrency Engine: Ultra-fast asynchronous crawler built on asyncio and aiohttp with connection pooling, rate limiting, and configurable worker threads.
  • 🚨 Secret & Sensitive Data Hunter: Built-in regex rule engine scanning for 30+ types of credentials across responses (AWS keys, Google Cloud API keys, JWT tokens, Stripe keys, GitHub PATs, Slack webhooks, Private keys, Database URIs, and leaked authorization headers).
  • 📝 HTML Form & Input Extractor: Detects and categorizes HTML forms (Login, Registration, File Uploads, Password Reset, Search) along with hidden CSRF tokens and field names.
  • 📜 Deep JavaScript Analysis: Extracts REST API routes, dynamic endpoints, AJAX (fetch/axios/$.ajax) targets, Webpack chunks, and Source Map (.js.map) references from inline scripts and external JS files.
  • 🛠️ Tech Stack Fingerprinter: Detects CMS (WordPress, Drupal, Joomla, Shopify), Backend Frameworks (Django, Laravel, Spring Boot, Express, Rails, FastAPI), Web Servers (Nginx, Apache, Caddy, Cloudflare, IIS), and Frontend Frameworks (React, Vue, Next.js, Nuxt, Angular).
  • 🛡️ Security Headers & Reflection Auditor: Identifies missing security headers (CSP, HSTS, X-Frame-Options, X-Content-Type-Options), dangerous CORS misconfigurations (* with credentials), and reflected URL parameters (potential XSS sinks).
  • 📖 API Documentation & Schema Parsing: Automatically parses Swagger 2.0 / OpenAPI 3.x specifications and GraphQL schemas to extract all declared endpoints, parameters, and routes.
  • 🎯 Active Sensitive File Prober (probe): Fast active probing module hunting for VCS leaks (.git/HEAD, .svn), exposed configs (.env, web.config), backup archives (dump.sql, backup.zip), and debug endpoints (actuator/health, pprof) with smart soft-404 detection.
  • 🌐 Scope & Filter Controls: Scope by domain, subdomains, regex whitelist/blacklist, extension filters, path exclusions, status codes, and loop prevention algorithms.
  • 🎭 Browser Impersonation Profiles: Modern User-Agent and Client Hints / header profiles for Chrome, Firefox, Edge, Safari, Chrome Android, and Safari iOS.
  • 📊 Multi-Format Reporting: Export findings to JSON, JSON Lines (NDJSON), CSV, Plain text URLs, Parameter wordlists, Markdown reports, and a standalone responsive Interactive Dark-Mode HTML Dashboard.
  • 🔌 UNIX Pipeline Ready: --urls-only and --silent modes designed for piping directly into tools like nuclei, ffuf, httpx, sqlmap, or dalfox.

🔥 Recon Workflows

🕵️ 1) Full Hunter Mode (Secrets + Uploads + Sensitive Probing)

evilspider crawl \
  -u https://target.tld \
  --robots --sitemaps \
  --detect-uploads \
  --probe-sensitive \
  -d 4 -t 15 \
  --report-html report.html

🔑 2) Sensitive Endpoint & Backup Prober (probe)

evilspider probe \
  -u https://target.tld \
  --categories vcs,env_config,backups,api_docs,actuators_debug \
  -o probe_findings.json

📁 3) Offline JavaScript & File Analysis (extract)

evilspider extract -f app.bundle.js -o extracted_assets.json

🔐 4) Authenticated Crawl with Session Cookies & Bearer Token

evilspider crawl \
  -u https://target.tld \
  -C 'session=abc12345; role=admin' \
  --bearer-token 'eyJhbGciOiJIUzI1Ni...' \
  -H 'X-Forwarded-For: 127.0.0.1'

🌐 5) Proxied Crawl through Burp Suite / OWASP ZAP

evilspider crawl \
  -u https://target.tld \
  -x http://127.0.0.1:8080 \
  --insecure \
  --report-redirects

🎯 6) Parameter Wordlist Harvesting for Fuzzing

evilspider crawl \
  -u https://target.tld \
  --params-file params_wordlist.txt \
  --urls-only > discovered_urls.txt

# Pipe discovered parameters into ffuf
ffuf -u "https://target.tld/endpoint?FUZZ=1" -w params_wordlist.txt

🛠️ CLI Options Reference

evilspider crawl (Main Crawler)

Flag Description
-u, --url Target URL to crawl (e.g. https://example.com)
-l, --list File containing target URLs (or - for stdin)
-c, --config Path to JSON configuration file
-t, --threads Number of concurrent workers (default: 10)
-d, --max-depth Maximum crawl depth (default: 3)
-m, --max-links Maximum total links to visit (default: 5000)
--max-time Maximum crawl duration in seconds
--rate-limit Maximum requests per second
--delay Delay between requests in seconds
-s, --status Interesting status codes (default: 200)
--exclude-status Status codes to ignore (e.g. 404,500)
-e, --exts Extension focus list (e.g. php,bak,env,json)
-k, --keywords Keyword filter for response bodies
-p, --params-only Only report URLs with query parameters
--include-subdomains / --no-include-subdomains Toggle subdomain in-scope crawling (default: true)
--scope-regex Whitelist regex pattern for allowed URLs
--exclude-regex Blacklist regex pattern for ignored URLs
--exclude-paths Comma-separated paths to ignore (/logout,/signout)
--robots / --sitemaps Parse robots.txt and sitemap.xml
--detect-uploads Detect forms with file uploads
--probe-sensitive Actively probe target for sensitive files (.git, .env, backups, etc.)
--probe-categories Prober categories (vcs,env_config,backups,api_docs,actuators_debug,graphql,admin_auth)
--no-secrets Disable secrets and API keys scanner
--no-forms Disable HTML forms extractor
--no-tech Disable technology stack fingerprinter
--no-security-audit Disable security headers auditor
-A, --user-agent Custom User-Agent string
-i, --impersonate Browser profile (chrome, firefox, edge, safari, chrome-android, safari-ios)
-C, --cookies Cookie string or path to cookie file
-H, --headers Custom header (repeatable, e.g. -H 'X-Header: value')
-x, --proxy Proxy URL (HTTP/SOCKS5 e.g. http://127.0.0.1:8080)
--bearer-token Authorization Bearer token
--auth-basic HTTP Basic Auth in format user:pass
-T, --timeout Request timeout in seconds (default: 5)
--retries Number of request retries on failure (default: 2)
--follow-redirects Follow HTTP redirects (default: true)
--report-redirects Include redirect chains in results
--insecure Disable SSL certificate verification
-o, --output Primary output JSON file path
-j, --json Stream findings as JSON Lines to stdout
--csv Export findings as CSV
--report-html Generate interactive standalone HTML dashboard
--report-md Generate Markdown summary report
--urls-only Clean stdout output containing only discovered URLs
--params-file Save discovered query parameter wordlist
--secrets-file Save discovered secrets to separate JSON
--forms-file Save extracted forms to separate JSON
-q, --quiet Suppress banner and info logs
--silent Completely silent mode for UNIX piping
-v, --verbose Enable debug logging
--no-color Disable ANSI terminal colors

📊 Interactive HTML Dashboard

EvilSpider generates a standalone, self-contained HTML report with:

  • Summary metric cards (Endpoints, Secrets, Forms, Subdomains, Technologies, Security Issues)
  • Dynamic table filtering and instant keyword search
  • Dedicated tabs for Secrets, Forms, Technologies, Security Headers, API Docs, and Subdomains
  • Zero external CDN dependencies (works completely offline)

🏗️ Architecture

evilspider/
├── analyzer/
│   ├── secrets.py        # 30+ regex rules for API keys, tokens & credentials
│   ├── tech.py           # Web server, framework & CMS fingerprinter
│   ├── security.py       # Security headers, CORS & reflected param auditor
│   └── api_parser.py     # Swagger 2.0 / OpenAPI 3.x & GraphQL parser
├── extractors/
│   ├── html_extractor.py # Fast HTML parser for links, scripts, frames & comments
│   ├── js_extractor.py   # JavaScript REST endpoint & webpack chunk extractor
│   ├── form_extractor.py # HTML form, input & CSRF token parser
│   └── sourcemap.py      # Source map (.js.map) unminified route extractor
├── prober/
│   ├── probe.py          # Active sensitive file prober with soft-404 detection
│   └── wordlists.py      # Curated recon path lists (VCS, configs, backups, APIs)
├── output/
│   ├── formatter.py      # ANSI terminal formatting, logo & summary tables
│   ├── reporter.py       # Multi-format reporter (JSON, CSV, MD, HTML, TXT)
│   └── templates/
│       └── report_template.html # Responsive dark-mode dashboard
├── tests/                # Comprehensive unit and integration test suite
├── _version.py           # Single source of truth for version and author metadata
├── config.py             # Config parser and CLI argument validator
├── crawler.py            # Async crawl orchestrator and queue worker pool
└── main.py               # CLI entrypoint (crawl, probe, extract, report)

⚖️ Legal Disclaimer

EvilSpider is developed for authorized security assessments, penetration testing, bug bounty reconnaissance, and educational purposes only. Do not use this tool against targets without explicit authorization. The authors assume no liability for misuse.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evilspider-2.5.0.tar.gz (58.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evilspider-2.5.0-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

Details for the file evilspider-2.5.0.tar.gz.

File metadata

  • Download URL: evilspider-2.5.0.tar.gz
  • Upload date:
  • Size: 58.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for evilspider-2.5.0.tar.gz
Algorithm Hash digest
SHA256 0174d855dfb45fd0b137a9f5ee9d0c6c1f1073792fa0fa37211f8d04db335260
MD5 515ae5e43fec8e1919d1c4b19e2777de
BLAKE2b-256 21a68c3edc29b1fcbf5c83e033f9a5d3e92767d9d9d0322635fc5ff3109f1b96

See more details on using hashes here.

Provenance

The following attestation bundles were made for evilspider-2.5.0.tar.gz:

Publisher: publish.yml on Baba01hacker666/evilspider

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file evilspider-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: evilspider-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for evilspider-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d55e449d633ab130644bcf0370b3e16318c7574715922c36acc8342aacdcb2b2
MD5 2c9078d371b8e0eed914db97c540f3b4
BLAKE2b-256 a136b408b7a4f862de6dbe0c21578b9aaf0b4cf021dbca38947a8b1777d591a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for evilspider-2.5.0-py3-none-any.whl:

Publisher: publish.yml on Baba01hacker666/evilspider

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.6.0

2 files

This release

2.5.0 This release

2 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