Code Monkey home page Code Monkey logo

cvss-bt's Introduction

cvss-bt

Enriching the NVD CVSS scores to include Temporal/Threat Metrics

Overview

The Common Vulnerability Scoring System (CVSS) is an industry standard for assessing the severity of computer system security vulnerabilities. CVSS attempts to establish a measure of how severe a vulnerability is based on its attributes.

The National Vulnerability Database includes CVSS Base scores in its catalog, but base scores are not enough to effectively prioritizie or contextualize vulnerabilities. In this repository I continuously enrich the CVSS score by using the Exploit Code Maturity/Exploitability (E) Temporal Metric.

Temporal Metric - Exploit Code Maturity/Exploitability (E)

Sources:

Value Description CVE Present In
High (H) Functional autonomous code exists, or no exploit is required (manual trigger) and details are widely available. Exploit code works in every situation, or is actively being delivered via an autonomous agent (such as a worm or virus). Network-connected systems are likely to encounter scanning or exploitation attempts. Exploit development has reached the level of reliable, widely available, easy-to-use automated tools. CISA KEV, VulnCheck KEV, EPSS > Threshold, Metasploit
Functional (F) Functional exploit code is available. The code works in most situations where the vulnerability exists. Nuclei
Proof-of-Concept (P) Proof-of-concept exploit code is available. The code might not work in all situations. ExploitDB, PoC-in-GitHub
Unproven (U) No exploit code is available, or an exploit is theoretical. CVE not present in any threat intelligence source above.
Not Defined (X) Assigning this value to the metric will not influence the score. It means the user does not have enough information to assign a score. We drop this value since we have information to assign a score.

Features

This repository continuously enriches and publishes CVSS Temporal Scores based on the following threat intelligence:

  • CISA KEV
  • VulnCheck KEV
  • EPSS
  • Metasploit
  • Nuclei
  • ExploitDB
  • PoC-in-GitHub

Steps

  • Fetches EPSS scores every morning
  • Fetches CVSS scores from NVD if there are new EPSS scores.
  • Calculates the Exploit Code Maturity/Exploitability (E) Metric when new data is found.
  • Provides a resulting CVSS-BT score for each CVE

Caveats

  • In the event that the NVD calculated score is using a lesser version than a secondary source, I use the higher CVSS version.
  • The EPSS threshold for returning an E:H value is .36, or 36%. This is based on the F1 score of the model and the 37% threshold where most CVEs have weaponized exploit code.

CVSS Visual Mapping

This data visualization provides a breakdown of how the CVSS-B, CVSS-BT and CVSS enriched temporal metrics map to the defined OSINT sources as of November 25th, 2023 CVSS-BT Mapping

To Do

  • CVSSv4 Threat Metrics

Acknowledgements

This product uses VulnCheck KEV.

This product uses EPSS scores but is not endoresed or certified by the EPSS SIG.

cvss-bt's People

Contributors

t0sche avatar patrickmgarrity avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.