Skip to content

OCEANOFANYTHING/SmartSubAI

SmartSubAI

SmartSubAI

Advanced Subdomain Enumeration with AI-Powered Risk Assessment

FeaturesInstallationUsageConfigurationExamplesContributing

Features

  • 🔍 Advanced Subdomain Enumeration

    • Multi-threaded DNS resolution
    • Custom wordlist support
    • Configurable timeout and retry settings
    • Support for multiple DNS record types (A, AAAA, CNAME)
  • 🤖 AI-Powered Risk Assessment

    • Powered by Cohere's advanced language models
    • Intelligent scoring of subdomains based on security relevance
    • Detailed reasoning for each risk score
    • Customizable scoring criteria
  • 📊 Comprehensive Reporting

    • Interactive HTML reports
    • JSON export for integration
    • Detailed subdomain information
    • Risk score breakdowns
    • IP address and DNS record information

Installation

  1. Clone the repository:
git clone https://github.com/OCEANOFANYTHING/SmartSubAI.git
cd SmartSubAI
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure your Cohere API key:

    • Get your API key from Cohere
    • Add it to config/settings.ini or set the SMARTSUBAI_COHERE_KEY environment variable

Usage

Basic usage:

python smartsubai.py -d example.com

Advanced options:

python smartsubai.py -d example.com -w custom_wordlist.txt --threads 20 --limit 100

Command Line Arguments

  • -d, --domain: Target domain to enumerate (required)
  • -w, --wordlist: Path to custom wordlist file
  • --threads: Number of threads for parallel enumeration (default: 10)
  • --limit: Maximum number of subdomains to enumerate
  • --no-limit: Remove subdomain limit
  • --test: Run in test mode (uses mock data)
  • --output-dir: Custom directory for saving results

Configuration

The tool can be configured through config/settings.ini:

[AI]
cohere_api_key = your_api_key_here
model = command-r7b-12-2024

[DNS]
timeout = 1
retries = 2
nameservers = 8.8.8.8,8.8.4.4,1.1.1.1,1.0.0.1

[Scanning]
max_threads = 10
max_subdomains = 200

Examples

  1. Basic scan:
python smartsubai.py -d example.com
  1. Custom wordlist:
python smartsubai.py -d example.com -w wordlists/custom.txt
  1. High-performance scan:
python smartsubai.py -d example.com --threads 20 --no-limit
  1. Limited scan:
python smartsubai.py -d example.com --limit 50

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Cohere for providing the AI capabilities
  • dnspython for DNS resolution
  • All contributors and users of SmartSubAI
  • Special thanks to the open-source community for their invaluable support

About

Advanced Subdomain Enumeration with AI-Powered Risk Assessment

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages