-
Notifications
You must be signed in to change notification settings - Fork 0
Real‐time CWE Exploitation Probability Calculator
Security teams and developers currently have no easy way to answer the question: "Is this weakness actually being exploited right now?" The data exists across multiple fragmented sources — NVD for CVE-to-CWE mappings, EPSS for exploitation probabilities — but no tool combines them into a single, actionable metric. The PECWE equation from Mell et al. (2024) solves this mathematically, but it remains a research concept with no usable implementation. Teams are left relying on static severity scores (CVSS), the MITRE Top 25, or CVE Frequency which measure danger in theory but not exploitation in practice.
PECWE Dashboard is a web-based tool that implements the Probability Equation for CWE (PECWE) metric. A user inputs a CWE ID, and the tool pulls all mapped CVEs from NVD, retrieves their current EPSS scores, computes the real-time probability that the weakness is being actively exploited in a 30-day window, and visualizes the result. It also displays historical PECWE trends so users can identify temporal exploitation patterns (drop, jump, stable, step-up) described in the paper.
For this project, we are using View-1003 children instead of View-1000.
- Security Engineers prioritizing which weakness classes to focus remediation on
- Developers doing secure code review who want to know if the bug type they're looking at is actually being exploited
-> CWE Lookup — User enters a CWE ID, tool resolves it and its View-1003 children
-> PECWE Calculation — Fetches all mapped CVEs from NVD, pulls EPSS scores, computes PECWE using the paper's formula: P = 1 - ∏(1 - EPSS(y,d)) for all CVEs y
-> Risk Classification — Labels the CWE as Exploited / High / Variable / Low based on the paper's thresholds
-> Historical Trend Chart — Interactive line chart showing PECWE over time (weekly snapshots) -> Pattern Detection — Flags whether the trend matches drop, jump, stable, or step-up patterns -> CVE Breakdown Table — Shows the top contributing CVEs (highest EPSS scores) driving the PECWE value
| Layer | Technology | Reasoning |
|---|---|---|
| Frontend | Angular.js | Interactive charts, responsive UI |
| Charts | Apex Charts | Lightweight, good for time-series |
| Backend | Golang | Clean API layer, easy to call NVD/EPSS |
| Data Sources | NVD REST API + EPSS API (first.org) | Both are free, public, no auth required |
| Deployment | Local / Docker container | Simple for a class project, portable |
- Mell, P., Bojanova, I., & Galhardo, C. (2024). Measuring the Exploitation of Weaknesses in the Wild. arXiv:2405.01289
- Silva, G. & Westphall, C. (2024). A Survey of Large Language Models in Cybersecurity. arXiv:2402.16968
Researchers: Matthew Swift JJ Gillis
gantt
title PECWE Calculator — Project Timeline
dateFormat YYYY-MM-DD
axisFormat %b %d
section Project Setup
Repo setup & environment config :setup1, 2026-03-15, 1d
Research NVD & EPSS API endpoints :setup2, after setup1, 1d
section Backend — Core Logic
NVD API client (fetch CVEs by CWE) :be1, after setup2, 4d
EPSS API client (fetch scores by CVE) :be2, after setup2, 4d
PECWE calculation engine :be3, after setup2, 4d
Risk classification (Exploited/High/Variable/Low) :be4, after be3, 1d
section Frontend
Search bar :fe1, after be2, 2d
Charts :fe2, after fe1, 3d
PECWE score display & risk badge :fe3, after fe2, 2d