Visibility Index
What it is
The Visibility Index is a real-time metric (0–100) that quantifies how much public attention a CVE is receiving across the internet. It answers: How visible is this vulnerability in the wild right now?
Unlike static severity models such as CVSS, the Visibility Index recalibrates continuously based on live discussion volume, recency, and source diversity.
Data collection (CVERadar)
A multi-source scraping pipeline collects CVE mentions from five platforms:
| Platform | What is collected |
|---|---|
| GitHub | Repositories and issues referencing the CVE |
| GitLab | Issues, merge requests, and projects |
| Posts and discussions | |
| HackerNews | Stories and comments |
| Twitter/X | Tweets (via Nitter) |
Each source returns normalized records:
{
"cve_id": "CVE-2024-1234",
"source": "github",
"posted_at": "2024-03-01T10:00:00Z",
"url": "https://github.com/..."
}
Scoring formula
Score = (Post Weight × P) + (Recency Weight × R) + (Source Weight × S)
= 50% × P + 30% × R + 20% × S
P — Post volume (50%)
P = min(log(1 + post_count) / log(1 + 100), 1.0)
Log-normalized to prevent high-volume CVEs from dominating. Baseline: 100 posts = max score.
R — Recency (30%)
| Last post | Weight |
|---|---|
| ≤ 3 days | 1.00 (actively trending) |
| ≤ 7 days | 0.85 |
| ≤ 14 days | 0.65 |
| ≤ 30 days | 0.35 |
| ≤ 60 days | 0.15 |
| > 60 days | 0.05 (fading from attention) |
S — Source diversity (20%)
S = min(unique_sources / 5, 1.0)
Rewards CVEs discussed across multiple platforms. Max score at 5 different sources.
Condition thresholds
| Score | Label | Meaning | Refresh interval |
|---|---|---|---|
| ≥ 70 | HOT | Actively exploited or discussed | Every 7 days |
| ≥ 40 | WARM | Moderate attention | Every 14 days |
| ≥ 20 | COLD | Minimal activity | Every 30 days |
| < 20 | FROZEN | No meaningful activity | Every 45 days |
Score propagation
CVERadar scrapes
↓
central_visibility_index
(post_count, source_count, last_post_at)
↓
calculate_visibility()
↓
cve_data.visibility_index updated
↓
sync to worker DB (hourly)
↓
vulnerabilities.visibility_index
agent_vulnerability_status.visibility_index
Example calculation
CVE with:
- 45 posts across GitHub, Reddit, and HackerNews (3 sources)
- Last post 5 days ago
P = log(46) / log(101) = 3.83 / 4.61 = 0.83
R = 0.85 (≤ 7 days)
S = 3/5 = 0.60
Score = (50 × 0.83) + (30 × 0.85) + (20 × 0.60)
= 41.5 + 25.5 + 12.0
= 79.0 → HOT
In the application
The Visibility Index appears on vulnerability detail views and in Alerts & Notifications. Use it alongside SC5 Risk Score and Threat Exposure to prioritize CVEs that are gaining public attention.
Related views: