karim852/KUMO-Domain-Recon-Tool

Kumo 蜘蛛 is a domain OSINT & security reconnaissance framework. Drop a domain, get everything back in real time across 27 parallel modules: DNS, open ports, leaked credentials, infostealer infections, vulnerable endpoints, subdomains, CVEs, malware families, and more.

Python

69

45 commits

updated Oct 9, 2026

See the code

See what people are saying

SourceMessageScoreDate

I'm a cybersecurity consultant and built the two tools I always wished I had: one for recon, one for incident response (r/SideProject)

I'm a cybersecurity consultant working on pentesting and security audits, and I've been building two side projects to tackle different parts of the security workflow. The idea was simple: make reconnaissance less fragmented and Windows incident triage less manual. 🔎 **Kumo Domain Recon &…

5

Oct 9, 2026

README

KUMO 蜘蛛 — Domain OSINT & Reconnaissance


Give Kumo a domain and it maps everything reachable about it in one pass: DNS and email security, certificates and subdomains from CT logs, open ports, technology fingerprints, leaked credentials and infostealer infections, cloud buckets, and 358 vulnerability checks against known exposures. Twenty-seven modules run in parallel, each one streaming its own card the moment it lands — in the terminal or in the browser.

No API key is required for any of it.

pip install flask requests dnspython urllib3

python3 kumo.py                    # home screen — pick modules by number
python3 kumo.py --web              # web dashboard → http://127.0.0.1:8888
python3 kumo.py example.com        # straight to a full scan

Kumo web dashboard Kumo web dashboard
The dashboard mid-scan: cards stream in as each module finishes, glowing by severity, with the vulnerability scanner leading on findings.


📑 Table of contents


📦 Installation

Requirements

OSLinux, macOS or Windows
Python3.8+
Rightsnone — Kumo never needs root
API keysnone required

Install

git clone https://github.com/karim852/KUMO-Domain-Recon-Tool
cd KUMO-Domain-Recon-Tool
pip install flask requests dnspython urllib3

Optional extras, each used by a single module and skipped cleanly when absent:

pip install brotli zstandard playwright

Nothing to configure. There is no config file, no key file and no database. Kumo reads what it needs from public sources at run time.


🚀 Running your first scan

Step 1 — Open the home screen

python3 kumo.py

With no target, Kumo opens its home screen: every module numbered and grouped, with the web interface on top.

Kumo CLI home screen

Step 2 — Choose what to run

InputRuns
1 4 12just those modules
aall 27
ffast scan — skips the slow modules
wthe web dashboard
qquit

Then enter the domain when prompted. Or skip the menu entirely:

python3 kumo.py example.com -m dns ssl

Step 3 — Watch the spider work

Modules run in parallel, so results do not arrive in order. A spider crawls the strand while they run, spinning silk behind it as each one lands, with the modules still in flight trailing the counter.

Kumo scanning

Step 4 — Export

python3 kumo.py example.com -o report.json

🖥️ The terminal

The terminal is not a fallback — every module renders in full, with its own layout, tables and severity colouring.

Home screenall modules numbered, grouped, sized to the terminal
Selectionby number, or a / f / w
Themesfour palettes in 24-bit colour, --theme or KUMO_THEME

🌐 The dashboard

python3 kumo.py --web             # → http://127.0.0.1:8888
python3 kumo.py --web -p 9000     # custom port

Each module gets a card that appears immediately, shows a rotating edge while it is still running, then fills and takes on the colour of what it found — red for critical, amber for warnings, green for clean.

Streamingcards arrive as modules finish, no waiting for the slowest
Severity glowcard colour is derived from the badges it renders
Module pillsclick to enable or disable before scanning
ExportJSON, or a standalone HTML report
Themesfour, switchable live, remembered across reloads

🎨 Themes

Four palettes, in both the dashboard and the terminal. Click a dot in the header, or press Ctrl+Shift+T to cycle. The choice is saved and survives a reload.

Kumo themes

ThemeCharacter
Void (default)deepest navy, cyan bloom, flat surfaces
Void Glasslit card edges, under-glow, larger radius
Web 蜘蛛violet accent, strongest glow
Carbonneutral surfaces, restrained glow — best for client screenshots

In the terminal:

python3 kumo.py --theme carbon example.com
export KUMO_THEME=web

Adding a fifth theme is one palette block plus one dot — every renderer reads its colours through the same token set.


🔓 Vulnerability scanner

358 checks, no external tool and no template directory to sync. The engine mirrors nuclei's matcher model — status, word, regex, size and a small dsl, combined with matchers_condition.

Kumo vulnerability scanner card


🧩 Modules

27 modules, every one running in parallel. Click a module to see what it returns on a real scan.

Run them by number from the home screen, or by name: python3 kumo.py corp.demo -m dns ssl nuclei

Network & Infrastructure

📡 DNS — Records + email security  ·  dns

Full DNS enumeration with a security grade on email protection. Detects missing DMARC, weak SPF policies, absent DKIM, and open zone transfers.

dns module

📍 Geolocation — IP + ASN  ·  geo

Resolves the domain to IPv4/IPv6, geolocates each IP, and pulls ASN, ISP, and organization data.

geo module

🌐 WHOIS / RDAP — Registration data  ·  whois

Full registrar record including creation date, expiry, registrant info, and nameservers. Detects domains expiring soon and privacy-protected registrations.

whois module

🔒 SSL/TLS — Certificate analysis  ·  ssl

Inspects the full certificate chain — issuer, expiry, Subject Alternative Names, cipher suite, and protocol version. Flags expired, self-signed, or misconfigured certificates.

ssl module

🚪 Port Scan — 70+ ports + banners  ·  ports

Scans 70+ common ports and grabs service banners for each open one. False-positive hardened: the host is first probed on random unused ports — if it answers those too (tarpit, transparent proxy, or firewall that accepts everything), only ports with real application-layer evidence (a service banner, a TLS handshake, or a valid HTTP reply) are reported. Every open port is also re-verified before being listed. Enriched with data from Shodan and Censys when available.

ports module

🗺️ Subdomain Discovery — 4 passive sources + CT logs  ·  subdomains

Queries crt.sh, HackerTarget, RapidDNS, and AlienVault OTX simultaneously, cross-references with Certificate Transparency logs, resolves every result, checks if it's alive, and flags anything that looks sensitive.

subdomains module

🔨 Subdomain Brute Force  ·  brute

Tests thousands of common subdomain names via DNS with wildcard detection — eliminates false positives automatically. Finds subdomains that passive sources miss entirely.

brute module

🎯 Favicon Hash — tech fingerprint  ·  favicon

Fetches the favicon (HTML-declared first, then common paths in parallel — bounded so it never hangs), computes the MMH3 hash used by Shodan/Censys, and maps known hashes to technologies. Handy for fingerprinting the stack and pivoting to other hosts running the same favicon.

favicon module


Web Application Analysis

🖼️ Screenshot — Website overview  ·  screenshot

Takes a live screenshot of the target and runs it against the ransomware.live feed. Pulls the page title, meta description, favicon, CMS fingerprint, and checks whether the domain appears in any ransomware gang's leak posts.

screenshot module

🕵️ WhatWeb — Technology fingerprinting  ·  whatweb

Identifies the full tech stack — CMS, frameworks, JavaScript libraries, analytics, CDN, server, and more. Runs 80+ signature checks without sending a single intrusive request.

whatweb module

🤖 Robots / Security — Crawl rules + disclosure  ·  robots

Parses robots.txt for disallowed and allowed paths, highlights sensitive ones, and checks for a security.txt vulnerability disclosure contact. Also discovers sitemaps.

robots module

📚 Wayback Machine — Archive mining  ·  wayback

Queries the Wayback Machine for archived snapshots of the target — mining old endpoints, forgotten login pages, exposed config files, and paths that no longer exist on the live site but reveal the attack surface history.

wayback module

🧠 Content Intelligence — JS/HTML extraction  ·  content_intel

Scrapes the homepage HTML, inline scripts, and every first-party JS file, then extracts the valuable signal — not just secrets. Endpoints, internal/external URLs, API routes, database connection URIs, cloud storage (S3 / GCS / Azure / Firebase), emails, internal hosts, JWTs, private keys, source maps, and risky code comments. Static assets (.css, .js, images, fonts) and documentation domains (MDN, W3C) are filtered out; external URLs are collapsed to unique third-party hosts.

content_intel module

🔎 HTTP Inspector — request/response headers  ·  http_inspect

Your browser's DevTools Network tab, headless. Shows exactly what Kumo sent and exactly what came back — the full request headers, every response header verbatim, the complete redirect chain, cookie security flags, allowed HTTP methods, CORS behaviour, and any non-standard or leaky headers worth a second look.

http_inspect module

🔌 API Endpoint Fuzzer  ·  api_fuzzer

Smart API discovery. Probes a random baseline first to detect catch-all servers, confirms a base API path actually exists before fuzzing, then discovers live endpoints and checks for GraphQL introspection. Every hit shows its HTTP status and response byte size.

api_fuzzer module

🔑 JS Secret Scanner  ·  js_secrets

Pulls and scans first-party JavaScript for hardcoded secrets — API keys, tokens, cloud credentials, and private keys — with clear-text output and the exact source line for each hit.

js_secrets module

🔓 Sensitive Endpoint Discovery — 80+ known paths  ·  endpoints

Probes 80+ paths that are commonly left exposed: admin panels, backup files, config files, debug interfaces, API docs, source control, and infrastructure files. Every hit is severity-graded. A 403 Forbidden response still confirms the path exists and is automatically downgraded one severity level.

endpoints module


Security & Threat Intelligence

🛡️ HTTP Headers — Security grade  ·  headers

Checks every security-relevant response header and grades the configuration. Flags missing headers that leave the site open to XSS, clickjacking, MIME sniffing, and information disclosure.

headers module

🧱 WAF Detection  ·  wafw00f

Fingerprints the WAF or CDN sitting in front of the target using 40+ signatures — headers, cookies, server banners, and active probe responses. If nothing is detected, it says so clearly.

wafw00f module

🔓 Vulnerability Scanner — 358 built-in checks  ·  nuclei

nuclei module

Checks include: Log4Shell · Spring4Shell · Drupalgeddon2 · Confluence OGNL · Oracle WebLogic · 15 WordPress plugin CVEs · CORS misconfiguration · Host header injection · Clickjacking and many more.

Recent CVE detection (2024–2026) — a dedicated set of detection-only templates fingerprints exposure/version for the newest, actively-exploited CVEs (no exploitation, just correlation):

  RECENT CVE  cPanel / WHM Login Panel Exposed     CVE-2026-41940
  RECENT CVE  Next.js Middleware Auth Bypass       CVE-2025-29927
  RECENT CVE  SharePoint "ToolShell" RCE           CVE-2025-53770
  RECENT CVE  SAP NetWeaver Visual Composer        CVE-2025-31324
  RECENT CVE  Ivanti EPMM / Connect Secure         CVE-2025-4427
  RECENT CVE  CrushFTP Auth Bypass                 CVE-2025-31161
  ... 15 more (Fortinet · Palo Alto · Oracle EBS · Craft CMS · Vite · Langflow · Wazuh)
🔭 Shodan — InternetDB + CVE enrichment  ·  shodan

Queries Shodan InternetDB (free, no key) for open ports, CPEs, hostnames, and CVEs. Every CVE is enriched with CVSS score, severity, KEV flag, and description via Shodan's free CVEDB API.

shodan module

🔬 Censys — Hosts + certificates  ·  censys

Pulls host data and certificate intelligence from Censys. Enriched with optional API key for full results.

censys module

💀 Breach & Credential Intelligence — 5 sources  ·  breachintel

Aggregates from 5 free sources and runs an automatic per-email stealer check against Hudson Rock's database — showing which employee machines were infected, what malware ran, what passwords were stolen, and which services were compromised.

breachintel module

📧 Email Harvester  ·  email_harvest

Discovers @domain employee email addresses across multiple open sources, then merges in every confirmed email found during the breach intelligence scan.

email_harvest module

Sources: Hunter.io · crt.sh certificate logs · web page scraping (contact / about / team) · DNS SOA record · WHOIS contact · Wayback Machine archive · common business prefixes.

☁️ Cloud Storage Buckets  ·  cloud_buckets

Enumerates likely AWS S3 / GCP / Azure bucket names derived from the domain and checks for public exposure. Only a confirmed HTTP 200 (publicly readable) is reported — unreliable 403 responses are never flagged as findings.

cloud_buckets module

🔍 Google Dorks — 61 queries  ·  dorks

Generates 61 targeted Google dork queries pre-built for the domain — one click opens them in Google. Covers exposed files, login pages, sensitive directories, subdomains, cached pages, code repositories, and more.

dorks panel

🔗 OSINT Platform Links — 26 sources  ·  osint

Pre-generates 26 investigation links for the target across the most useful OSINT platforms — one click and you're there.

osint panel



⚙️ Optional API keys

Everything above works with no key at all. These only unlock richer data:

VariableUnlocks
SHODAN_API_KEYfull Shodan host data — banners, services, history
CENSYS_API_ID + CENSYS_API_SECRETfull Censys host & certificate search
HIBP_API_KEYper-email HaveIBeenPwned lookup
CHIASMODON_API_KEYChiasmodon pro tier — more results
RANSOMWARE_LIVE_API_KEYRansomware.live pro feed
export SHODAN_API_KEY="your_key_here"
# read at run time — never written to disk

📟 CLI reference

python3 kumo.py                               home screen — pick modules by number
python3 kumo.py example.com                   full scan
python3 kumo.py example.com --fast            skip the slow modules
python3 kumo.py example.com -m dns ssl ports  specific modules only
python3 kumo.py example.com -o report.json    export to JSON
python3 kumo.py --web                         web dashboard (port 8888)
python3 kumo.py --web -p 9000                 custom port
python3 kumo.py --list-modules                every module, grouped
python3 kumo.py --theme carbon example.com    void · glass · web · carbon
python3 kumo.py example.com --no-spider       disable the crawl animation
python3 kumo.py example.com --no-color        pipe-friendly output
FlagDefault
--themevoid, or $KUMO_THEME
-p / --port8888
--host0.0.0.0

Fast mode skips: wayback · brute · subdomains · screenshot · email_harvest · nuclei · cloud_buckets


🧪 Tests

python3 test_rules.py      # every rule fires on its fixture and on no decoy
python3 test_modules.py    # every module returns cleanly inside its budget
python3 test_live.py       # end-to-end against a real domain

test_rules.py is the one that matters. It runs each vulnerability rule against a vulnerable fixture and against seven decoys, and fails if a rule either misses its target or fires on something harmless.


🙏 Credits

Kumo collects and correlates — the data belongs to the sources below, and they deserve the star far more than this repo does:

SourceUsed for
crt.shcertificate transparency logs, subdomain discovery
Shodan InternetDBopen ports, CVEs, host tags — free, keyless
Hudson Rockinfostealer infection intelligence
ProjectDiscoverythe templates behind most vulnerability rules
Wayback Machinearchived URLs and historical surface

Respect each source's own terms of use and rate limits.


🌐 Ecosystem

ToolDomain
☁️Kumo 蜘蛛domain OSINT & reconnaissance
🌑Kage 影DFIR host triage

⚠️ For authorized security testing only. Only scan domains you own or have explicit written permission to test. Free to use, modify and share for educational and personal purposes — please credit the work. Commercial use requires explicit permission from the author.

Built for those who move fast. 蜘蛛

breach-intelligence
bugbounty
cybersecurity
domain-scanner
hacking
information-gathering
osint
pentesting
python
recon
reconnaissance-tool
red-team
security-scanner
security-tools
subdomain-enumeration
vulnerability-scanner
vulnify
web-scanner

karim852/KUMO-Domain-Recon-Tool

Kumo 蜘蛛 is a domain OSINT & security reconnaissance framework. Drop a domain, get everything back in real time across 27 parallel modules: DNS, open ports, leaked credentials, infostealer infections, vulnerable endpoints, subdomains, CVEs, malware families, and more.

Python

69

45 commits

updated Oct 9, 2026

See the code

See what people are saying

SourceMessageScoreDate

I'm a cybersecurity consultant and built the two tools I always wished I had: one for recon, one for incident response (r/SideProject)

I'm a cybersecurity consultant working on pentesting and security audits, and I've been building two side projects to tackle different parts of the security workflow. The idea was simple: make reconnaissance less fragmented and Windows incident triage less manual. 🔎 **Kumo Domain Recon &…

5

Oct 9, 2026

README

KUMO 蜘蛛 — Domain OSINT & Reconnaissance


Give Kumo a domain and it maps everything reachable about it in one pass: DNS and email security, certificates and subdomains from CT logs, open ports, technology fingerprints, leaked credentials and infostealer infections, cloud buckets, and 358 vulnerability checks against known exposures. Twenty-seven modules run in parallel, each one streaming its own card the moment it lands — in the terminal or in the browser.

No API key is required for any of it.

pip install flask requests dnspython urllib3

python3 kumo.py                    # home screen — pick modules by number
python3 kumo.py --web              # web dashboard → http://127.0.0.1:8888
python3 kumo.py example.com        # straight to a full scan

Kumo web dashboard Kumo web dashboard
The dashboard mid-scan: cards stream in as each module finishes, glowing by severity, with the vulnerability scanner leading on findings.


📑 Table of contents


📦 Installation

Requirements

OSLinux, macOS or Windows
Python3.8+
Rightsnone — Kumo never needs root
API keysnone required

Install

git clone https://github.com/karim852/KUMO-Domain-Recon-Tool
cd KUMO-Domain-Recon-Tool
pip install flask requests dnspython urllib3

Optional extras, each used by a single module and skipped cleanly when absent:

pip install brotli zstandard playwright

Nothing to configure. There is no config file, no key file and no database. Kumo reads what it needs from public sources at run time.


🚀 Running your first scan

Step 1 — Open the home screen

python3 kumo.py

With no target, Kumo opens its home screen: every module numbered and grouped, with the web interface on top.

Kumo CLI home screen

Step 2 — Choose what to run

InputRuns
1 4 12just those modules
aall 27
ffast scan — skips the slow modules
wthe web dashboard
qquit

Then enter the domain when prompted. Or skip the menu entirely:

python3 kumo.py example.com -m dns ssl

Step 3 — Watch the spider work

Modules run in parallel, so results do not arrive in order. A spider crawls the strand while they run, spinning silk behind it as each one lands, with the modules still in flight trailing the counter.

Kumo scanning

Step 4 — Export

python3 kumo.py example.com -o report.json

🖥️ The terminal

The terminal is not a fallback — every module renders in full, with its own layout, tables and severity colouring.

Home screenall modules numbered, grouped, sized to the terminal
Selectionby number, or a / f / w
Themesfour palettes in 24-bit colour, --theme or KUMO_THEME

🌐 The dashboard

python3 kumo.py --web             # → http://127.0.0.1:8888
python3 kumo.py --web -p 9000     # custom port

Each module gets a card that appears immediately, shows a rotating edge while it is still running, then fills and takes on the colour of what it found — red for critical, amber for warnings, green for clean.

Streamingcards arrive as modules finish, no waiting for the slowest
Severity glowcard colour is derived from the badges it renders
Module pillsclick to enable or disable before scanning
ExportJSON, or a standalone HTML report
Themesfour, switchable live, remembered across reloads

🎨 Themes

Four palettes, in both the dashboard and the terminal. Click a dot in the header, or press Ctrl+Shift+T to cycle. The choice is saved and survives a reload.

Kumo themes

ThemeCharacter
Void (default)deepest navy, cyan bloom, flat surfaces
Void Glasslit card edges, under-glow, larger radius
Web 蜘蛛violet accent, strongest glow
Carbonneutral surfaces, restrained glow — best for client screenshots

In the terminal:

python3 kumo.py --theme carbon example.com
export KUMO_THEME=web

Adding a fifth theme is one palette block plus one dot — every renderer reads its colours through the same token set.


🔓 Vulnerability scanner

358 checks, no external tool and no template directory to sync. The engine mirrors nuclei's matcher model — status, word, regex, size and a small dsl, combined with matchers_condition.

Kumo vulnerability scanner card


🧩 Modules

27 modules, every one running in parallel. Click a module to see what it returns on a real scan.

Run them by number from the home screen, or by name: python3 kumo.py corp.demo -m dns ssl nuclei

Network & Infrastructure

📡 DNS — Records + email security  ·  dns

Full DNS enumeration with a security grade on email protection. Detects missing DMARC, weak SPF policies, absent DKIM, and open zone transfers.

dns module

📍 Geolocation — IP + ASN  ·  geo

Resolves the domain to IPv4/IPv6, geolocates each IP, and pulls ASN, ISP, and organization data.

geo module

🌐 WHOIS / RDAP — Registration data  ·  whois

Full registrar record including creation date, expiry, registrant info, and nameservers. Detects domains expiring soon and privacy-protected registrations.

whois module

🔒 SSL/TLS — Certificate analysis  ·  ssl

Inspects the full certificate chain — issuer, expiry, Subject Alternative Names, cipher suite, and protocol version. Flags expired, self-signed, or misconfigured certificates.

ssl module

🚪 Port Scan — 70+ ports + banners  ·  ports

Scans 70+ common ports and grabs service banners for each open one. False-positive hardened: the host is first probed on random unused ports — if it answers those too (tarpit, transparent proxy, or firewall that accepts everything), only ports with real application-layer evidence (a service banner, a TLS handshake, or a valid HTTP reply) are reported. Every open port is also re-verified before being listed. Enriched with data from Shodan and Censys when available.

ports module

🗺️ Subdomain Discovery — 4 passive sources + CT logs  ·  subdomains

Queries crt.sh, HackerTarget, RapidDNS, and AlienVault OTX simultaneously, cross-references with Certificate Transparency logs, resolves every result, checks if it's alive, and flags anything that looks sensitive.

subdomains module

🔨 Subdomain Brute Force  ·  brute

Tests thousands of common subdomain names via DNS with wildcard detection — eliminates false positives automatically. Finds subdomains that passive sources miss entirely.

brute module

🎯 Favicon Hash — tech fingerprint  ·  favicon

Fetches the favicon (HTML-declared first, then common paths in parallel — bounded so it never hangs), computes the MMH3 hash used by Shodan/Censys, and maps known hashes to technologies. Handy for fingerprinting the stack and pivoting to other hosts running the same favicon.

favicon module


Web Application Analysis

🖼️ Screenshot — Website overview  ·  screenshot

Takes a live screenshot of the target and runs it against the ransomware.live feed. Pulls the page title, meta description, favicon, CMS fingerprint, and checks whether the domain appears in any ransomware gang's leak posts.

screenshot module

🕵️ WhatWeb — Technology fingerprinting  ·  whatweb

Identifies the full tech stack — CMS, frameworks, JavaScript libraries, analytics, CDN, server, and more. Runs 80+ signature checks without sending a single intrusive request.

whatweb module

🤖 Robots / Security — Crawl rules + disclosure  ·  robots

Parses robots.txt for disallowed and allowed paths, highlights sensitive ones, and checks for a security.txt vulnerability disclosure contact. Also discovers sitemaps.

robots module

📚 Wayback Machine — Archive mining  ·  wayback

Queries the Wayback Machine for archived snapshots of the target — mining old endpoints, forgotten login pages, exposed config files, and paths that no longer exist on the live site but reveal the attack surface history.

wayback module

🧠 Content Intelligence — JS/HTML extraction  ·  content_intel

Scrapes the homepage HTML, inline scripts, and every first-party JS file, then extracts the valuable signal — not just secrets. Endpoints, internal/external URLs, API routes, database connection URIs, cloud storage (S3 / GCS / Azure / Firebase), emails, internal hosts, JWTs, private keys, source maps, and risky code comments. Static assets (.css, .js, images, fonts) and documentation domains (MDN, W3C) are filtered out; external URLs are collapsed to unique third-party hosts.

content_intel module

🔎 HTTP Inspector — request/response headers  ·  http_inspect

Your browser's DevTools Network tab, headless. Shows exactly what Kumo sent and exactly what came back — the full request headers, every response header verbatim, the complete redirect chain, cookie security flags, allowed HTTP methods, CORS behaviour, and any non-standard or leaky headers worth a second look.

http_inspect module

🔌 API Endpoint Fuzzer  ·  api_fuzzer

Smart API discovery. Probes a random baseline first to detect catch-all servers, confirms a base API path actually exists before fuzzing, then discovers live endpoints and checks for GraphQL introspection. Every hit shows its HTTP status and response byte size.

api_fuzzer module

🔑 JS Secret Scanner  ·  js_secrets

Pulls and scans first-party JavaScript for hardcoded secrets — API keys, tokens, cloud credentials, and private keys — with clear-text output and the exact source line for each hit.

js_secrets module

🔓 Sensitive Endpoint Discovery — 80+ known paths  ·  endpoints

Probes 80+ paths that are commonly left exposed: admin panels, backup files, config files, debug interfaces, API docs, source control, and infrastructure files. Every hit is severity-graded. A 403 Forbidden response still confirms the path exists and is automatically downgraded one severity level.

endpoints module


Security & Threat Intelligence

🛡️ HTTP Headers — Security grade  ·  headers

Checks every security-relevant response header and grades the configuration. Flags missing headers that leave the site open to XSS, clickjacking, MIME sniffing, and information disclosure.

headers module

🧱 WAF Detection  ·  wafw00f

Fingerprints the WAF or CDN sitting in front of the target using 40+ signatures — headers, cookies, server banners, and active probe responses. If nothing is detected, it says so clearly.

wafw00f module

🔓 Vulnerability Scanner — 358 built-in checks  ·  nuclei

nuclei module

Checks include: Log4Shell · Spring4Shell · Drupalgeddon2 · Confluence OGNL · Oracle WebLogic · 15 WordPress plugin CVEs · CORS misconfiguration · Host header injection · Clickjacking and many more.

Recent CVE detection (2024–2026) — a dedicated set of detection-only templates fingerprints exposure/version for the newest, actively-exploited CVEs (no exploitation, just correlation):

  RECENT CVE  cPanel / WHM Login Panel Exposed     CVE-2026-41940
  RECENT CVE  Next.js Middleware Auth Bypass       CVE-2025-29927
  RECENT CVE  SharePoint "ToolShell" RCE           CVE-2025-53770
  RECENT CVE  SAP NetWeaver Visual Composer        CVE-2025-31324
  RECENT CVE  Ivanti EPMM / Connect Secure         CVE-2025-4427
  RECENT CVE  CrushFTP Auth Bypass                 CVE-2025-31161
  ... 15 more (Fortinet · Palo Alto · Oracle EBS · Craft CMS · Vite · Langflow · Wazuh)
🔭 Shodan — InternetDB + CVE enrichment  ·  shodan

Queries Shodan InternetDB (free, no key) for open ports, CPEs, hostnames, and CVEs. Every CVE is enriched with CVSS score, severity, KEV flag, and description via Shodan's free CVEDB API.

shodan module

🔬 Censys — Hosts + certificates  ·  censys

Pulls host data and certificate intelligence from Censys. Enriched with optional API key for full results.

censys module

💀 Breach & Credential Intelligence — 5 sources  ·  breachintel

Aggregates from 5 free sources and runs an automatic per-email stealer check against Hudson Rock's database — showing which employee machines were infected, what malware ran, what passwords were stolen, and which services were compromised.

breachintel module

📧 Email Harvester  ·  email_harvest

Discovers @domain employee email addresses across multiple open sources, then merges in every confirmed email found during the breach intelligence scan.

email_harvest module

Sources: Hunter.io · crt.sh certificate logs · web page scraping (contact / about / team) · DNS SOA record · WHOIS contact · Wayback Machine archive · common business prefixes.

☁️ Cloud Storage Buckets  ·  cloud_buckets

Enumerates likely AWS S3 / GCP / Azure bucket names derived from the domain and checks for public exposure. Only a confirmed HTTP 200 (publicly readable) is reported — unreliable 403 responses are never flagged as findings.

cloud_buckets module

🔍 Google Dorks — 61 queries  ·  dorks

Generates 61 targeted Google dork queries pre-built for the domain — one click opens them in Google. Covers exposed files, login pages, sensitive directories, subdomains, cached pages, code repositories, and more.

dorks panel

🔗 OSINT Platform Links — 26 sources  ·  osint

Pre-generates 26 investigation links for the target across the most useful OSINT platforms — one click and you're there.

osint panel



⚙️ Optional API keys

Everything above works with no key at all. These only unlock richer data:

VariableUnlocks
SHODAN_API_KEYfull Shodan host data — banners, services, history
CENSYS_API_ID + CENSYS_API_SECRETfull Censys host & certificate search
HIBP_API_KEYper-email HaveIBeenPwned lookup
CHIASMODON_API_KEYChiasmodon pro tier — more results
RANSOMWARE_LIVE_API_KEYRansomware.live pro feed
export SHODAN_API_KEY="your_key_here"
# read at run time — never written to disk

📟 CLI reference

python3 kumo.py                               home screen — pick modules by number
python3 kumo.py example.com                   full scan
python3 kumo.py example.com --fast            skip the slow modules
python3 kumo.py example.com -m dns ssl ports  specific modules only
python3 kumo.py example.com -o report.json    export to JSON
python3 kumo.py --web                         web dashboard (port 8888)
python3 kumo.py --web -p 9000                 custom port
python3 kumo.py --list-modules                every module, grouped
python3 kumo.py --theme carbon example.com    void · glass · web · carbon
python3 kumo.py example.com --no-spider       disable the crawl animation
python3 kumo.py example.com --no-color        pipe-friendly output
FlagDefault
--themevoid, or $KUMO_THEME
-p / --port8888
--host0.0.0.0

Fast mode skips: wayback · brute · subdomains · screenshot · email_harvest · nuclei · cloud_buckets


🧪 Tests

python3 test_rules.py      # every rule fires on its fixture and on no decoy
python3 test_modules.py    # every module returns cleanly inside its budget
python3 test_live.py       # end-to-end against a real domain

test_rules.py is the one that matters. It runs each vulnerability rule against a vulnerable fixture and against seven decoys, and fails if a rule either misses its target or fires on something harmless.


🙏 Credits

Kumo collects and correlates — the data belongs to the sources below, and they deserve the star far more than this repo does:

SourceUsed for
crt.shcertificate transparency logs, subdomain discovery
Shodan InternetDBopen ports, CVEs, host tags — free, keyless
Hudson Rockinfostealer infection intelligence
ProjectDiscoverythe templates behind most vulnerability rules
Wayback Machinearchived URLs and historical surface

Respect each source's own terms of use and rate limits.


🌐 Ecosystem

ToolDomain
☁️Kumo 蜘蛛domain OSINT & reconnaissance
🌑Kage 影DFIR host triage

⚠️ For authorized security testing only. Only scan domains you own or have explicit written permission to test. Free to use, modify and share for educational and personal purposes — please credit the work. Commercial use requires explicit permission from the author.

Built for those who move fast. 蜘蛛

breach-intelligence
bugbounty
cybersecurity
domain-scanner
hacking
information-gathering
osint
pentesting
python
recon
reconnaissance-tool
red-team
security-scanner
security-tools
subdomain-enumeration
vulnerability-scanner
vulnify
web-scanner

Significant stargazers

Eugene Klimov

233 followers · starred Aug 2026

Nicky

123 followers · starred Jul 2026