UNPKG

@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
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;