/** * AI-Powered Security Code Reviewer * Provides intelligent security code review and analysis */ interface SecurityReviewRule { id: string; name: string; description: string; category: "authentication" | "authorization" | "input-validation" | "crypto" | "session" | "config" | "general"; severity: "critical" | "high" | "medium" | "low" | "info"; pattern: RegExp; message: string; recommendation: string; cweId?: string; examples: { vulnerable: string; secure: string; }; } export interface CodeReviewResult { reviewId: string; timestamp: Date; file: string; findings: SecurityFinding[]; summary: { totalFindings: number; criticalFindings: number; highFindings: number; mediumFindings: number; lowFindings: number; infoFindings: number; }; overallRating: "secure" | "needs-review" | "vulnerable" | "critical"; recommendations: string[]; } interface SecurityFinding { id: string; rule: string; severity: "critical" | "high" | "medium" | "low" | "info"; line: number; column: number; code: string; message: string; recommendation: string; confidence: number; category: string; } /** * AI-Powered Security Code Reviewer */ export declare class SecurityReviewer { private reviewHistory; /** * Perform comprehensive security review of a file */ reviewFile(filePath: string, options?: { rules?: string[]; excludeRules?: string[]; aiAnalysis?: boolean; }): Promise; /** * Review multiple files */ reviewDirectory(dirPath: string, options?: { recursive?: boolean; filePattern?: RegExp; rules?: string[]; excludeRules?: string[]; aiAnalysis?: boolean; }): Promise; /** * Apply security rules to code content */ private applySecurityRules; /** * Get applicable security rules based on options */ private getApplicableRules; /** * Perform AI-powered code analysis */ private performAIAnalysis; /** * Calculate code complexity */ private calculateComplexity; /** * Calculate security score */ private calculateSecurityScore; /** * Analyze code patterns */ private analyzePatterns; /** * Generate AI recommendations */ private generateAIRecommendations; /** * Assess overall risk */ private assessRisk; /** * Calculate confidence score for a finding */ private calculateConfidence; /** * Generate summary of findings */ private generateSummary; /** * Calculate overall security rating */ private calculateOverallRating; /** * Generate recommendations based on findings */ private generateRecommendations; /** * Get line number from character index */ private getLineNumber; /** * Get column number from character index */ private getColumnNumber; /** * Get review history */ getReviewHistory(): CodeReviewResult[]; /** * Get security rules */ getSecurityRules(): SecurityReviewRule[]; /** * Add custom security rule */ addCustomRule(rule: SecurityReviewRule): void; /** * Remove security rule */ removeRule(ruleId: string): boolean; /** * Generate security report */ generateSecurityReport(results: CodeReviewResult[]): { summary: { filesReviewed: number; totalFindings: number; criticalFindings: number; highFindings: number; overallRating: "secure" | "needs-review" | "vulnerable" | "critical"; }; topIssues: SecurityFinding[]; recommendations: string[]; riskFactors: string[]; }; /** * Calculate overall project security rating */ private calculateProjectRating; /** * Identify project-wide risk factors */ private identifyRiskFactors; } export {}; //# sourceMappingURL=SecurityReviewer.d.ts.map