UNPKG

ssvc

Version:

TypeScript implementation of SSVC (Stakeholder-Specific Vulnerability Categorization). A prioritization framework to triage CVE vulnerabilities as an alternative or compliment to CVSS

91 lines (79 loc) 3.07 kB
/** * SSVC TypeScript Library * * Stakeholder-Specific Vulnerability Categorization with Plugin Architecture */ // Export core functionality export { Decision, PluginRegistry, SSVCPlugin, SSVCDecision, SSVCOutcome } from './core'; // Export plugins export { CISAPlugin } from './plugins/cisa'; export { CoordinatorTriagePlugin } from './plugins/coordinator_triage'; export { CoordinatorPublicationPlugin } from './plugins/coordinator_publication'; export { SupplierPlugin } from './plugins/supplier'; export { DeployerPlugin } from './plugins/deployer'; // Auto-register built-in plugins import { PluginRegistry, Decision } from './core'; import { CISAPlugin } from './plugins/cisa'; import { CoordinatorTriagePlugin } from './plugins/coordinator_triage'; import { CoordinatorPublicationPlugin } from './plugins/coordinator_publication'; import { SupplierPlugin } from './plugins/supplier'; import { DeployerPlugin } from './plugins/deployer'; // Register plugins on module load const registry = PluginRegistry.getInstance(); registry.register(new CISAPlugin()); registry.register(new CoordinatorTriagePlugin()); registry.register(new CoordinatorPublicationPlugin()); registry.register(new SupplierPlugin()); registry.register(new DeployerPlugin()); // Export legacy compatibility (deprecated) export * from './decision'; // Convenience functions export function createDecision(methodology: string, options: Record<string, any> = {}) { return new Decision(methodology, options); } export function listMethodologies(): string[] { return PluginRegistry.getInstance().list().map(plugin => plugin.name); } // Re-export generated plugin types for advanced usage (with prefixes to avoid conflicts) export { ExploitationStatus as CISAExploitationStatus, AutomatableStatus as CISAAutomatableStatus, TechnicalImpactLevel as CISATechnicalImpactLevel, MissionWellbeingImpactLevel as CISAMissionWellbeingImpactLevel, DecisionCisa, OutcomeCisa } from './plugins/cisa-generated'; export { ReportPublicStatus, SupplierContactedStatus, ReportCredibilityLevel, SupplierCardinalityLevel, SupplierEngagementLevel, UtilityLevel as CoordinatorUtilityLevel, PublicSafetyImpactLevel, DecisionCoordinatorTriage, OutcomeCoordinatorTriage } from './plugins/coordinator_triage-generated'; export { SupplierInvolvementLevel, ExploitationStatus as PublicationExploitationStatus, PublicValueAddedLevel, DecisionCoordinatorPublication, OutcomeCoordinatorPublication } from './plugins/coordinator_publication-generated'; export { ExploitationStatus as SupplierExploitationStatus, UtilityLevel as SupplierUtilityLevel, TechnicalImpactLevel as SupplierTechnicalImpactLevel, PublicSafetyImpactLevel as SupplierPublicSafetyImpactLevel, DecisionSupplier, OutcomeSupplier } from './plugins/supplier-generated'; export { ExploitationStatus as DeployerExploitationStatus, SystemExposureLevel, UtilityLevel as DeployerUtilityLevel, HumanImpactLevel, DecisionDeployer, OutcomeDeployer } from './plugins/deployer-generated';