Skip to main content

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:

PlatformWhat is collected
GitHubRepositories and issues referencing the CVE
GitLabIssues, merge requests, and projects
RedditPosts and discussions
HackerNewsStories and comments
Twitter/XTweets (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 postWeight
≤ 3 days1.00 (actively trending)
≤ 7 days0.85
≤ 14 days0.65
≤ 30 days0.35
≤ 60 days0.15
> 60 days0.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

ScoreLabelMeaningRefresh interval
≥ 70HOTActively exploited or discussedEvery 7 days
≥ 40WARMModerate attentionEvery 14 days
≥ 20COLDMinimal activityEvery 30 days
< 20FROZENNo meaningful activityEvery 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: