UNPKG

ae-cvss-calculator

Version:

A CVSS vector modeling and score calculation implementation for all CVSS versions by {metæffekt}.

173 lines (172 loc) 7.57 kB
import { ComponentCategory, CvssVector, V4ScoreResult, VectorComponent, VectorComponentValue } from "../CvssVector"; import { Cvss4P0MacroVector } from "./Cvss4P0MacroVector"; export declare class Cvss4P0 extends CvssVector<V4ScoreResult> { constructor(initialVector?: string); getRegisteredComponents(): Map<ComponentCategory, VectorComponent<VectorComponentValue>[]>; getVectorStringOrderProperties(): Map<ComponentCategory, VectorComponent<VectorComponentValue>[]>; getVectorPrefix(): string; getVectorName(): string; fillAverageVector(): void; fillRandomBaseVector(): void; protected calculateScoresInternal(normalize?: boolean): V4ScoreResult; toString(forceAllComponents?: boolean, categories?: Map<ComponentCategory, VectorComponent<VectorComponentValue>[]>, showOnlyDefinedComponents?: boolean): string; calculateOverallScore(): number; private readonly ROUNDING_EPSILON; private roundToDecimalPlaces; private generateCvssPermutations; private severityDistance; private severityDistanceBetweenComponents; severityDistanceToVector(other: Cvss4P0): number; calculateSeverityDistancesByComparingToHighestSeverityVectors(highestSeverityVectors: Cvss4P0[]): Map<string, number>; /** CVSS Nomenclature CVSS Metrics Used CVSS-B Base metrics CVSS-BE Base and Environmental metrics CVSS-BT Base and Threat metrics CVSS-BTE Base, Threat, Environmental metrics */ getNomenclature(): string; getMacroVector(): Cvss4P0MacroVector; isBaseFullyDefined(): boolean; isAnyBaseDefined(): boolean; isThreatFullyDefined(): boolean; isAnyThreatDefined(): boolean; isAnyEnvironmentalDefined(): boolean; private getJsonSchemaSeverity; createJsonSchema(): any; } export type JSONSchemaForCommonVulnerabilityScoringSystemVersion40 = JSONSchemaForCommonVulnerabilityScoringSystemVersion401 & JSONSchemaForCommonVulnerabilityScoringSystemVersion402; export type JSONSchemaForCommonVulnerabilityScoringSystemVersion401 = ({ baseScore?: NoneScoreType; baseSeverity?: NoneSeverityType; [k: string]: unknown; } | { baseScore?: LowScoreType; baseSeverity?: LowSeverityType; [k: string]: unknown; } | { baseScore?: MediumScoreType; baseSeverity?: MediumSeverityType; [k: string]: unknown; } | { baseScore?: HighScoreType; baseSeverity?: HighSeverityType; [k: string]: unknown; } | { baseScore?: CriticalScoreType; baseSeverity?: CriticalSeverityType; [k: string]: unknown; }) & ({ threatScore?: NoneScoreType; threatSeverity?: NoneSeverityType; [k: string]: unknown; } | { threatScore?: LowScoreType; threatSeverity?: LowSeverityType; [k: string]: unknown; } | { threatScore?: MediumScoreType; threatSeverity?: MediumSeverityType; [k: string]: unknown; } | { threatScore?: HighScoreType; threatSeverity?: HighSeverityType; [k: string]: unknown; } | { threatScore?: CriticalScoreType; threatSeverity?: CriticalSeverityType; [k: string]: unknown; }) & ({ environmentalScore?: NoneScoreType; environmentalSeverity?: NoneSeverityType; [k: string]: unknown; } | { environmentalScore?: LowScoreType; environmentalSeverity?: LowSeverityType; [k: string]: unknown; } | { environmentalScore?: MediumScoreType; environmentalSeverity?: MediumSeverityType; [k: string]: unknown; } | { environmentalScore?: HighScoreType; environmentalSeverity?: HighSeverityType; [k: string]: unknown; } | { environmentalScore?: CriticalScoreType; environmentalSeverity?: CriticalSeverityType; [k: string]: unknown; }); export type NoneScoreType = number; export type NoneSeverityType = "NONE"; export type LowScoreType = number; export type LowSeverityType = "LOW"; export type MediumScoreType = number; export type MediumSeverityType = "MEDIUM"; export type HighScoreType = number; export type HighSeverityType = "HIGH"; export type CriticalScoreType = number; export type CriticalSeverityType = "CRITICAL"; export type AttackVectorType = "NETWORK" | "ADJACENT" | "LOCAL" | "PHYSICAL"; export type AttackComplexityType = "HIGH" | "LOW"; export type AttackRequirementsType = "NONE" | "PRESENT"; export type PrivilegesRequiredType = "HIGH" | "LOW" | "NONE"; export type UserInteractionType = "NONE" | "PASSIVE" | "ACTIVE"; export type VulnCiaType = "NONE" | "LOW" | "HIGH"; export type SubCiaType = "NONE" | "LOW" | "HIGH"; export type ExploitMaturityType = "UNREPORTED" | "PROOF_OF_CONCEPT" | "ATTACKED" | "NOT_DEFINED"; export type CiaRequirementType = "LOW" | "MEDIUM" | "HIGH" | "NOT_DEFINED"; export type ModifiedAttackVectorType = "NETWORK" | "ADJACENT" | "LOCAL" | "PHYSICAL" | "NOT_DEFINED"; export type ModifiedAttackComplexityType = "HIGH" | "LOW" | "NOT_DEFINED"; export type ModifiedAttackRequirementsType = "NONE" | "PRESENT" | "NOT_DEFINED"; export type ModifiedPrivilegesRequiredType = "HIGH" | "LOW" | "NONE" | "NOT_DEFINED"; export type ModifiedUserInteractionType = "NONE" | "PASSIVE" | "ACTIVE" | "NOT_DEFINED"; export type ModifiedVulnCiaType = "NONE" | "LOW" | "HIGH" | "NOT_DEFINED"; export type ModifiedSubCType = "NEGLIGIBLE" | "LOW" | "HIGH" | "NOT_DEFINED"; export type ModifiedSubIaType = "NEGLIGIBLE" | "LOW" | "HIGH" | "SAFETY" | "NOT_DEFINED"; export type SafetyType = "NEGLIGIBLE" | "PRESENT" | "NOT_DEFINED"; export type AutomatableType = "NO" | "YES" | "NOT_DEFINED"; export type RecoveryType = "AUTOMATIC" | "USER" | "IRRECOVERABLE" | "NOT_DEFINED"; export type ValueDensityType = "DIFFUSE" | "CONCENTRATED" | "NOT_DEFINED"; export type VulnerabilityResponseEffortType = "LOW" | "MODERATE" | "HIGH" | "NOT_DEFINED"; export type ProviderUrgencyType = "CLEAR" | "GREEN" | "AMBER" | "RED" | "NOT_DEFINED"; export interface JSONSchemaForCommonVulnerabilityScoringSystemVersion402 { /** * CVSS Version */ version: "4.0"; vectorString: string; attackVector?: AttackVectorType; attackComplexity?: AttackComplexityType; attackRequirements?: AttackRequirementsType; privilegesRequired?: PrivilegesRequiredType; userInteraction?: UserInteractionType; vulnConfidentialityImpact?: VulnCiaType; vulnIntegrityImpact?: VulnCiaType; vulnAvailabilityImpact?: VulnCiaType; subConfidentialityImpact?: SubCiaType; subIntegrityImpact?: SubCiaType; subAvailabilityImpact?: SubCiaType; exploitMaturity?: ExploitMaturityType; confidentialityRequirement?: CiaRequirementType; integrityRequirement?: CiaRequirementType; availabilityRequirement?: CiaRequirementType; modifiedAttackVector?: ModifiedAttackVectorType; modifiedAttackComplexity?: ModifiedAttackComplexityType; modifiedAttackRequirements?: ModifiedAttackRequirementsType; modifiedPrivilegesRequired?: ModifiedPrivilegesRequiredType; modifiedUserInteraction?: ModifiedUserInteractionType; modifiedVulnConfidentialityImpact?: ModifiedVulnCiaType; modifiedVulnIntegrityImpact?: ModifiedVulnCiaType; modifiedVulnAvailabilityImpact?: ModifiedVulnCiaType; modifiedSubConfidentialityImpact?: ModifiedSubCType; modifiedSubIntegrityImpact?: ModifiedSubIaType; modifiedSubAvailabilityImpact?: ModifiedSubIaType; Safety?: SafetyType; Automatable?: AutomatableType; Recovery?: RecoveryType; valueDensity?: ValueDensityType; vulnerabilityResponseEffort?: VulnerabilityResponseEffortType; providerUrgency?: ProviderUrgencyType; [k: string]: unknown; }