Skip to content

A client-server application for CVE analysis and exploit detection with bilingual support, detailed reports, and a modern web interface.

License

Notifications You must be signed in to change notification settings

cansolele/exploit-seek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

76 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Exploit Seek Logo

πŸ” Exploit Seek

A client-server application for comprehensive CVE analysis, exploit detection and vulnerability assessment. The system provides a modern web interface with powerful features to aggregate data from multiple trusted sources, helping security professionals evaluate risks, detect available exploits and determine patching priorities through detailed analysis and reporting capabilities.

Installation Guide β€’ Features β€’ Examples β€’ Roadmap

Dashboard Screenshot

πŸ“‹ Table of Contents

Click to expand

🎯 Overview

Exploit Seek is a comprehensive client-server application designed to analyze CVE vulnerabilities and detect available exploits. The system features an intuitive web interface with bilingual support, customizable themes, and real-time analysis tracking. It collects and processes data from multiple trusted sources, including exploit databases, security research repositories, and vulnerability intelligence platforms, helping security professionals assess exploitation risks, identify public exploits, and generate detailed analytical reports.

✨ Features

Web Interface Features

  • Dark/Light theme support for comfortable work at any time
  • Bilingual interface (English/Russian)
  • Real-time analysis progress tracking
  • File history with quick access to previous reports
  • User-friendly settings management:
    • Server configuration
    • API keys management
    • Proxy configuration (HTTP/HTTPS support with authentication)
    • Language selection
    • Theme preferences
  • Secure authentication system

CVE Analysis & Exploit Detection

  • Comprehensive vulnerability assessment using CVSS scoring system
  • Exploitation probability evaluation through EPSS
  • Public exploit detection from multiple sources:
    • ExploitDB repository scanning
    • GitHub security research monitoring
    • VulnCheck intelligence integration
  • Integration with CISA Known Exploited Vulnerabilities (KEV) catalog
  • Nuclei template matching for vulnerability verification
  • Advanced patching priority assessment (A+ to D rating) based on:
    • CVSS base scores
    • EPSS probability
    • Public exploit availability
    • Presence in CISA KEV catalog

Input Processing

  • Multiple vulnerability scanner format support:
    • REDCheck reports
    • Nmap Vulners output
    • Custom XML formats
  • Direct CVE list input
  • PDF report analysis
  • Plain text file processing

Report Generation

  • Detailed Excel reports with:
    • Summary statistics
    • Color-coded priority indicators
    • Data filtering capabilities
    • Multiple sheets for exploits and references
  • HTML report generation with interactive elements
  • Bilingual report support (English/Russian)

Performance Optimization

  • Intelligent caching system for external API responses:
    • Reduces API calls and improves response time
    • Handles rate limits and service outages
    • Caches EPSS scores, exploit data, KEV catalog, and more
    • 24-hour cache duration with automatic invalidation
    • Works offline for previously analyzed CVEs

πŸ“Š Examples

View sample reports and outputs in our examples directory:

Excel Report Example Excel Report Example

Download sample Excel report: Exploit Seek Report.xlsx

HTML Report Example HTML Report Example

View sample HTML report: Exploit Seek Report.html

Application Screenshot Application Settings

πŸš€ Installation

πŸ‹ Docker Installation (Recommended)

# Clone repository
git clone https://github.com/cansolele/exploit-seek.git
cd exploit-seek

# Build and start containers
docker-compose build --no-cache
docker-compose up -d

# The server will be available at http://0.0.0.0:5000
# The client will be available at http://0.0.0.0:8080

πŸ”§ Manual Installation

Server Setup
  1. Install system dependencies:
sudo apt update
sudo apt install -y python3 python3-pip python3-venv libxml-xpath-perl pdfgrep
  1. Create and activate virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install Python dependencies:
cd server
pip install -r requirements.txt
  1. Run the server:
# Development mode
python server.py

# Production mode with Gunicorn
gunicorn --worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker \
         --workers 1 --bind 0.0.0.0:5000 server:app
Client Setup
  1. Navigate to the client directory:
cd exploit-seek/client
  1. Install client dependencies:
npm install
  1. Build the client application:
npm run build
  1. Serve the client application:
  • Using Python's HTTP server:
python3 -m http.server 8080 --directory dist
  • Or using Node.js serve package:
npx serve -s dist

πŸ“ Project Structure

exploit-seek/
β”œβ”€ client/                    # Frontend application
β”‚  β”œβ”€ Dockerfile
β”‚  β”œβ”€ src/
β”‚  β”‚  β”œβ”€ components/         # React components
β”‚  β”‚  β”‚  β”œβ”€ Auth/           # Authentication components
β”‚  β”‚  β”‚  β”œβ”€ ExploitsTable/  # Main analysis interface
β”‚  β”‚  β”‚  β”œβ”€ Footer/         # Footer components
β”‚  β”‚  β”‚  └─ Header/         # Header and settings
β”‚  β”‚  β”œβ”€ hooks/             # Custom React hooks
β”‚  β”‚  └─ App.jsx            # Main application component
β”‚  └─ vite.config.js        # Vite configuration
β”œβ”€ server/                   # Backend application
β”‚  β”œβ”€ Dockerfile
β”‚  β”œβ”€ config/               # Configuration files
β”‚  β”‚  └─ service_config.py  # Service settings
β”‚  β”œβ”€ constants/            # Application constants
β”‚  β”‚  β”œβ”€ api_endpoints.py   # API endpoints
β”‚  β”‚  β”œβ”€ directories.py     # Directory paths
β”‚  β”‚  β”œβ”€ messages.py        # Message strings
β”‚  β”‚  └─ thresholds.py      # Threshold values
β”‚  β”œβ”€ models/               # Database models
β”‚  β”œβ”€ parsers/              # Input data parsers
β”‚  β”‚  β”œβ”€ base_parser.py     # Base parser class
β”‚  β”‚  β”œβ”€ manual_parser.py   # Manual input parser
β”‚  β”‚  β”œβ”€ nmap_parser.py     # Nmap XML parser
β”‚  β”‚  └─ redcheck_parser.py # RedCheck parser
β”‚  β”œβ”€ routes/               # API routes
β”‚  β”‚  β”œβ”€ exploits_routes.py # Exploit analysis routes
β”‚  β”‚  └─ settings_routes.py # Settings management
β”‚  β”œβ”€ services/             # Business logic services
β”‚  β”‚  β”œβ”€ api/              # External API services
β”‚  β”‚  β”‚  β”œβ”€ nvd_service.py      # NVD API integration
β”‚  β”‚  β”‚  β”œβ”€ epss_service.py     # EPSS API integration
β”‚  β”‚  β”‚  β”œβ”€ exploitdb_service.py # ExploitDB integration
β”‚  β”‚  β”‚  β”œβ”€ github_service.py    # GitHub API integration
β”‚  β”‚  β”‚  β”œβ”€ kev_service.py       # KEV API integration
β”‚  β”‚  β”‚  β”œβ”€ nuclei_service.py    # Nuclei integration
β”‚  β”‚  β”‚  └─ vulncheck_service.py # VulnCheck integration
β”‚  β”‚  β”œβ”€ base/             # Base service classes
β”‚  β”‚  β”‚  β”œβ”€ api_service.py    # Base API service
β”‚  β”‚  β”‚  └─ cache_service.py  # Caching service
β”‚  β”‚  β”œβ”€ exploits_service.py # Exploit analysis service
β”‚  β”‚  β”œβ”€ file_service.py    # File operations service
β”‚  β”‚  └─ report_service.py  # Report generation service
β”‚  β”œβ”€ server.py            # Main server file
β”‚  └─ requirements.txt     # Python dependencies
β”œβ”€ exploit_seek_data/      # Application data
β”‚  β”œβ”€ cache/              # API response cache
β”‚  β”œβ”€ databases/          # Local databases
β”‚  β”œβ”€ logs/              # Application logs
β”‚  β”œβ”€ reports/           # Generated reports
β”‚  └─ uploads/           # Uploaded files
└─ docker-compose.yml     # Docker configuration

βš™οΈ Configuration

Service Configuration

The application uses a centralized configuration system located in server/config/service_config.py that controls various aspects of API services. When running in Docker, the configuration directory is mounted as a volume, allowing you to edit settings without rebuilding the container:

  1. Edit server/config/service_config.py on your host machine
  2. Changes will be immediately available to the application
  3. No container restart required for most configuration changes

The configuration includes:

  • Cache Settings:
    • CACHE_TTL: Time-to-live for cached responses (default: 24 hours)
    • CACHE_SIZE_LIMIT: Maximum number of items in cache
    • CACHE_CLEANUP_INTERVAL: Interval for automatic cache cleanup
    • Empty results are also cached to prevent unnecessary API calls

API Keys

The application requires API keys for full functionality:

Configure these in the application settings after installation.

Proxy Configuration

The application supports HTTP/HTTPS proxy configuration that can be set up either globally through the web interface or individually for specific services in server/config/service_config.py. This allows you to control which services use proxy and which connect directly.

Configure proxy settings in the application settings after installation.

πŸ“± Usage

  1. Initial Setup
    • Configure server address
    • Set up API keys (NVD, VulnCheck)
    • Choose interface language (English/Russian)
    • Select theme mode (Dark/Light)
    • Configure other interface preferences
  2. Data Input
    • Choose input method (manual/file upload)
    • Select vulnerability scanner type
    • Upload or enter CVE data
  3. Analysis Configuration
    • Select data sources
    • Configure output settings
    • Choose sorting options
  4. Report Generation
    • Select report format (HTML/Excel)
    • Configure report details
    • Download and view results

πŸ” Analysis Results

Reports include:

  • Detailed CVE information with CVSS scores
  • Exploitation probability assessments
  • Available public exploits from multiple sources
  • Patching priority recommendations
  • References and additional resources

Excel reports feature:

  • Color-coded priority indicators
  • Custom data filtering
  • Multiple data sheets
  • Summary statistics

HTML reports provide:

  • Interactive elements
  • Comprehensive data presentation
  • Easy navigation
  • Export capabilities

🌐 Resources Used

πŸ› οΈ Built With

Frontend

  • React + Vite
  • Material-UI
  • Socket.IO Client
  • Recharts

Backend

  • Flask
  • SQLAlchemy
  • Flask-SocketIO
  • OpenPyXL
  • Jinja2

Infrastructure

  • Docker
  • Docker Compose
  • Gunicorn
  • Gevent

πŸ—ΊοΈ Roadmap

Upcoming features and improvements:

Intelligence Enhancement

  • 🧠 Neural analysis integration with Ollama
  • πŸ€– AI-powered vulnerability assessment
  • πŸ“ˆ Advanced risk prediction models

Scanner Integration

  • πŸ” Additional vulnerability scanner support
  • πŸ”„ Automated scan result import

Report Improvements

  • πŸ“Š Enhanced interactive HTML reports
  • 🎨 Customizable report templates
  • πŸ“ˆ Advanced data visualization options

Analysis Capabilities

  • πŸ” Deep learning-based exploit detection
  • 🎯 Enhanced risk scoring algorithms
  • πŸ”„ Real-time threat intelligence integration

πŸ“§ Contact

For questions, bug reports, and suggestions, please contact: shvs@cbi-info.ru