/** * Copyright 2025 Chris Bunting * * Security Analyzer - Provides comprehensive security analysis and risk assessment */ import { SecretDetection } from '../detectors/SecretDetector.js'; export interface ScanResult { file: string; detections: SecretDetection[]; severity: string; } export interface SecurityAnalysis { riskScore: number; complianceStatus: 'compliant' | 'at_risk' | 'non_compliant'; criticalIssues: number; highIssues: number; mediumIssues: number; lowIssues: number; remediationSteps: string[]; recommendations: string[]; } export declare class SecurityAnalyzer { /** * Calculate overall severity for a set of detections */ calculateSeverity(detections: SecretDetection[]): string; /** * Perform comprehensive security analysis */ analyze(results: ScanResult[]): SecurityAnalysis; /** * Calculate risk score (0-100) */ private calculateRiskScore; /** * Determine compliance status */ private determineComplianceStatus; /** * Generate remediation steps */ private generateRemediationSteps; /** * Generate recommendations */ private generateRecommendations; /** * Generate summary of scan results */ generateSummary(results: ScanResult[]): { totalFiles: number; filesWithSecrets: number; totalSecrets: number; severityBreakdown: Record; topSecretTypes: Array<{ type: string; count: number; }>; }; /** * Get recommendations for specific detections */ getRecommendations(detections: SecretDetection[]): string[]; } //# sourceMappingURL=SecurityAnalyzer.d.ts.map