Skip to main content

Cyber Intelligence tool for domain reconnaissance and vulnerability assessment

Project description

๐Ÿฆ– DomainRaptor

DomainRaptor

Version PyPI CI codecov Python License

DomainRaptor is a comprehensive Cyber Intelligence & Attack Surface Management (ASM) tool designed for red team operations, security assessments, and continuous monitoring. It aggregates data from multiple sources to provide deep visibility into an organization's external attack surface.

๐ŸŽฏ What is DomainRaptor?

DomainRaptor is built for security professionals who need to:

  • Discover all external assets (subdomains, IPs, certificates, services)
  • Assess security configurations and vulnerabilities
  • Enrich findings with third-party threat intelligence
  • Monitor changes in the attack surface over time
  • Report findings in multiple formats for different audiences

๐Ÿš€ Key Features

๐Ÿ” Multi-Source Discovery

Source Type API key Free tier
crt.sh Certificate Transparency โŒ โœ… Unlimited
CertSpotter Certificate Transparency โŒ โœ… Free
HackerTarget Subdomain enumeration โŒ โœ… ~100/day
Wayback Machine Historical subdomains / URLs โŒ โœ… Free
WHOIS Registration metadata โŒ โœ… Free
ASN lookup Network ownership โŒ โœ… Free
NVD CVE database correlation โš ๏ธ optional โœ… Free
Shodan Port / service / CVE data โœ… โš ๏ธ 100/month
ZoomEye Subdomain discovery โœ… โœ… Subdomains free
Censys IP lookup (Platform API v3) โœ… PAT โœ… Lookup free

๐Ÿ›ก๏ธ Security Assessment

  • SSL/TLS certificate analysis and validation (sslyze)
  • DNS security checks (DNSSEC, SPF, DMARC, DKIM)
  • HTTP security header compliance
  • CVE correlation with CVSS scoring (NVD enrichment)
  • Outdated-dependency / misconfiguration detection
  • Weighted risk scoring across vulnerabilities, configuration, exposure and reputation

๐Ÿ”ฌ Third-Party Enrichment

  • VirusTotal โ€” domain / URL reputation and malware analysis
  • URLScan โ€” submitted-scan metadata for URLs
  • SecurityTrails โ€” historical DNS and WHOIS

๐Ÿ“Š Reporting

  • HTML โ€” interactive dashboard with risk breakdown cards
  • JSON / YAML โ€” machine-readable for automation
  • Markdown โ€” documentation-friendly
  • PDF โ€” executive summaries

๐Ÿ‘๏ธ Continuous Monitoring

  • Track changes between scans (watch run)
  • Pause / resume / list watched targets
  • Historical comparison with diff reports

๐Ÿ–ฅ๏ธ Terminal UI

  • Full-featured Textual TUI launchable with domainraptor tui
  • Interactive screens for discovery, assessment, comparison and scan history

๐Ÿ“ฆ Installation

From PyPI (recommended)

pip install domainraptor
# or, faster
uv pip install domainraptor

First PyPI release is v0.6.x. If pip install returns 404, the publish workflow has not yet completed โ€” fall back to the Git install below.

From Git (latest development build)

pip install git+https://github.com/ErnestoCubo/DomainRaptor.git@main

From source (for contributors)

git clone https://github.com/ErnestoCubo/DomainRaptor.git
cd DomainRaptor
uv sync --extra dev          # or: pip install -e ".[dev]"

๐Ÿ”ง Quick Start

1. Configure API Keys (optional but recommended)

# View available integrations
domainraptor config list

# Set API keys (stored in ~/.domainraptor/.env)
domainraptor config set SHODAN_API_KEY your-shodan-key
domainraptor config set ZOOMEYE_API_KEY your-zoomeye-key
domainraptor config set CENSYS_API_TOKEN censys_xxx_yyy
domainraptor config set VIRUSTOTAL_API_KEY your-vt-key

# Test configuration
domainraptor config test

2. Run Your First Scan

# Full reconnaissance scan
domainraptor recon fullscan example.com

# Quick subdomain discovery
domainraptor discover subdomains example.com

# Security assessment
domainraptor assess config example.com

3. Generate Reports

# HTML dashboard
domainraptor report generate example.com -f html -o report.html

# JSON for automation
domainraptor report generate example.com -f json -o data.json

4. Launch the TUI

domainraptor tui

๐Ÿ“– Command Reference

DomainRaptor groups its CLI into the following top-level commands:

Group Purpose
discover Subdomain / certificate / host enumeration from individual sources
recon High-level multi-source reconnaissance workflows
assess Security assessments (SSL, DNS, headers, vulns, config)
enrich Third-party intelligence enrichment
watch Continuous monitoring of targets
compare Diff scans / targets / history
report Generate HTML / JSON / YAML / Markdown / PDF reports
db Inspect, export and prune stored scans
config Manage API keys and runtime settings
tui Launch the Textual terminal UI

Discovery

domainraptor discover subdomains example.com           # multi-source enum
domainraptor discover certs example.com                # crt.sh + CertSpotter
domainraptor discover shodan-host 1.2.3.4
domainraptor discover zoomeye-subdomains example.com
domainraptor discover censys-host 1.2.3.4
domainraptor discover whois example.com

Reconnaissance

domainraptor recon fullscan example.com
domainraptor recon fullscan example.com --no-shodan --no-censys
domainraptor recon fullscan example.com --max-results 50

Assessment

domainraptor assess config example.com         # full posture check
domainraptor assess ssl example.com
domainraptor assess dns example.com
domainraptor assess headers https://example.com
domainraptor assess vulns example.com          # CVE correlation via NVD
domainraptor assess outdated example.com
domainraptor assess exploits example.com

Enrichment

domainraptor enrich virustotal example.com
domainraptor enrich urlscan https://example.com
domainraptor enrich securitytrails example.com

Monitoring

domainraptor watch add example.com --interval 24h
domainraptor watch list
domainraptor watch run                          # execute due checks once
domainraptor watch pause <id>
domainraptor watch resume <id>
domainraptor watch status <id>
domainraptor watch remove <id>

Compare

domainraptor compare history example.com        # diff successive scans
domainraptor compare scans <id-a> <id-b>        # diff two scan ids
domainraptor compare targets example.com other.example.com

Reports

domainraptor report generate example.com -f html -o report.html
domainraptor report generate example.com -f json -o data.json
domainraptor report list example.com

Database

domainraptor db list                            # all stored scans
domainraptor db show <scan-id>
domainraptor db export <scan-id> -o scan.json
domainraptor db delete <scan-id>

๐Ÿ—‚๏ธ Project Structure

DomainRaptor/
โ”œโ”€โ”€ src/domainraptor/
โ”‚   โ”œโ”€โ”€ cli/                 # Typer CLI commands
โ”‚   โ”‚   โ””โ”€โ”€ commands/        # discover, recon, assess, enrich, watch,
โ”‚   โ”‚                        # compare, report, db, config
โ”‚   โ”œโ”€โ”€ core/                # Configuration, models, risk scoring
โ”‚   โ”œโ”€โ”€ discovery/           # crt.sh, CertSpotter, HackerTarget, Wayback,
โ”‚   โ”‚                        # WHOIS, ASN, NVD, Shodan, ZoomEye, Censys
โ”‚   โ”œโ”€โ”€ assessment/          # SSL, DNS, headers, orchestrator
โ”‚   โ”œโ”€โ”€ enrichment/          # VirusTotal, URLScan, SecurityTrails
โ”‚   โ”œโ”€โ”€ reporting/           # HTML, JSON, YAML, Markdown, PDF generators
โ”‚   โ”œโ”€โ”€ storage/             # SQLite database + repositories
โ”‚   โ”œโ”€โ”€ tui/                 # Textual terminal UI
โ”‚   โ””โ”€โ”€ utils/               # Logging, output formatting
โ”œโ”€โ”€ tests/                   # Pytest suite (unit + integration)
โ”œโ”€โ”€ wiki/                    # Source of the GitHub Wiki
โ””โ”€โ”€ docs/                    # Additional documentation

๐Ÿ” API Keys & Free Tiers

Service Free tier What you get
Shodan 100 queries/month Port scanning, CVE lookup, banners
ZoomEye Subdomain enum free Subdomain enumeration (host search paid)
Censys Direct lookup free IP lookup via Platform API v3 (search paid)
VirusTotal 500/day Malware analysis, URL reputation
SecurityTrails 50/month Historical DNS, WHOIS
URLScan Public scans free Submitted scan metadata
NVD Unlimited (rate-limited without key) CVE / CVSS data

Note: core functionality (CT logs, HackerTarget, Wayback, WHOIS, ASN, DNS / SSL / header checks) works without any API keys.

๐Ÿ—บ๏ธ Roadmap

  • Multi-source subdomain discovery
  • Shodan integration with CVE enrichment
  • ZoomEye international API support
  • Censys Platform API v3 (PAT token)
  • HTML / JSON / YAML / Markdown / PDF reports
  • SQLite scan history
  • Weighted risk scoring algorithm
  • WHOIS lookup integration
  • Textual terminal UI
  • Continuous monitoring (watch)
  • Active port scanning
  • Nuclei template integration
  • Slack / Discord notifications
  • Docker container

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit using Conventional Commits (git commit -m 'feat: add amazing feature')
  4. Push the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request against develop

The repository uses pre-commit hooks (ruff, codespell, detect-secrets). Run uv run pre-commit install after cloning. Releases are automated via release-please and published to PyPI through OIDC trusted publishing.

๐Ÿ“„ License

This project is open source under the MIT License.

โš ๏ธ Disclaimer

This tool is intended for legal security research and authorized penetration testing only. Users are responsible for ensuring they have proper authorization before scanning any targets. Unauthorized scanning may violate laws and service terms.


๐Ÿ“š Documentation: Wiki | ๐Ÿ› Issues: GitHub Issues | ๐Ÿ’ฌ Discussions: GitHub Discussions

Project details


Download files

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

Source Distribution

domainraptor-0.7.0.tar.gz (431.0 kB view details)

Uploaded Source

Built Distribution

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

domainraptor-0.7.0-py3-none-any.whl (217.6 kB view details)

Uploaded Python 3

File details

Details for the file domainraptor-0.7.0.tar.gz.

File metadata

  • Download URL: domainraptor-0.7.0.tar.gz
  • Upload date:
  • Size: 431.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for domainraptor-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f71518ab2bbd7cd1f1692870b6b1b1f15f6bbc915aa11c49ebbabfd71dcd0b78
MD5 d51092dd63ede3106db2606786f2862e
BLAKE2b-256 162a751329dd240362f602aae4dfcfd5e8dbb0390b1fc182703d2247a37622e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for domainraptor-0.7.0.tar.gz:

Publisher: publish.yml on ErnestoCubo/DomainRaptor

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

File details

Details for the file domainraptor-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: domainraptor-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 217.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for domainraptor-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9a34458f424738fd3c479d0f5a1d65104c4f411201da004eab2cbd532833f88
MD5 de2b86b1c710ef2ebfc5957b0d6a3421
BLAKE2b-256 464644b6a9fd0855209e3cfe21813d2539538f3cfb2d5e6760bdc03202c55bf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for domainraptor-0.7.0-py3-none-any.whl:

Publisher: publish.yml on ErnestoCubo/DomainRaptor

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page