@iota-big3/sdk-security
Version:
Advanced security features including zero trust, quantum-safe crypto, and ML threat detection
85 lines • 2.9 kB
TypeScript
/**
* 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