Skip to content

FoxSecIntel/Vulnerability-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

129 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status Python CI License Latest Release

Vulnerability Analysis Toolkit

A vulnerability triage and exposure analysis toolkit for practical defensive workflows.

Why this project

  • Impact: Speeds up vulnerability enrichment and patch-priority decision making.
  • Scale: Supports repeatable command-line checks and script-based batch usage.
  • Use case: CVE triage, update awareness, and local baseline security assessment.

Demo media

  • Screenshot: Vulnerability-Analysis terminal screenshot

Capability snapshot

  • CVE enrichment and update tracking helpers
  • Local baseline assessment scripts
  • Writeup support for analyst documentation

What’s Included

  • scripts/: CLI utilities for CVE detail lookups, security update checks, and baseline host assessment
  • writeups/: Vulnerability analysis notes and case studies
  • assets/: Supporting screenshots/diagrams

Quick Start

cd Vulnerability-Analysis

Install Python dependencies for API and release-monitor tooling:

python3 -m pip install -r requirements.txt

1) CVE lookup

./scripts/get-cvedetails.py CVE-2025-32463
./scripts/get-cvedetails.py --summary CVE-2025-32463 CVE-2025-32462
./scripts/get-cvedetails.py --compact -b cves.txt
./scripts/get-cvedetails.py --full-desc CVE-2021-44228
./scripts/get-cvedetails.py -f json --json-compact CVE-2025-32463
./scripts/get-cvedetails.py -b cves.txt -f csv --sort severity
./scripts/get-cvedetails.py --published-after 2025-01-01 -b cves.txt --save cve-report.txt

Optional shell alias for faster usage

Add this to your ~/.bash_profile:

alias cvecheck='python3 ~/r/repos/Vulnerability-Analysis/scripts/get-cvedetails.py'

Then reload your shell and run:

source ~/.bash_profile
cvecheck CVE-2025-32463

Exit code policy:

  • 0: successful query set with no High/Critical findings
  • 2: successful query set with at least one High/Critical finding
  • 1: operational error or no successful CVE results

2) Release risk monitor (internet-facing products)

python3 ./scripts/release-risk-monitor.py
python3 ./scripts/release-risk-monitor.py citrix
python3 ./scripts/release-risk-monitor.py sonicwall vmware
python3 ./scripts/release-risk-monitor.py --output json
python3 ./scripts/release-risk-monitor.py --output markdown
python3 ./scripts/release-risk-monitor.py --alert-on high
python3 ./scripts/release-risk-monitor.py --no-state --output json

What it does:

  • Tracks release and advisory pages for frequently targeted internet-facing products
  • Detects changes between runs and scores new risk signals
  • Extracts CVEs and checks for CISA KEV matches
  • Produces text, JSON, or Markdown output for analyst workflows and reporting
  • Includes parser confidence (high, medium, low) and source fallback indicators to improve source-quality judgement
  • Uses focused scoring text windows on large advisory pages to reduce false positives from generic page chrome

Key benefit:

  • Reduces analyst triage time by surfacing high-risk release-note changes quickly, with actionable risk context.

Optional shell alias for faster usage:

Add this to your ~/.bash_profile:

alias releaserisk='python3 ~/r/repos/Vulnerability-Analysis/scripts/release-risk-monitor.py'

Then reload your shell and run:

source ~/.bash_profile
releaserisk --output markdown

Local state is stored in scripts/release_state.json unless --no-state is used.

3) Security updates snapshot

./scripts/get-securityupdates.sh
./scripts/get-securityupdates.sh --json

4) Local security baseline check

./scripts/sec-assess.sh

Repository Layout

Path Purpose
scripts/get-cvedetails.py Query NVD CVE API and format results
scripts/get-securityupdates.sh Show available security updates
scripts/release-risk-monitor.py Monitor vendor release notes and score high-risk change signals
scripts/sec-assess.sh Basic local security baseline checks
writeups/ Vulnerability writeups and analysis notes

Notes for Analysts

  • Outputs are intended for triage and enrichment, not exploit automation.
  • Always validate findings against your internal asset inventory and patch baseline.
  • Network/API sources can time out or be rate limited; rerun critical checks.

Legal & Safety

Use only on systems and data you own or are explicitly authorized to test.


License

MIT

Quick Demo

# 1) Run a core check
# 2) Request JSON output
# 3) Pipe into jq for analyst workflows

About

No description or website provided.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors