@rohit_coder/cvss
Version:
The Common Vulnerability Scoring System ([CVSS](https://www.first.org/cvss/)) [base](https://www.first.org/cvss/specification-document#Base-Metrics) [score](https://www.first.org/cvss/specification-document#1-2-Scoring) calculator and validator library wr
49 lines (48 loc) • 3.12 kB
TypeScript
import { BaseMetric, MaxSeverityData, Metric, MetricValue } from './models';
export declare const calculateIss: (metricsMap: Map<Metric, MetricValue>) => number;
export declare const calculateMiss: (metricsMap: Map<Metric, MetricValue>) => number;
export declare const calculateImpact: (metricsMap: Map<Metric, MetricValue>, iss: number) => number;
export declare const calculateModifiedImpact: (metricsMap: Map<Metric, MetricValue>, miss: number, versionStr: string | null) => number;
export declare const calculateExploitability: (metricsMap: Map<Metric, MetricValue>) => number;
export declare const calculateModifiedExploitability: (metricsMap: Map<Metric, MetricValue>) => number;
export declare const modifiedMetricsMap: {
[key: string]: BaseMetric;
};
export declare const populateTemporalMetricDefaults: (metricsMap: Map<Metric, MetricValue>) => Map<Metric, MetricValue>;
export declare const populateEnvironmentalMetricDefaults: (metricsMap: Map<Metric, MetricValue>) => Map<Metric, MetricValue>;
export declare type ScoreResult = {
score: number;
impact: number;
exploitability: number;
metricsMap: Map<Metric, MetricValue>;
};
export declare const calculateBaseResult: (cvssString: string) => ScoreResult;
export declare const calculateBaseScore: (cvssString: string) => number;
export declare const calculateEnvironmentalResult: (cvssString: string) => ScoreResult;
export declare const calculateEnvironmentalScore: (cvssString: string) => number;
export declare const calculateTemporalResult: (cvssString: string) => ScoreResult;
export declare const calculateTemporalScore: (cvssString: string) => number;
/**
* Parses a CVSS vector string and adds default "X" values for unspecified metrics.
* @param {string} vector - The CVSS vector string to parse.
* @returns {Record<string, string>} - An object representing the parsed and completed metrics.
*/
export declare const parseVectorV4: (vector: string) => Record<string, string>;
/**
* Calculates a qualitative severity score based on the numeric CVSS score.
* @param {number} score - The numeric CVSS score.
* @returns {string} - The qualitative score: "None", "Low", "Medium", "High", or "Critical".
*/
export declare const calculateQualScore: (score: number) => string;
/**
* Calculates the base CVSS score for version 4.0 using a vector string.
* @param {string} vectorString - The CVSS vector string to calculate the score for.
* @returns {number} - The calculated base CVSS score.
* @throws {Error} - Throws an error if the vector is invalid.
*/
export declare const calculateBaseScoreV4: (vectorString: string) => number;
export declare const cvss_score: (cvssSelected: Record<string, string>, lookup: Record<string, number>, maxSeverityData: MaxSeverityData, macroVectorResult: string) => number;
export declare const getEQMaxes: (lookup: string, eq: number) => string[];
export declare const extractValueMetric: (metric: string, str: string) => string;
export declare const m: (cvssSelected: Record<string, string>, metric: string) => string;
export declare const macroVector: (cvssSelected: Record<string, string>) => string;