← All work

Project

Vulnerability Data Pipeline & Dashboard

Raw scanner exports in; MTTR, aging, and SLA-breach dashboards out.

Planned
Problem
Scanner consoles answer 'what is vulnerable' but not 'are we keeping up'. Leadership needs trend lines — mean time to remediate, backlog age, SLA breaches — and those live across exports nobody has time to reconcile by hand.
Approach
A reproducible pipeline: generate synthetic Nessus- and Invicti-style exports, normalize them into a single findings table, compute program metrics, and render a Streamlit dashboard with drill-down by severity, asset class, and age bucket.
Result
One command refreshes the whole view. The synthetic generator doubles as a portable test fixture for anyone building similar reporting.

What it will show

  • ETL that survives messy inputs: inconsistent column names, duplicate findings, mixed date formats, host records that disagree.
  • Program metrics computed honestly — MTTR with and without still-open findings, aging cohorts, SLA-breach counts by policy.
  • A dashboard built for a briefing, not a console: few numbers, clear trend, drill-down when asked.

Data sources

A synthetic-data generator produces scan exports that look real but describe nothing real. No client or employer data is involved at any stage.

Status

Planned. Spec first; public repo and write-up follow.