Home▸Cybersecurity▸Risk-Based Patch Prioritization: CVSS vs Exploit-in-the-Wild

3D Risk-Based Patch Prioritization: CVSS vs Exploit-in-the-Wild

Orbit a live 3D risk-space where the same 20-item vulnerability backlog and the same limited per-cycle patching capacity run through two organizations at once — one climbs raw CVSS height, the other climbs a real-world exploitation-likelihood signal — and watch breach beacons ignite as each strategy leaves different spheres exposed.

Cybersecurity3DMedium60 FPS📱 Mobile-adapted⇄ 2D version
3d-risk-based-patch-prioritization-cvss-vs-exploit-in-the-wild ↗ Open standalone

Vulnerability backlogs are usually read as a flat, sorted list — but they're really points in a risk space with more than one axis. This 3D version makes that space explicit: every one of the same 20 vulnerabilities from the 2D original sits at a real coordinate, X for its raw CVSS severity, Y for its EPSS-style real-world exploitation-likelihood signal, split into two identical clusters — Org A on the left patching strictly by CVSS height, Org B on the right patching by exploitation-likelihood height first. Drag to orbit and the difference becomes spatial: Org A's tallest spheres (high exploit-likelihood, moderate CVSS) often sit untouched while it clears distant, rarely-exploited critical-CVSS spheres first. When an unpatched sphere is confirmed under active attack it gains a gold ring, and every exposed cycle rolls a chance of a breach — caught, its beacon flashes red in place, letting you watch the two strategies' outcomes diverge in real time rather than read them off two static lists.

⚙ Under the hood

The same deterministic 20-item backlog, patch-capacity cap and breach-chance roll as the 2D original, ported 1:1 into a real Three.js risk-space: sphere position encodes CVSS (X) and EPSS-style likelihood (Y, height), patched spheres sink and dim, breached ones pulse a red beacon.

cybersecurityvulnerability managementCVSSEPSSpatch prioritizationrisk-based patching

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)