This repository has been archived on 2026-09-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

41 lines
1.0 KiB
Python

import json
import matplotlib.pyplot as plt
json_path = "wordfence_vulnerabilities.json"
def load_cvss_scores(path):
"""Load JSON data and extract all CVSS scores into a list"""
with open(path, "r", encoding="utf-8") as f:
data = json.load(f)
scores = []
for entry in data:
if "cvss_score" in entry and isinstance(entry["cvss_score"], (int, float)):
scores.append(entry["cvss_score"])
return scores
def plot_hist(scores):
"""Plot a histogram of CVSS scores"""
plt.figure(figsize=(8, 5))
plt.hist(scores, bins=10, edgecolor="black", color="skyblue")
plt.title("Distribution of CVSS Scores in Vulnerability Data")
plt.xlabel("CVSS Score")
plt.ylabel("Number of Vulnerabilities")
plt.grid(alpha=0.4)
plt.savefig("cvss_distribution.png")
plt.show()
if __name__ == "__main__":
scores = load_cvss_scores(json_path)
print(f"Loaded {len(scores)} CVSS scores.")
print("Sample:", scores[:10])
if scores:
plot_hist(scores)
else:
print("error")