Home / Docs / ReconHound Community Edition

ReconHound

Modern High-Performance, Asynchronous & Modular Engine for External Attack Surface Management (EASM), Asset Reconnaissance, Active Validation, and Vulnerability Weaponization Intelligence.

Python 3.11+ Asyncio / HTTPX SQLite EASM Cytoscape.js MIT License

1. Introduction

ReconHound is an External Attack Surface Management (EASM) and Threat Intelligence engine built for analysts, Red Teams, and researchers. It automates reconnaissance and unifies the results in a real-time graphical interface.

What is "EASM & Threat Intelligence Engine"?

External Attack Surface Management (EASM) is the process of discovering, monitoring, and evaluating internet-exposed assets to identify attack vectors before adversaries do. ReconHound acts as an engine that enriches this data with threat intelligence, actively validates findings, and qualifies real-world exploitation risk. It transforms terabytes of raw, noisy internet telemetry into prioritized, actionable intelligence, enabling security teams to focus on what truly matters.

BloodHound-like Philosophy

Strongly inspired by BloodHound, ReconHound models the external attack surface as a directed relationship graph (Target Root → Domains → IPs → Services → CVEs → PoCs). The tool unifies passive intelligence, active validation on open ports, and evidence traceability into a seamless visual experience designed to expose attack vectors.

High-Concurrency EASM

Ultra-fast asynchronous scans for single IPs, CIDR ranges (/24), root domains, emails, CVE IDs, and complex Shodan/Censys queries.

Active Validation (Masscan + Nuclei)

High-speed port verification with banner grabbing and automated vulnerability scanning enforced on verified active services.

Risk & Source Prioritization

Eliminate alert fatigue: cross-reference CVSS Base with FIRST EPSS, CISA KEV, and explicit vulnerability source provenance.

Interactive Attack Surface Graph

Built-in ReconHound WebGUI powered by FastAPI + Cytoscape.js with context menus, scan state toggles (Start/Stop), and instant filters.

2. Architecture & Correlation Pipeline

The ReconHound engine executes an asynchronous 5-stage pipeline designed to transform raw OSINT and active scans into a high-fidelity relational graph model:

1. Discovery, Primary Recon & CDN Bypass

TLS certificate transparency (crt.sh), reverse WHOIS intelligence (WhoisFreaks), host profiling via Shodan/Censys, Shared CDN/Anycast Proxy Bypass (Cloudflare/Fastly/Akamai) to eliminate tenant noise, and Automatic BGP/RDAP Fallback (IP-API / RIPE Stat).

2. Scope Governance & DNS Resolution

Concurrent DNS (A/AAAA) resolution strictly bounded to the target domain hierarchy (*.target.com) and Strict Scope Governance for Organization (org:) and ASN (asn:) targets, preventing out-of-scope third-party infrastructure from polluting the inventory.

3. Active Validation & Verification

Ultra-fast active port & banner scans with Masscan (WAF evasion) and targeted vulnerability auditing with Nuclei (Verified Active rule).

4. Threat Intel, Scoring & PoCs

Automated CVE enrichment via NVD 2.0 (CVSS/CWE), FIRST EPSS probabilities, CISA KEV cataloging, ExploitDB shellcodes, and GitHub exploit PoCs.

5. Graph Synthesis & Multi-Channel Output

Multi-tiered semantic hierarchical DAG modeling (6 vertical layers with balanced matrices), Strict Attack Path Isolation in risk filters, bidirectional Inspector navigation, and exports to SQLite, CSV, JSON, Markdown, and executive HTML.

Relational Topology Hierarchy (Host-Centric & Target-Driven)

The structured data synthesized into the Graph organizes nodes through an agile, **Host-Centric** attack chain architecture:

Relationship Hierarchy
Target Query Root (Anchor with Full DNS Inventory: all_domains & all_subdomains)
  ├── CONTAINS_TARGET ──► Target Hosts / IPs (with metadata badge 🌐 N FQDNs)
  │     └── EXPOSES ──► Services / Ports (Local 1:N Instances per Host)
  │           └── HAS_VULN ──► CVEs (Global Deduplicated N:M Entities)
  │                 ├── ENRICHED_WITH ──► FIRST EPSS + CISA KEV
  │                 └── WEAPONIZED_BY ──► ExploitDB + GitHub PoCs
  └── CONTAINS_TARGET ──► Explicit FQDN Targets (Scan Targets Marked On-Demand)
        └── RESOLVES_TO ──► Resolved Hosts / IPs
Graph Modeling & Architecture

ReconHound renders a Clean Sandbox graph focused on fluid interaction and Top-Down topology (Root → Assets → Services → CVEs), smartly consolidating large volumes of data:

  • Clean & Direct Focus: The canvas starts completely clean. Passive subdomains don't clutter the screen; they are organized in the Asset Inspector and materialize only when set as active targets.
  • Dynamic Layout: Dense graphs render ports and services under an organized, vertical Proportional Grid.
  • Intelligence Deduplication: IPs expose independent services, while vulnerabilities (CVEs) act as centralized entities, enabling transversal impact analysis.

Recursive Retroactive Discovery Engine & Incremental Fusion (Smart Upsert)

The core technological differentiator of ReconHound compared to static asset discovery scanners is its Autonomous Recursive Surface Expansion Cycle. Rather than confining analysis to initial query blocks (such as a single ASN, Org name, or CIDR range), the engine launches a multi-tier heuristic correlation chain in real time:

1. Heuristic Identity Extraction

Scans TLS certificates (SNI), HTTP headers, and service banners discovered in Primary Recon to extract hidden root domains and registered FQDNs owned by the target.

2. Cascading Subdomain Enumeration

Dynamically feeds discovered domain identities into Certificate Transparency (crt.sh) and Reverse WHOIS to uncover the complete organizational domain hierarchy.

3. Concurrent DNS Resolution (A/AAAA)

Resolves hundreds of subdomains concurrently via asyncio with semaphore throttling, unearthing satellite IP blocks and cloud networks invisible to the initial query.

4. Continuous Retroactive Profiling

Injects newly mapped DNS IPs back into the passive profiling pipeline, enriching open ports, services, ASN routing, and geolocation automatically.

Diagram: Recursive Surface Expansion Pipeline
Target Query (e.g. org:'ACME Corp')
  │
  ├─► [1. Primary Recon] ───────► Host Profiling + TLS / HTTP Banners
  │                                     │
  │                                     ▼ Heuristic Domain Extraction
  ├─► [2. Cascading Enumeration] ─► crt.sh + Reverse WHOIS (Domains & Subdomains)
  │                                     │
  │                                     ▼ Concurrent DNS Resolution (A/AAAA)
  ├─► [3. Network Expansion] ───► Discovery of New Satellite IP Infrastructure
  │                                     │
  │                                     ▼ Retroactive Passive Profiling
  └─► [4. Incremental Fusion] ──► SQLite Smart Upsert: Preserved History + Merged Provenance
Persistence Architecture: Non-Destructive Fusion (Smart Upsert & Source Merging)

When executing recurring scans over existing SQLite databases in ./data/dbs/, the engine enforces strict relational integrity rules without context loss:

  • Strict Asset Uniqueness: Guarantees unique entity integrity for (ip_id, port, protocol) and IP records, preventing redundant graph nodes.
  • Provenance Merging (sources): If a port was previously identified via Shodan and actively validated via Masscan, the engine fuses sources: ["Masscan", "Passive", "Shodan"].
  • Cumulative Enrichment (COALESCE): ASN, Organization, Country, City, and Geo-coordinates are enriched without overwriting existing data.
  • Scan Traceability (scan_results): Each scan run appends a distinct audit record, maintaining chronological visibility into attack surface growth.

3. Installation Guide (Quickstart)

ReconHound runs natively across Linux, macOS, and Windows (via WSL2).

System Requirements

Requires Python 3.11 or higher and pip / venv virtual environment manager.

Step 1: Clone and Install Dependencies

Bash
# Clone repository
git clone https://github.com/ls4ss/ReconHound.git
cd ReconHound

# Run the automated installer, bootstrap dependencies,
# configure capabilities, and set up your secure Dashboard Admin credentials.
reconx config setup

Step 2: Active Scan Binaries (Masscan & Nuclei)

The reconx config setup routine automatically verifies and configures raw socket network capabilities (setcap) and templates. To manually install the binaries:

Bash
# Installation (Debian / Ubuntu / Kali Linux)
sudo apt update && sudo apt install -y masscan

# Grant non-root Linux capabilities for WebUI execution:
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which masscan)

# Installation (Nuclei via Go or pre-built binary):
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
Masscan Binary Requirement & Linux Capabilities:

Active port scanning utilizes asynchronous raw network packet transmission via Masscan. Ensure the masscan binary is installed on your system with raw socket privileges granted via Linux Capabilities:

Bash
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which masscan)

Step 3: Local Exploit Database (ExploitDB)

The local exploit database cache is initialized automatically during setup. To update it on demand:

Bash
reconx config update

4. Configuration & API Keys

ReconHound includes free out-of-the-box fallbacks (crt.sh, HackerTarget, FIRST EPSS, CISA KEV, and GitHub PoC API). To unlock deeper network range profiling, configure your API keys in .env:

The .env file is automatically created from .env.example during setup. Configure your keys as needed:

.env
# ==============================================================================
# ReconHound - External Attack Surface Management & Threat Intelligence Engine
# Copy this file to .env and insert your API keys as needed.
# ==============================================================================

# [Required for Shodan Queries, Subnets, DNS & Banner Reconnaissance]
SHODAN_API_KEY=

# [Required for V3: AlienVault OTX Threat Actors & Malware extraction]
ALIENVAULT_API_KEY=

# [Required for V3: SecurityTrails Subdomain & Passive IP Enumeration]
SECURITYTRAILS_API_KEY=

# [Optional: Censys Platform API v3 Personal Access Token & Org ID]
CENSYS_PAT_TOKEN=
CENSYS_ORG_ID=

# [Optional: Censys Legacy API ID & Secret]
CENSYS_API_ID=
CENSYS_API_SECRET=

# [Optional: NVD API Key for Accelerated CVSS & CWE Enrichment]
NVD_API_KEY=

# [Optional: WhoisFreaks API Key for Structured Reverse WHOIS Domain Mapping]
WHOISFREAKS_API_KEY=

# [Optional: GitHub Personal Access Token for Public Exploit & PoC Hunting]
GITHUB_TOKEN=

Diagnostics & Automated Pre-requisite Configuration

Verify environment health, Python dependencies, operational folders, permissions, and live API endpoints:

Bash
# Display complete diagnostics table for system and APIs
reconx config check

# Automatically diagnose and configure missing prerequisites
reconx config setup
SECTION 5: Engine OPERATION

5. ReconExec

The command-line interface is driven by Typer and styled with Rich, providing clean formatting, asynchronous progress indicators, and high-visibility risk tables.

reconx --help
Usage: reconexec [OPTIONS] COMMAND [ARGS]...                                   
                                                                                
╭─ Global Recon Scans ─────────────────────────────────────────────────────────╮
│ all         Execute passive attack surface mapping using ALL modules.        │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Targeted Recon Modules ─────────────────────────────────────────────────────╮
│ shodan      Execute passive scan using the 'Shodan' module.                  │
│ censys      Execute passive scan using the 'Censys' module.                  │
│ crtsh       Execute passive scan using the 'crt.sh' module.                  │
│ whois       Execute passive scan using the 'Reverse WHOIS' module.           │
│ sectrails   Execute passive scan using the 'SecurityTrails' module.          │
│ axfr        Execute passive scan using the 'Zone Transfer' module.           │
│ otx         Execute passive scan using the 'AlienVault OTX' module.          │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Utility & Intelligence ─────────────────────────────────────────────────────╮
│ intel       Execute advanced threat intelligence lookups.                    │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ System & Configuration ─────────────────────────────────────────────────────╮
│ version     Show ReconExec version and maintainer information.               │
│ config      Manage configuration, setup, and system updates                  │
╰──────────────────────────────────────────────────────────────────────────────╯
Smart Engine

The reconx CLI natively handles API rate-limits (Anti-HTTP 429) and guarantees graph node generation for fresh targets with no prior history, ensuring they are ready for active scans in the WebUI.

Target Scan Modes

Target Type Engine Example Pipeline Action
Root Domain reconx all spacex.com crt.sh enum + Reverse WHOIS + DNS resolution + Shodan/Censys + CVE Scoring
Single IP Address reconx all 142.250.191.68 Shodan profile + Censys v3 dossier + Ports + Banners + CVEs
CIDR Subnet Range reconx all 142.250.191.0/24 Network block scan + Active host discovery + Port correlation
CVE Identifier reconx intel CVE-2021-44228 NVD CVSS v3.1 + CWE + FIRST EPSS % + CISA KEV flag + ExploitDB + PoCs
Shodan Custom Query reconx all "org:'Acme Corp' port:443" Custom infrastructure asset discovery & vulnerability correlation
Batch Targets List reconx all targets.txt Batch target loading + Centralized single pre-flight validation + Target node anchoring for Active Recon

Recon Modules & Flags

Flag Allowed Values Technical Description
TARGET Positional STRING Analysis target (IP, Domain, CIDR, email, or batch file targets.txt).
COMMAND Subcommand all, shodan, censys, crtsh, whois, sectrails, axfr, otx, intel Modules executed as main subcommands (e.g., reconexec all spacex.com).
--create-db DATABASE_NAME Persists raw reconnaissance graph into ./data/dbs/{name}.sqlite for ReconHound.
-o, --format table, json, markdown, html, csv, all Security report export format.
-f, --output-file PATH Custom output file path for the exported report.
-d, --output-dir DIRECTORY Target directory for batch multi-format export (when using -o all).

SQLite EASM Persistence

Bash
# Scan domain and persist into ./data/dbs/company.sqlite
reconx all company.com --create-db company

# Scan subnet and persist into ./data/dbs/datacenter.sqlite
reconx all 198.51.100.0/24 --create-db datacenter

Executive Reports & Export

Export Examples
# 1. Executive Markdown Report
reconx all company.com -o markdown -f executive_report.md

# 2. Standalone Styled HTML Report (Print & PDF Ready)
reconx all company.com -o html -f easm_report.html

# 3. Structured JSON for SIEM/SOAR integration
reconx all company.com -o json -f attack_surface.json

# 4. Tabular CSV for Spreadsheet Analysis
reconx all company.com -o csv -f vulnerabilities.csv

# 5. Batch export of all formats into a directory
reconx all company.com -o all -d ./exports/company/

6. ReconHound Dashboard

ReconHound provides an interactive graph visualization experience inspired by SpecterOps BloodHound, powered by FastAPI and Cytoscape.js.

reconx hound start
⠀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣷⠀⠀⢰⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣿⣧⠀⣼⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢸⣿⣿⡆⠘⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣸⣿⣿⣿⡄⠙⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⣿⣿⣿⣷⡀⣿⣿⣿⣿⠿⠿⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀   RECONHOUND DAEMON
⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⢻⣿⣿⣿⠟⢿⣿⠛⣦⡀⢻⣿⡇⠀   ==================================
⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣶⡞⠻⣶⠛⢻⡄⠹⠀⠀   [✓] Attack Surface Dashboard UI
⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣾⣿⣶⣿⣿⠆⠀⠀   [✓] Threat Tracking Engine
⠀⢠⣿⣿⣿⡄⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣉⣉⣉⣉⣉⣉⣉⣉⣉⡉⠀⠀⠀   Usage: reconexec hound start
⠀⢸⣿⣿⣿⣷⡀⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Secure Authentication (JWT)

The Dashboard is fully protected by JWT (JSON Web Tokens) and HttpOnly secure cookies. The reconx config setup command securely derives a unique encryption key (JWT_SECRET_KEY) from your Admin password and saves it to your local .env file. Sessions automatically expire after 30 minutes of inactivity, and you can explicitly clear your session using the Terminate Session button located at the bottom of the sidebar menu.

Network Configuration (.webserver.json)

The local state file ~/.reconexec/run/.webserver.json stores the daemon configuration. If you need to change network socket addresses (like host and port) to allow external access or modify the port, simply edit this file while the server is stopped. When running hound start again, the server will automatically adopt the new network settings defined in the JSON file.

Daemon Server Commands

Command Description
reconx hound start Starts background FastAPI server on port 8000 (http://127.0.0.1:8000).
reconx hound list-dbs Lists all saved SQLite attack surface databases in ./data/dbs/.
reconx hound status Checks daemon status (PID, port, uptime).
reconx hound stop Safely terminates background ReconHound server process.
Non-Disruptive Daemon Lifecycle:

When running primary Engine scans (reconx all ...), the engine automatically verifies if ReconHound is already running. If active, it preserves the running server instance without restarting, avoiding interruptions to active scans (Masscan/Nuclei) or browser disconnections. Newly created SQLite databases are stored in data/dbs/ and become instantly selectable from the dashboard's top database dropdown.

Graph-First UX & Floating Lead Management

ReconHound adopts a Graph-First interaction model. Instead of relying on cluttered sidebars, you manage your passive attack surface directly from the canvas itself.

  • Target Root Persistence: The central node (target_root) acts as your scope anchor. Even if you deselect all leads or click "Collapse All", this node remains visible on the canvas.
  • Cinematic Auto-Centering: If the target_root becomes the only visible node, the camera will smoothly glide and zoom into it automatically.
  • Floating Leads Modal (Context Menu): Right-click the target_root node and select "Explore Leads..." to open an interactive, translucent modal directly in the center of the graph featuring a real-time search bar. From here, you can seamlessly search, filter, and select passive IPs, Domains, and Subdomains to expand the visual tree. (You can quickly dismiss it by clicking anywhere on the canvas or pressing ESC).
  • Intelligent Auto-Select: If your initial scan discovers a very small footprint (50 leads or less), the engine will preemptively select and render them all upon your first dashboard load, avoiding unnecessary manual clicks.
  • Canvas HUD Search: The search bar is now embedded directly as a floating HUD in the top-left of the canvas, maximizing tactical screen real estate.
  • Clean Canvas (BloodHound-style): The graph starts completely clean, showing only the root node. Expanding assets no longer forces target updates in the database, promoting a fluid, passive exploration.
  • CLI Command reconx hound restart: Enables seamless, instant restart of the WebGUI backend without dropping dependencies during development.

Graph-First UX & Floating Lead Management

ReconHound adopts a Graph-First interaction model. Instead of relying on cluttered sidebars, you manage your passive attack surface directly from the canvas itself.

  • Target Root Persistence: The central node (target_root) acts as your scope anchor. Even if you deselect all leads or click "Collapse All", this node remains visible on the canvas.
  • Cinematic Auto-Centering: If the target_root becomes the only visible node, the camera will smoothly glide and zoom into it automatically.
  • Floating Leads Modal (Context Menu): Right-click the target_root node and select "Explore Leads..." to open an interactive, translucent modal directly in the center of the graph featuring a real-time search bar. From here, you can seamlessly search, filter, and select passive IPs, Domains, and Subdomains to expand the visual tree. (You can quickly dismiss it by clicking anywhere on the canvas or pressing ESC).
  • Intelligent Auto-Select: If your initial scan discovers a very small footprint (50 leads or less), the engine will preemptively select and render them all upon your first dashboard load, avoiding unnecessary manual clicks.
  • Canvas HUD Search: The search bar is now embedded directly as a floating HUD in the top-left of the canvas, maximizing tactical screen real estate.

Graph Topology & Semantic Visual Guide

Node Type Graph Shape Color Identifier Operational Meaning
Target Root
Void (#111116) • Purple Border Graph root and query anchor.
Domain
Deep Blue (#00b4d8) Domain principal raiz/organizacional descoberto no reconhecimento.
Subdomain
Teal (#4ecdc4) Child host/FQDN derived from a target domain.
IP Address
Amethyst (#9b59b6) IP Address passivo ou resolvido ativamente.
Marked Target
Neon Cyan Border (#00f0ff) IP or FQDN explicitly marked as a target of interest.
WAF Bypass (Origin)
Dotted Orange (#f97316) Origin IP discovered bypassing WAF/CDN.
Service (Passive)
Dark Slate (#1e293b) OSINT discovered port awaiting active validation.
Service (Active)
Emerald Green (#27ae60) Service actively confirmed open by Masscan.
Vulnerability (CVE)
Risk Gradient Evaluated via CVSS (Red Critical to Blue Info).
CISA KEV (Exploited)
Blood Red (#ff1744) • Glow CISA KEV vulnerability actively exploited in the wild.

Edge Semantics & Relational Topology

Directed relationship edges represent resolution, exposure, and threat ancestry in the attack surface graph:

Edge Label Visual Style Color / Width Source ➔ Target Operational Semantics
CONTAINS_TARGET
Purple (#8c52ff) Root ➔ Domains / IPs Primary hierarchical link of scope.
RESOLVES_TO
Teal (#4ecdc4) Domain ➔ IP Active/current DNS resolution.
IPS_HISTORY
Orange (#f59e0b) Domain ➔ IP Historical IP discovered passively.
EXPOSES (Passivo)
Green (#2ecc71) IP ➔ Port Discovered via OSINT (awaiting test).
EXPOSES (Ativo)
Green (#2ecc71) IP ➔ Port Actively open / validated via Masscan.
HAS_VULN
Gradient (Ex: Red #ef4444) Service ➔ Vulnerability Conditional dotted edge that dynamically inherits the color based on CVSS Score.
INTERACTIVE TOPOLOGY SIMULATION (CYTOSCAPE.JS)

Interface Highlights & Active Engine

ReconHound's interface is designed to be highly intuitive (similar to BloodHound), allowing you to navigate, filter, and attack targets with just a few clicks.

  • Interactive Navigation: Left-click any node to open the Asset Inspector (technical details, geolocation, vulnerabilities), and right-click to open the Context Menu (target marking, collapse/uncollapse, and quick actions).
  • Smart Target Management (WAF/CDN Bypass): When setting a Domain/Subdomain (FQDN) as a target, ReconHound preserves the Server Name Indication (SNI) to bypass WAFs and Cloudflare. For IP targets, the engine handles dynamic connection reconciliation.
  • Smart Scanning (Masscan & Nuclei): Designed for stealth and operational efficiency. Masscan skips already verified active ports, and Nuclei strictly attacks "Confirmed Active" ports, reducing network noise to zero. Both engines perform graceful database state saves if cancelled.
  • Strict Attack Path Filtering: Using the sidebar filters (like CISA KEV or Critical CVSS), the graph prunes the entire network to isolate only direct attack chains (Root ──► IP ──► Port ──► CVE), hiding all harmless visual noise.

7. Threat Intelligence & 3D EASM Risk Matrix

The traditional vulnerability prioritization model based purely on static CVSS scores is obsolete. In a real External Attack Surface Management (EASM) scenario, a purely theoretical CVSS 9.8 vulnerability on an inactive host or with no known exploit represents less immediate operational risk than a CVSS 7.5 flaw on an exposed port actively weaponized by ransomware operators.

To eliminate the noise of thousands of irrelevant alerts and guide security teams directly to imminent threats, ReconExec and ReconHound implement the Three-Dimensional EASM Risk Matrix.

The 3 Fundamental Dimensions

Dimension 1: Active Validation (The Asset)

Measures: Real, confirmed Internet exposure.

The asset must have an open port and confirmed active service verified via Masscan or HTTP/S probes. Vulnerabilities on dead hosts or unverified passive ports are disqualified.

Dimension 2: Technical Severity (The Impact)

Measures: The intrinsic severity of potential damage if exploited.

Filters out low-priority noise (Low/Info), requiring CRITICAL, HIGH, or MEDIUM severity with significant CVSS v3.1 scores (≥ 5.0 / 6.5).

Dimension 3: Active Threat (Real-World Danger)

Measures: Mathematical and historical evidence of weaponization in the wild.

Operates via logical disjunction (OR): triggered if at least 1 of 3 global threat signals is present (CISA KEV, High EPSS ≥ 20%, or functional public PoCs).

The 3 Pillars of Dimension 3 (Real-World Threat)

Dimension 3 does not require 100% coincidence across all feeds to prevent dangerous blind spots. It is triggered if the finding matches any of the following pillars:

Intelligence Pillar Data Source Trigger Condition Operational Meaning
CISA KEV CISA Catalog (US Homeland Security) is_cisa_kev = true Confirmed weapon in active cyber attacks (Priority P1). Identifies if the vulnerability is actively utilized in Known Ransomware Campaigns.
FIRST EPSS FIRST.org Machine Learning Model epss_score ≥ 0.20 (20%) High statistical probability of exploitation in the wild over the next 30 days.*
PoC Weaponization ExploitDB, Nuclei Templates & GitHub exploit_count ≥ 1 or has_pocs = true Tracks public exploits and repositories community-verified via GitHub stars to filter out fakes. The engine tracks Nuclei Templates, indicating fully automated botnet weaponization.

*EPSS Note: Within the strict context of the 3D Matrix (combined with an exposed asset and Critical CVSS), a 20% probability is already alarming. For isolated predictive analysis via the sidebar Quick Filters, ReconHound applies an aggressive baseline of High EPSS > 50% to highlight extreme imminent danger.

Logical Formulation of the 3D Risk Matrix

A vulnerability is only displayed along the priority lineage if it satisfies the strict conjunction of all 3 dimensions:

3D Visibility = Dimension 1 (Confirmed Active Asset)
∧ Dimension 2 (Technical Severity)
∧ [ CISA KEV ∨ EPSS ≥ 20% ∨ Public PoC ]

Practical Comparative Scenario

Consider two vulnerabilities discovered by the pipeline on an organization's attack surface:

Vulnerability A: CVSS 9.8 (Theoretical Critical)

  • Dimension 1: HTTP service active (Port 8080).
  • Dimension 2: CVSS 9.8 (Critical).
  • Dimension 3: Not in CISA KEV, EPSS = 0.05% (near zero), no public PoC.

Traditional Approach: Teams spend days remediating this theoretical flaw first solely based on its nominal score.

Vulnerability B: CVSS 7.5 (Active Real-World Threat)

  • Dimension 1: SSL service active (Port 443).
  • Dimension 2: CVSS 7.5 (High).
  • Dimension 3: Listed in CISA KEV and armed with public exploits on ExploitDB.

ReconHound Decision: ReconHound flags Vulnerability B as Top Priority (P1), as it represents an immediate threat of breach.

3D Risk Matrix Filter in ReconHound

When checking the [✓] 3D Risk Matrix filter in the ReconHound sidebar:

  • The graph isolates and renders only full lineages (Lead → Domain → IP → Active Service → Vulnerability) where all 3 dimensions are satisfied.
  • Collapsed clusters with 0 qualifying 3D vulnerabilities are automatically hidden, and counters reflect exact qualifying counts.
  • In the Inspector drawer, the vulnerability list, scores, and exploits strictly display confirmed 3D findings.