An open-source project by  Senserva  ·  Microsoft MISA member
senserva.com →
⚠ EARLY ACCESS We're just getting started — data, scanner, and docs are all actively being built. Bear with us.
OPEN SOURCE · MIT + CC BY 4.0 · patchcurated.org

Open patch intelligence
for every platform.
Free to use. Free to build on.

38 sources. 25,000+ applications. Windows, macOS, and Linux. A portable SQLite database anyone can query — and a free scanner built on top of it. Patch management got complicated — expensive tools, vendor lock-in, cloud dependencies. PatchCured makes it a verb again: find the gaps, Cure It, move on. Works standalone or alongside Ivanti, SCCM, Intune, and any existing patching tool.

Get the Data → PatchCured Scanner GitHub
25K+
Applications
38
Data Sources
40K+
Detection Rules
30K+
CVEs Tracked
1,200+
CISA KEV
3
Platforms

Built and maintained by Senserva

Senserva is a Microsoft security company and member of the Microsoft Intelligent Security Association (MISA) — an invite-only program for independent software vendors building best-in-class security solutions on Microsoft technology. PatchCurated is our open-source foundation. PatchCured is the free scanner built on it. More tools coming.

Open Data Repository

One database. 38 sources. Any tool can use it.

A single portable SQLite file updated on your schedule. Use the pre-built database, sync it yourself, or build new sources and contribute them back.

curated CLI
Full sync from all 38 sources
curated repo init

MSRC API 4,200 patches
WinGet 4,712 apps
Homebrew Cask 5,041 apps
NVD / OSV CVEs enriched
34 more sources

Done — 21,847 patches · 41,320 rules

Incremental refresh (daily/weekly)
curated repo sync

Compact scan-ready copy (40–50% smaller)
curated repo clone scan-ready.db
Removed 1,350 superseded patches
8.2 MB — was 14.7 MB

Pre-built database

Download patches.db directly from the repo. No build step. Open with any SQLite client or point cured.exe straight at it.

Air-gap ready

Sync once, clone to a compact copy with superseded patches stripped, move the single .db file to USB. No internet required at scan time.

Build on it

Open SQLite schema — query directly, integrate into your own tooling, or pipe through PowerShell. Commercial use is free with attribution to patchcurated.org.

Coverage

Every major platform. Every major app.

Windows
29
Sources · ~20,000+ apps
MSRC APIWindows CUsUpdate CatalogWinGet 4,700+ChromeFirefoxOffice 365JavaAdobe+ 20 more
macOS
4
Sources · ~5,000+ apps
Apple SecuritySafariXcodeHomebrew Cask 5,000+
Linux
3
Sources · Ubuntu, Debian, RHEL
Ubuntu USNDebian TrackerRed Hat CVE API
CVE Enrichment
3
Sources · ~30,000 CVEs
NVD / NISTOSV / GoogleGitHub AdvisoryCVSS v3 + v4EPSSCISA KEV
Detection Rules
40K+
Across all platforms
FileVersionRegistryKeyMsiProductCodeBundleVersionPackageVersion
Database
SQLite
Single portable file
50–100 MB fullWAL modeAir-gap ready3–8 min sync
PatchCured Scanner

No agent. No cloud account. No config required.

Download cured.exe, run as administrator, read the output. Missing patches, security misconfigurations, and suspicious events in one pass. Find what's wrong — Cure It. Built on PatchCurated data.

cured.exe
Scan this machine
cured

MISSING PATCHES (3)
CRITICAL KB5049981 — 2025-01 CU for Windows 11
CRITICAL KB5034441 — .NET Framework 4.8.1
IMPORTANT Chrome-132 — Google Chrome 132.x

SECURITY CONFIG (2 findings)
CRITICAL SEC-003 LSA Protection disabled
IMPORTANT SEC-005 SMBv1 still enabled

SECURITY EVENTS (7 days)
IMPORTANT EVT-001 47 failed logon attempts

JSON output for scripting
cured --json | ConvertFrom-Json

AI-ready export — paste into any AI chat
cured --export-ai scan.md

Missing patches

File version probes, registry supplement, and MSI database detection. Supersedence resolved automatically — both direct (KB-to-KB) and composite (file versions already satisfied).

Security configuration

12 registry-based checks: WDigest, LSA Protection, SMBv1, LLMNR, UAC, firewall, RDP, auto-logon credentials, PowerShell v2, unquoted paths, and more.

Security events

8 event log queries over the last 7 days — failed logons with source IPs, lockouts, RDP sessions, admin group changes, audit log cleared, new services, new accounts.

AI analysis — free, no key needed

Export with --export-ai and paste into Claude.ai, ChatGPT, or Copilot. The file includes a prompt template. Or use --ai-key for inline automated analysis.

Security Configuration Checks

SEC-001 through SEC-012

CheckWhat It CatchesSeverity
SEC-001AutoAdminLogon with plaintext credentials in registryCritical
SEC-002WDigest enabled — plaintext passwords cached in LSASS memoryCritical
SEC-003LSA Protection (RunAsPPL) disabledCritical
SEC-004Windows Firewall disabled on any profileImportant
SEC-005SMBv1 still enabled — used by WannaCry and ransomwareImportant
SEC-006UAC disabled or weakenedImportant
SEC-007LLMNR enabled — name poisoning attack surfaceImportant
SEC-008Remote Desktop allowed without Network Level AuthenticationImportant
SEC-009PowerShell v2 available — bypasses constrained language mode and loggingModerate
SEC-010Unquoted service paths — privilege escalation vectorModerate
SEC-011Excessive credential caching (cached logon count)Moderate
SEC-012Guest account enabledModerate
PowerShell Module

Native PowerShell objects. Pipe anywhere.

The module wraps cured.exe --json and returns real PowerShell objects — filter, sort, export to CSV, or feed into Intune detection scripts.

PowerShell
Import-Module Netchk25
$r = Invoke-Netchk25Scan

Filter critical patches
$r.missingPatches |
  Where-Object severity -eq 'Critical' |
  Format-Table kbArticleId, title

Security findings that failed
$r.securityFindings |
  Where-Object finding -eq $true |
  Format-Table checkId, name, severity

Export for AI — no key needed
Export-Netchk25ForAi

Intune detection script (exit 1 if critical)
$r = Invoke-Netchk25Scan -Severity Critical
if ($r.missingPatches.Count -gt 0) { exit 1 }

Invoke-Netchk25Scan

Scan local machine. Returns object with missingPatches, securityFindings, summary, and optional aiAnalysis.

Get-Netchk25Apps

All detected applications with versions, vendor, and detection method.

Export-Netchk25ForAi

Scan and export as AI-ready .md or .csv. No API key. Paste into any AI chat.

Get-Netchk25Analysis

Scan plus inline AI analysis in one command. Requires Anthropic API key.

CLI Reference

All commands — both tools

The curated binary manages the database. The cured binary scans machines. Both share the repo subcommand and the global --db flag.

cured — scanner

cured

Scan local machine. Missing patches, security configuration, and event log analysis. Run as administrator.

--severity--json--html--verbose
cured --refresh

Sync the patch database (init if none exists), then scan. One command to always scan with fresh data.

cured --export-ai <file>

Export scan results as an AI-ready markdown or CSV file. No API key. Paste into Claude.ai, ChatGPT, Copilot, or any AI chat.

cured --ai-key <key>

Inline AI analysis — adds a prioritized plain-text remediation plan directly to the scan output. Key can be env:VAR or file:path.

cured --list-apps

List all detected applications with versions and detection method. No patch check.

cured remote <host>

Scan a remote Windows machine over C$ admin shares. No agent, no WinRM, no WMI required.

--credentials

curated repo — database management

repo init

Full pull from all 38 sources. Creates schema and populates from scratch. Run once.

--db <path>
repo sync

Incremental refresh using ETags and date cursors. Only fetches what changed. Schedule daily or weekly.

--db <path>
repo status

Database stats: patch count, vendors, detection rules, CVEs, last sync time, and file size.

repo clone <output>

Compact scan-ready copy — superseded patches stripped. Typically 40–50% smaller. Ideal for endpoints and air-gap deployment.

--db <path>
repo cve <cve-id>

CVE lookup — which patches address it, affected products, CVSS score, EPSS, and CISA KEV status.

repo enrich

Enrich CVEs with CVSS, CWE, EPSS, and CISA KEV from NVD, OSV, and GitHub Advisory.

repo export

Export as signed JSON for GitHub Pages hosting. Creates manifest.json + manifest.sig.

--output--key
repo clone

Download a hosted repository (Azure Table) into local SQLite for fully offline scanning.

--table-url--sas
repo keygen

Generate RSA-2048 key pair for signing exported patch data.

--output <dir>
Contributing

One file. One line. New source.

Implement one C# interface, add one line to the engine. Scheduling, error isolation, progress display, and sync history are all handled automatically.

IPatchSource — the full interface
public interface IPatchSource
{
  string Name { get; }
  string Description { get; }

  Task<SyncResult> SyncAsync(
    PatchRepository repo,
    bool incremental,
    IProgress<string>? progress);
}

// Then one line in RepoSyncEngine.cs:
new MyAppSource(),
Browse Repo → CONTRIBUTING.md

Wanted data sources

  • More Linux distros — SUSE, Alpine, Arch, Rocky, Alma, Amazon Linux
  • Linux package managers — Flatpak, Snap advisories
  • Cloud CLI tools — AWS CLI, Azure CLI, gcloud, Terraform, kubectl
  • Container images — Docker Hub official, distroless base images
  • Windows / macOS apps — any public version API or release feed
  • IoT / embedded — firmware tracking for network devices and printers

Also open to contributors on:

PatchCured scanner

Detection rules, platform coverage, PowerShell module, reporting

Contribute →

Data quality

Wrong versions, missing CVEs, bad detection rules

File Issue →
Origin

On the 25th anniversary of HFNetChk.

The tools that created the patch management industry — and why a new one was overdue.

1999

HFNetChk

Mark Shavlik releases the first agentless patch scanner for Windows NT. Free, command-line, no agent. Downloaded by millions of administrators worldwide.

2001

Microsoft Baseline Security Analyzer

Shavlik partners with Microsoft to build MBSA — free GUI tool combining HFNetChk's engine with OS configuration checks. Part of the Windows 2000 Server Toolkit. Scanned 3M+ computers per week at peak.

2003

Shavlik Technologies

HFNetChk grows into a full commercial patch management platform — scan, deploy, report, across physical and virtual environments.

2011–17

VMware → LANDESK → Ivanti

Shavlik Technologies acquired by VMware, then LANDESK, then merged into Ivanti. The HFNetChk lineage lives on in Ivanti's security portfolio. Mark Shavlik is not affiliated with Ivanti.

2025

PatchCurated & PatchCured

On the 25th anniversary of launching HFNetChk, there is no public patch repository and no simple free scanner for it — and there should be. Same philosophy as the originals: open data, no agent, free to use. Patch management got complicated. PatchCured makes it a verb again — find the gaps, Cure It, move on.

"On the 25th anniversary of launching HFNetChk I'm back in patch management. The original was free, ran from a command line, and helped millions of administrators find missing patches with no agent and no vendor lock-in. That was the right idea then. It's still the right idea now."
Mark Shavlik Creator of HFNetChk (1999) and MBSA · Founder, Senserva
About Senserva

Security tooling rooted in 25 years of practice.

Senserva builds Microsoft security products — 365 and Azure auditing with Siemserva, and now patch management with PatchCurated and PatchCured. Senserva is a member of the Microsoft Intelligent Security Association (MISA), an invite-only program for independent software vendors building best-in-class security solutions on Microsoft technology.

PatchCurated is the open foundation. PatchCured is the scanner. More tools from Senserva are coming — all built on the same community-maintained data layer.

senserva.com → PatchCured →
Get Involved

Open data. Free scanner.
Make both better.

Use the database, run the scanner, add a source, report bad data. Every contribution helps more systems stay patched.

View on GitHub → Try PatchCured Free → Contributing Guide