UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

85 lines 2.9 kB
/** * Vulnerability Scanner Implementations * Integrations with enterprise vulnerability scanning platforms */ import { EventEmitter } from 'events'; import { SecuritySeverity } from '../types'; import { ScanOptions, ScanScheduleConfig, Vulnerability, VulnerabilityReport, VulnerabilityScanner, VulnerabilityScanResult } from './types'; /** * Base vulnerability scanner with common functionality */ declare abstract class BaseVulnerabilityScanner extends EventEmitter implements VulnerabilityScanner { abstract name: string; abstract type: 'QUALYS' | 'NESSUS' | 'RAPID7' | 'OPENVAS' | 'CUSTOM'; protected activeScanIds: Set<string>; protected scanResults: Map<string, VulnerabilityScanResult>; protected scanReports: Map<string, VulnerabilityReport>; /** * Generate unique scan ID */ protected generateScanId(): string; /** * Map CVSS score to severity */ protected mapCVSSToSeverity(score: number): SecuritySeverity; /** * Simulate vulnerability generation for demo purposes */ protected generateMockVulnerabilities(hostsScanned: number): Vulnerability[]; } /** * Qualys Vulnerability Scanner */ export declare class QualysScanner extends BaseVulnerabilityScanner { name: string; type: "QUALYS"; scan(target: string, options?: ScanOptions): Promise<VulnerabilityScanResult>; getReport(scanId: string): Promise<VulnerabilityReport>; scheduleScan(config: ScanScheduleConfig): Promise<string>; private generateHosts; private generateComplianceStatus; } /** * Nessus/Tenable Scanner */ export declare class NessusScanner extends BaseVulnerabilityScanner { name: string; type: "NESSUS"; scan(target: string, options?: ScanOptions): Promise<VulnerabilityScanResult>; getReport(scanId: string): Promise<VulnerabilityReport>; scheduleScan(config: ScanScheduleConfig): Promise<string>; private generateNessusSpecificVulns; private generateHosts; } /** * Rapid7 InsightVM Scanner */ export declare class Rapid7Scanner extends BaseVulnerabilityScanner { name: string; type: "RAPID7"; scan(target: string, options?: ScanOptions): Promise<VulnerabilityScanResult>; getReport(scanId: string): Promise<VulnerabilityReport>; scheduleScan(config: ScanScheduleConfig): Promise<string>; private enrichWithRapid7Data; private generateHosts; } /** * Vulnerability Scanner Factory */ export declare class VulnerabilityScannerFactory { private static scanners; /** * Create or get a vulnerability scanner */ static create(type: 'QUALYS' | 'NESSUS' | 'RAPID7' | 'OPENVAS'): VulnerabilityScanner; /** * Get all active scanners */ static getScanners(): VulnerabilityScanner[]; /** * Dispose all scanners */ static disposeAll(): void; } export {}; //# sourceMappingURL=vulnerability-scanners.d.ts.map