UNPKG

@neuralegion/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

88 lines (87 loc) 3.92 kB
export var BaseMetric; (function (BaseMetric) { BaseMetric["ATTACK_VECTOR"] = "AV"; BaseMetric["ATTACK_COMPLEXITY"] = "AC"; BaseMetric["PRIVILEGES_REQUIRED"] = "PR"; BaseMetric["USER_INTERACTION"] = "UI"; BaseMetric["SCOPE"] = "S"; BaseMetric["CONFIDENTIALITY"] = "C"; BaseMetric["INTEGRITY"] = "I"; BaseMetric["AVAILABILITY"] = "A"; })(BaseMetric || (BaseMetric = {})); export var TemporalMetric; (function (TemporalMetric) { TemporalMetric["EXPLOIT_CODE_MATURITY"] = "E"; TemporalMetric["REMEDIATION_LEVEL"] = "RL"; TemporalMetric["REPORT_CONFIDENCE"] = "RC"; })(TemporalMetric || (TemporalMetric = {})); export var EnvironmentalMetric; (function (EnvironmentalMetric) { EnvironmentalMetric["CONFIDENTIALITY_REQUIREMENT"] = "CR"; EnvironmentalMetric["INTEGRITY_REQUIREMENT"] = "IR"; EnvironmentalMetric["AVAILABILITY_REQUIREMENT"] = "AR"; EnvironmentalMetric["MODIFIED_ATTACK_VECTOR"] = "MAV"; EnvironmentalMetric["MODIFIED_ATTACK_COMPLEXITY"] = "MAC"; EnvironmentalMetric["MODIFIED_PRIVILEGES_REQUIRED"] = "MPR"; EnvironmentalMetric["MODIFIED_USER_INTERACTION"] = "MUI"; EnvironmentalMetric["MODIFIED_SCOPE"] = "MS"; EnvironmentalMetric["MODIFIED_CONFIDENTIALITY"] = "MC"; EnvironmentalMetric["MODIFIED_INTEGRITY"] = "MI"; EnvironmentalMetric["MODIFIED_AVAILABILITY"] = "MA"; })(EnvironmentalMetric || (EnvironmentalMetric = {})); export const baseMetrics = [ BaseMetric.ATTACK_VECTOR, BaseMetric.ATTACK_COMPLEXITY, BaseMetric.PRIVILEGES_REQUIRED, BaseMetric.USER_INTERACTION, BaseMetric.SCOPE, BaseMetric.CONFIDENTIALITY, BaseMetric.INTEGRITY, BaseMetric.AVAILABILITY ]; export const temporalMetrics = [ TemporalMetric.EXPLOIT_CODE_MATURITY, TemporalMetric.REMEDIATION_LEVEL, TemporalMetric.REPORT_CONFIDENCE ]; export const environmentalMetrics = [ EnvironmentalMetric.AVAILABILITY_REQUIREMENT, EnvironmentalMetric.CONFIDENTIALITY_REQUIREMENT, EnvironmentalMetric.INTEGRITY_REQUIREMENT, EnvironmentalMetric.MODIFIED_ATTACK_VECTOR, EnvironmentalMetric.MODIFIED_ATTACK_COMPLEXITY, EnvironmentalMetric.MODIFIED_PRIVILEGES_REQUIRED, EnvironmentalMetric.MODIFIED_USER_INTERACTION, EnvironmentalMetric.MODIFIED_SCOPE, EnvironmentalMetric.MODIFIED_CONFIDENTIALITY, EnvironmentalMetric.MODIFIED_INTEGRITY, EnvironmentalMetric.MODIFIED_AVAILABILITY ]; export const baseMetricValues = { [BaseMetric.ATTACK_VECTOR]: ['N', 'A', 'L', 'P'], [BaseMetric.ATTACK_COMPLEXITY]: ['L', 'H'], [BaseMetric.PRIVILEGES_REQUIRED]: ['N', 'L', 'H'], [BaseMetric.USER_INTERACTION]: ['N', 'R'], [BaseMetric.SCOPE]: ['U', 'C'], [BaseMetric.CONFIDENTIALITY]: ['N', 'L', 'H'], [BaseMetric.INTEGRITY]: ['N', 'L', 'H'], [BaseMetric.AVAILABILITY]: ['N', 'L', 'H'] }; export const temporalMetricValues = { [TemporalMetric.EXPLOIT_CODE_MATURITY]: ['X', 'H', 'F', 'P', 'U'], [TemporalMetric.REMEDIATION_LEVEL]: ['X', 'U', 'W', 'T', 'O'], [TemporalMetric.REPORT_CONFIDENCE]: ['X', 'C', 'R', 'U'] }; export const environmentalMetricValues = { [EnvironmentalMetric.CONFIDENTIALITY_REQUIREMENT]: ['X', 'H', 'M', 'L'], [EnvironmentalMetric.INTEGRITY_REQUIREMENT]: ['X', 'H', 'M', 'L'], [EnvironmentalMetric.AVAILABILITY_REQUIREMENT]: ['X', 'H', 'M', 'L'], [EnvironmentalMetric.MODIFIED_ATTACK_VECTOR]: ['X', 'N', 'A', 'L', 'P'], [EnvironmentalMetric.MODIFIED_ATTACK_COMPLEXITY]: ['X', 'L', 'H'], [EnvironmentalMetric.MODIFIED_PRIVILEGES_REQUIRED]: ['X', 'N', 'L', 'H'], [EnvironmentalMetric.MODIFIED_USER_INTERACTION]: ['X', 'N', 'R'], [EnvironmentalMetric.MODIFIED_SCOPE]: ['X', 'U', 'C'], [EnvironmentalMetric.MODIFIED_CONFIDENTIALITY]: ['X', 'N', 'L', 'H'], [EnvironmentalMetric.MODIFIED_INTEGRITY]: ['X', 'N', 'L', 'H'], [EnvironmentalMetric.MODIFIED_AVAILABILITY]: ['X', 'N', 'L', 'H'] };