ReconHound
Modern High-Performance, Asynchronous & Modular Engine for External Attack Surface Management (EASM), Asset Reconnaissance, Active Validation, and Vulnerability Weaponization Intelligence.
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.
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:
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
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.
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
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).
Requires Python 3.11 or higher and pip / venv virtual environment manager.
Step 1: Clone and Install Dependencies
# 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:
# 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
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:
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:
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:
# ==============================================================================
# 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:
# Display complete diagnostics table for system and APIs
reconx config check
# Automatically diagnose and configure missing prerequisites
reconx config setup
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.
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 │
╰──────────────────────────────────────────────────────────────────────────────╯
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
# 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
# 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.
⠀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣷⠀⠀⢰⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣿⣧⠀⣼⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢸⣿⣿⡆⠘⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣸⣿⣿⣿⡄⠙⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⣿⣿⣿⣷⡀⣿⣿⣿⣿⠿⠿⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 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. |
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_rootbecomes the only visible node, the camera will smoothly glide and zoom into it automatically. - Floating Leads Modal (Context Menu): Right-click the
target_rootnode 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 pressingESC). - 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_rootbecomes the only visible node, the camera will smoothly glide and zoom into it automatically. - Floating Leads Modal (Context Menu): Right-click the
target_rootnode 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 pressingESC). - 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. |
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.
A vulnerability is only displayed along the priority lineage if it satisfies the strict conjunction of all 3 dimensions:
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.
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.