@iota-big3/sdk-security
Version:
Advanced security features including zero trust, quantum-safe crypto, and ML threat detection
109 lines • 3.22 kB
TypeScript
/**
* Penetration Testing Manager
* Central orchestrator for security testing operations
*/
import { EventEmitter } from 'events';
import { ExploitResult, PenTestManager as IPenTestManager, NetworkScanResult, PenTestConfig, PenTestSession, ReportFormat, ReportingConfig, ScanResult, TestReport, TestTarget, Vulnerability, WebScanResult } from './types';
interface PenTestManagerConfig {
maxConcurrentTests?: number;
autoExploit?: boolean;
safeMode?: boolean;
reportPath?: string;
}
export declare class PenTestManager extends EventEmitter implements IPenTestManager {
private config;
private sessions;
private networkScanner;
private webScanner;
private exploitEngine;
private activeSessions;
constructor(config?: PenTestManagerConfig);
/**
* Create a new penetration test session
*/
createSession(config: PenTestConfig): Promise<PenTestSession>;
/**
* Get session by ID
*/
getSession(id: string): Promise<PenTestSession>;
/**
* Update session
*/
updateSession(id: string, updates: Partial<PenTestSession>): Promise<void>;
/**
* Start penetration test
*/
startTest(sessionId: string): Promise<void>;
/**
* Pause test
*/
pauseTest(sessionId: string): Promise<void>;
/**
* Resume test
*/
resumeTest(sessionId: string): Promise<void>;
/**
* Stop test
*/
stopTest(sessionId: string): Promise<void>;
/**
* Scan specific target
*/
scanTarget(sessionId: string, target: TestTarget): Promise<ScanResult>;
/**
* Scan network range
*/
scanNetwork(sessionId: string, range: string): Promise<NetworkScanResult>;
/**
* Scan web application
*/
scanWebApp(sessionId: string, url: string): Promise<WebScanResult>;
/**
* Report vulnerability
*/
reportVulnerability(sessionId: string, vuln: Vulnerability): Promise<void>;
/**
* Verify vulnerability
*/
verifyVulnerability(vulnId: string): Promise<boolean>;
/**
* Exploit vulnerability
*/
exploitVulnerability(vulnId: string): Promise<ExploitResult>;
/**
* Generate report
*/
generateReport(sessionId: string, config: ReportingConfig): Promise<TestReport>;
/**
* Export report
*/
exportReport(reportId: string, format: ReportFormat): Promise<Buffer>;
/**
* Private helper methods
*/
private setupEventHandlers;
private initializeStatistics;
private addTimelineEvent;
private runAutomatedTests;
private runNetworkTests;
private runWebTests;
private runAPITests;
private updateStatistics;
private prepareFindings;
private calculateRisk;
private getBusinessContext;
private getRemediationTimeline;
private generateRecommendations;
private generateConclusion;
private generateExecutiveSummary;
private generateMethodology;
private generateScope;
private generateAppendices;
private generateOWASPCoverage;
private generateDetailedTimeline;
private getOverallRisk;
private exportToHTML;
private exportToMarkdown;
}
export {};
//# sourceMappingURL=pentest-manager.d.ts.map