Skip to content

About

Automated CVE monitoring system built on the NVD API — ranks vulnerabilities by severity across 5 security domains (web, cloud, database, dev, OS) and stores results in Oracle for scheduled, cron-driven threat tracking.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

NVD Checker

Automated CVE monitoring system built on top of the NIST National Vulnerability Database (NVD) API. Analyzes vulnerabilities across five security domains, ranks keywords by severity, and stores results in Oracle for scheduled, hands-off monitoring.

What it does

  • Queries the NVD API 2.0 for CVEs matching a set of domain-specific keywords (rate-limited to stay within NVD's request limits).
  • Ranks the top 5 keywords by severity per run, so a security team can see what's trending worst first.
  • Persists results to an Oracle database for historical tracking.
  • Ships with per-team analysis scripts and ready-to-use cron job definitions, so each security team (web, cloud, database, development, operating system) can run its own scheduled monitoring independently.

Project structure

  • nvd_client.py — NVD API 2.0 client: handles requests, rate limiting, and response parsing.
  • get_top5_keywords.py — core analysis engine: takes a list of keywords, queries NVD, ranks by severity, writes to Oracle via oracledb.
  • simple_search.py — lightweight keyword search without database storage, for quick manual checks.
  • scripts/ — per-team wrapper scripts (web_security_analysis.py, cloud_security_analysis.py, database_security_analysis.py, comprehensive_security_analysis.py) that call get_top5_keywords.py with team-specific keyword sets and logging.
  • configs/ — keyword lists per security domain (web, cloud, database, development, operating system, and a comprehensive combined list).
  • cron_jobs/ — ready-to-install cron job definitions per team, covering daily, every-4-hours, weekly, and custom-keyword monitoring cadences.
  • setup_directories.py — one-time setup script to create the local logs/ output structure.
  • setup_cron_jobs.sh / setup_cron_jobs.bat — install the cron jobs from cron_jobs/ on Linux/macOS or Windows Task Scheduler.

Setup

pip install -r requirements.txt
cp .env.example .env   # fill in your NVD_API_KEY and Oracle credentials
python setup_directories.py

Usage

# Analyze the top 5 web security keywords by severity, last 7 days
python scripts/web_security_analysis.py

# Manual keyword search, no database write
python simple_search.py "Apache" --days 30

# Full custom run
python get_top5_keywords.py --keywords "WordPress" "PHP" "Java" --days 7 --output file --file logs/custom.txt

Notes

This project went through a round of simplification — an earlier iteration included a standalone scheduler, logger, and CLI interface module that were consolidated into the per-team scripts and Python's schedule/cron-based automation instead, since the added abstraction wasn't earning its complexity for a project this size. What's here now is the actively used, working version.

About

Automated CVE monitoring system built on the NVD API — ranks vulnerabilities by severity across 5 security domains (web, cloud, database, dev, OS) and stores results in Oracle for scheduled, cron-driven threat tracking.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages