API Endpoints
GET /health- Health check endpoint for monitoringGET /api/analyze/<cve_id>- Get detailed CVE analysisGET /api/search- Search CVEs with filtersGET /api/recent- Get recent CVEs
├── app.py # Main Flask application with health endpoint
├── config.py # Enhanced configuration with Flask settings
├── run_webapp.py # Production-ready application launcher
├── requirements.txt # Pinned Python dependencies
├── .github/workflows/keepalive.yml # GitHub Actions keep-alive workflow
├── api/ # NVD API client
├── models/ # Data models
├── services/ # Business logic
├── templates/ # HTML templates
├── static/ # CSS, JS, images
└── utils/ # Utility functions
- Health Monitoring:
/healthendpoint for uptime monitoring - Rate Limiting: Configurable request rate limiting
- Session Management: Secure session handling with environment-based secrets
- Caching: Built-in Flask caching for improved performance
- Auto Keep-Alive: GitHub Actions workflow prevents app sleeping
- Environment Configuration: Production-ready environment variable support(https://img.shields.io/badge/license-MIT-blue.svg)
A web application for analyzing CVE (Common Vulnerabilities and Exposures) data using the NIST NVD API.
🌐 Live Demo: https://cve-insight-tool.onrender.com
- Search and analyze individual CVEs
- Browse recent vulnerabilities with filtering
- Export analysis results
- Clean, responsive web interface
- Real-time data from NIST NVD API v2.0
- Health monitoring with automatic keep-alive
- Production-ready deployment configuration
Main overview with quick access to all features and recent activity summary.
Detailed vulnerability analysis with CVSS metrics, affected products, and comprehensive information.
Advanced search functionality with keyword, product, and severity filtering.
Browse the latest published vulnerabilities with pagination and real-time filtering.
Process multiple CVEs simultaneously for comprehensive risk assessment.
Track and review all analyzed CVEs during your session with detailed statistics.
- Clone the repository
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python run_webapp.py
- Open http://localhost:5000 in your browser
- Fork this repository
- Connect to Render
- Create new Web Service from your fork
- Configure:
- Runtime: Python 3
- Build Command:
pip install -r requirements.txt - Start Command:
python run_webapp.py
- Set environment variables:
FLASK_SECRET_KEY: Random 32+ character stringNVD_API_KEY: Your NIST API key (optional but recommended)
The repository includes a GitHub Actions workflow that automatically keeps the Render app awake by pinging the health endpoint every 10 minutes.
# Required for production
export FLASK_SECRET_KEY="your_secure_secret_key_here"
# Optional but recommended for higher rate limits
export NVD_API_KEY="your_api_key_here"Get a free NVD API key at: https://nvd.nist.gov/developers/request-an-api-key
Enter a CVE ID (e.g., CVE-2021-44228) to get detailed information including:
- CVSS scores and severity
- Affected products
- Reference links
- Vulnerability description
Search by keywords, product names, or filter by:
- Severity level
- Date range
- Maximum results
Browse recently published vulnerabilities with pagination and filtering options.
GET /api/analyze/<cve_id>- Get detailed CVE analysisGET /api/search- Search CVEs with filtersGET /api/recent- Get recent CVEs
├── app.py # Main Flask application
├── config.py # Configuration settings
├── run_webapp.py # Application launcher
├── requirements.txt # Python dependencies
├── api/ # NVD API client
├── models/ # Data models
├── services/ # Business logic
├── templates/ # HTML templates
├── static/ # CSS, JS, images
└── utils/ # Utility functions
- Flask - Web framework with enhanced production configuration
- Flask-Limiter - Rate limiting for web requests
- Flask-Caching - Response caching for improved performance
- Requests - HTTP client for NVD API communication
- Python-dateutil - Date parsing and manipulation
- Rich - Enhanced console formatting
- Colorama - Cross-platform terminal colors
The application includes several monitoring features:
- Health check endpoint (
/health) returns JSON status - GitHub Actions workflow pings the app every 10 minutes
- Render's built-in health monitoring
- Request logging and error tracking
MIT License






