/** * Security Audit Runner with Dual Tournament RL Validation * * Provides continuous dual tournament RL-based security audit execution * for Apple products and services with comprehensive validation. */ import { type AppleSecurityFinding } from '../core/appleSecurityIntegration.js'; import { type AppleSecurityAuditOptions } from '../core/appleSecurityAudit.js'; import { type TournamentOutcome } from '../core/dualTournament.js'; export interface SecurityAuditRunnerOptions { /** Enable continuous mode - run until completion without user prompts */ continuous: boolean; /** Enable dual tournament RL validation */ dualTournamentRL: boolean; /** Enable validation of security fixes */ validationEnabled: boolean; /** Apple security audit configuration */ auditConfig?: Partial; /** Callback for progress updates */ onProgress?: (progress: SecurityAuditProgress) => void; /** Callback for tournament results */ onTournamentResult?: (result: TournamentOutcome) => void; /** Maximum iterations for continuous mode */ maxIterations?: number; /** Target scope for Apple products/services */ targetScope?: 'services' | 'devices' | 'network' | 'all'; } export interface SecurityAuditProgress { phase: string; iteration: number; totalIterations: number; currentPhase: number; totalPhases: number; status: 'running' | 'completed' | 'failed'; message: string; findings: AppleSecurityFinding[]; tournamentStats: TournamentStats; } export interface TournamentStats { primaryWins: number; refinerWins: number; ties: number; totalRounds: number; averageScore: number; humanAccuracyScore: number; } export interface SecurityAuditResult { success: boolean; findings: AppleSecurityFinding[]; fixes: SecurityFix[]; tournamentOutcomes: TournamentOutcome[]; metrics: SecurityAuditMetrics; report: any; } export interface SecurityFix { id: string; findingId: string; type: 'patch' | 'configuration' | 'hardening' | 'mitigation'; description: string; applied: boolean; validated: boolean; validationScore: number; } export interface SecurityAuditMetrics { totalFindings: number; criticalFindings: number; highFindings: number; mediumFindings: number; lowFindings: number; fixesApplied: number; fixesValidated: number; validationSuccessRate: number; tournamentRounds: number; primaryWinRate: number; refinerWinRate: number; durationMs: number; } export declare class SecurityAuditRunner { private options; private audit; private tournamentStats; private tournamentOutcomes; private fixes; private startTime; constructor(options: SecurityAuditRunnerOptions); /** * Run the full security audit with dual tournament RL validation */ run(): Promise; /** * Run initial security audit */ private runInitialAudit; /** * Analyze vulnerabilities using dual tournament RL */ private runVulnerabilityAnalysis; /** * Run a tournament for a specific finding */ private runFindingTournament; /** * Generate security fixes based on findings */ private generateSecurityFixes; /** * Determine the type of fix based on finding */ private determineFixType; /** * Validate security fixes using dual tournament RL */ private validateFixes; /** * Run a validation tournament for a fix */ private runValidationTournament; /** * Run continuous improvement loop */ private runContinuousImprovement; /** * Update tournament statistics */ private updateTournamentStats; /** * Calculate final metrics */ private calculateMetrics; /** * Generate final report */ private generateFinalReport; /** * Emit progress update */ private emitProgress; } /** * Run a complete security audit with dual tournament RL validation */ export declare function runSecurityAuditWithDualTournamentRL(options?: Partial): Promise; export default SecurityAuditRunner; //# sourceMappingURL=securityAuditRunner.d.ts.map