Skip to content

mclperera/patchintel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PatchIntel πŸ›‘οΈ

AI-Driven Patch Tuesday Risk Dashboard

A modular framework that ingests Microsoft Patch Tuesday data, maps vulnerabilities to organizational assets, and calculates contextual risk with future GenAI reasoning capabilities.


🎯 Project Vision

PatchIntel is not a traditional vulnerability scanner. It is a risk interpretation & decision-support engine that transforms technical patch data into actionable insights for security leaders.

Core Capabilities

  • πŸ” Patch Intelligence - Fetch & parse Microsoft Patch Tuesday updates
  • 🏒 Asset Mapping - Correlate vulnerabilities with organizational assets
  • πŸ“Š Risk Scoring - Quantify exposure with deterministic risk models
  • πŸ€– AI Reasoning (Future) - Generate insights and remediation guidance

πŸš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)
  • Internet connection

Installation

  1. Clone the repository:
git clone https://github.com/mclperera/patchintel.git
cd patchintel
  1. Install dependencies:
pip install -r requirements.txt
  1. Fetch your first Patch Tuesday:
cd patch-intel
python patchintel.py fetch --month 2024-11
  1. View module capabilities:
python patchintel.py --help
python patchintel.py info

πŸ“¦ Project Structure

patchintel/
β”œβ”€β”€ docs/                    # Documentation
β”‚   └── PRD.md              # Product Requirements Document
β”‚
β”œβ”€β”€ patch-intel/            # βœ… Phase 1: Patch Tuesday data ingestion
β”‚   β”œβ”€β”€ src/               # Source code
β”‚   β”‚   β”œβ”€β”€ __init__.py   # Package initialization
β”‚   β”‚   β”œβ”€β”€ fetcher.py    # Microsoft API client
β”‚   β”‚   β”œβ”€β”€ parser.py     # Data normalizer
β”‚   β”‚   └── cli.py        # Command-line interface
β”‚   β”œβ”€β”€ samples/          # Sample datasets
β”‚   └── patchintel.py     # Main CLI entry point
β”‚
β”œβ”€β”€ asset-ingestion/        # βœ… Phase 2: Asset ingestion & normalization
β”‚   β”œβ”€β”€ src/               # Source code
β”‚   β”‚   β”œβ”€β”€ __init__.py   # Package initialization
β”‚   β”‚   β”œβ”€β”€ ingestion.py  # Multi-source asset loader
β”‚   β”‚   β”œβ”€β”€ normalizer.py # Data normalizer
β”‚   β”‚   └── cli.py        # Command-line interface
β”‚   β”œβ”€β”€ samples/          # Sample ServiceNow export
β”‚   β”œβ”€β”€ output/           # Normalized assets
β”‚   β”œβ”€β”€ patchintel-assets.py  # Main CLI entry point
β”‚   β”œβ”€β”€ PHASE2_SUMMARY.md     # Phase 2 completion summary
β”‚   └── PHASE3_INTEGRATION.md # Integration guide for Phase 3
β”‚
β”œβ”€β”€ risk-engine/            # 🚧 Phase 3: Risk calculation (coming soon)
β”œβ”€β”€ dashboard/              # 🚧 Phase 4: Web UI (coming soon)
β”œβ”€β”€ ai-layer/               # 🚧 Phase 5: GenAI reasoning (coming soon)
β”‚
β”œβ”€β”€ requirements.txt        # Python dependencies
β”œβ”€β”€ .gitignore             # Git ignore rules
└── README.md              # This file

πŸ—οΈ Development Phases

βœ… Phase 1: Patch Tuesday Data Ingestion

Status: Complete

Retrieve and normalize Microsoft Patch Tuesday vulnerability data.

Features:

  • βœ… Fetch data via Microsoft Security Update Guide API
  • βœ… Parse CVRF documents and extract CVE details
  • βœ… Export to JSON and CSV formats
  • βœ… Generate vulnerability statistics

Usage:

cd patch-intel
python patchintel.py fetch 2025-Oct
python patchintel.py process 2025-Oct

βœ… Phase 2: Asset Ingestion & Normalization

Status: Complete

Ingest and standardize asset inventory data from multiple sources.

Features:

  • βœ… ServiceNow CMDB export support
  • βœ… Generic CSV/JSON import with field mapping
  • βœ… Automatic OS name normalization
  • βœ… Data quality scoring (0-100)
  • βœ… Field completeness validation
  • βœ… Standard schema for Phase 3 integration

Usage:

cd asset-ingestion

# Load and preview assets
python patchintel-assets.py ingest samples/servicenow_cmdb_export.csv --preview

# Normalize to standard schema
python patchintel-assets.py normalize samples/servicenow_cmdb_export.csv output/assets.csv --stats

# Validate data quality
python patchintel-assets.py validate samples/servicenow_cmdb_export.csv --min-quality 70

Output Schema:

  • 20 standardized fields (hostname, os, os_version, business_criticality, patch_group, etc.)
  • 91/100 average data quality on test data
  • Ready for Phase 3 CVE correlation

πŸ“– Phase 2 Summary | Phase 3 Integration Guide


🚧 Phase 3: Rule-Based Risk Engine (Next)

Correlate vulnerabilities to assets and calculate risk scores.

Planned Features:

  • CVE-to-asset matching (OS/version correlation)
  • Risk scoring algorithm (CVSS Γ— Criticality Γ— Exploitability)
  • Prioritized remediation lists by patch group
  • Deployment scheduling based on maintenance windows
  • Summary reports and statistics

Integration:

  • Input: Phase 1 CVEs (233 from Oct 2025) + Phase 2 Assets (25 normalized)
  • Output: Asset-CVE pairs with contextual risk scores (0-100)

🚧 Phase 4: Dashboard (Coming Soon)

Local web UI for visualization and exploration.

Planned Features:

  • Risk heatmaps
  • Asset vulnerability views
  • CVE breakdown by severity
  • Export capabilities

🚧 Phase 5: GenAI Reasoning Layer (Coming Soon)

Intelligent analysis and recommendations.

Planned Features:

  • Natural language impact summaries
  • Tailored remediation guidance
  • Asset data enrichment
  • Executive briefings

πŸ”§ Current Module: patch-intel

Fetch Patch Tuesday Data

cd patch-intel
python patchintel.py fetch --month 2024-11

Parse and Analyze

# Show statistics only
python patchintel.py parse samples/patch_tuesday_2024_11.json --stats-only

# Parse and save normalized data
python patchintel.py parse samples/patch_tuesday_2024_11.json --output-dir normalized/

Quick Process (Fetch + Parse)

python patchintel.py process --month 2024-11

Output Example

{
  "cve_id": "CVE-2024-43451",
  "title": "Windows NTLM Remote Code Execution Vulnerability",
  "severity": "Critical",
  "cvss_base_score": 9.8,
  "exploit_status": "ACTIVE",
  "affected_products": ["Windows 11", "Windows Server 2022"],
  "kb_articles": ["KB5012345"]
}

πŸ“Š Sample Output

==============================================================
PATCH TUESDAY DATA SUMMARY
==============================================================

Total Vulnerabilities: 89

By Severity:
  Critical       :  15
  Important      :  58
  Moderate       :  14
  Low            :   2

⚠️  Vulnerabilities with Active Exploits: 3
πŸ”΄ Critical Vulnerabilities: 15
πŸ“Š Average CVSS Score: 7.2
==============================================================

πŸ› οΈ Technology Stack

  • Language: Python 3.8+
  • Data Processing: pandas
  • API Calls: requests
  • CLI: click
  • Future: FastAPI, Streamlit (for dashboard)

πŸ“– Documentation


🀝 Contributing

We welcome contributions! This project follows a phased approach:

  1. Each phase is a self-contained module
  2. Modules can be used independently or together
  3. Follow existing code style and documentation standards

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests and documentation
  5. Submit a pull request

πŸ—ΊοΈ Roadmap

Phase Status Description
Phase 1 βœ… Complete Patch Tuesday data ingestion (233 CVEs from Oct 2025)
Phase 2 βœ… Complete Asset ingestion & normalization (25 assets, 91/100 quality)
Phase 3 🚧 Next Rule-based risk engine (CVE-Asset correlation)
Phase 4 🚧 Planned Basic dashboard
Phase 5 🚧 Planned GenAI reasoning layer
Phase 6 πŸ’­ Future Adaptive CMDB overlay

πŸ“ Release History

v0.2.0 (Current)

  • βœ… Asset ingestion from ServiceNow CMDB exports
  • βœ… Multi-source asset loading (CSV, JSON)
  • βœ… Automatic OS normalization
  • βœ… Data quality scoring (0-100)
  • βœ… Standard 20-field schema
  • βœ… Phase 3 integration ready

v0.1.0

  • βœ… Microsoft Patch Tuesday data fetching
  • βœ… CVRF document parsing and normalization
  • βœ… JSON and CSV export capabilities
  • βœ… Vulnerability statistics generation
  • βœ… CLI interface

πŸ“„ License

[Add your license here]


πŸ™‹ Support

For questions, issues, or feature requests:

  • Open an issue on GitHub
  • Check module-specific READMEs
  • Review the PRD for project context

πŸŽ“ Learn More


Built with ❀️ for security teams everywhere

Making Patch Tuesday less painful, one module at a time.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages