/** * @fileoverview Malware Score Calculator * @module rules/malware/scoring * * Dynamic scoring system for malware detection that calculates risk scores * based on multiple factors including pattern matches, obfuscation level, * network indicators, and rule correlation. */ import { MalwareRule, MalwareScore, PatternMatch, AnalysisContext, MalwareFinding, IScoreCalculator, ConfidenceLevel } from '../types'; import { DEFAULT_SCORING_WEIGHTS } from '../constants'; /** * Malware Score Calculator * Implements dynamic scoring based on multiple risk factors */ export declare class MalwareScoreCalculator implements IScoreCalculator { private weights; constructor(customWeights?: Partial); /** * Calculate malware score for a finding */ calculateScore(rule: MalwareRule, matches: PatternMatch[], context: AnalysisContext): MalwareScore; /** * Calculate score breakdown */ private calculateBreakdown; /** * Calculate total score from breakdown */ private calculateTotalScore; /** * Get default base score from severity */ private getDefaultBaseScore; /** * Calculate score from pattern matches */ private calculatePatternScore; /** * Calculate obfuscation score */ private calculateObfuscationScore; /** * Calculate network indicator score */ private calculateNetworkScore; /** * Calculate execution indicator score */ private calculateExecutionScore; /** * Calculate persistence indicator score */ private calculatePersistenceScore; /** * Calculate correlation score from related findings */ private calculateCorrelationScore; /** * Calculate false positive penalty */ private calculateFalsePositivePenalty; /** * Convert score to severity */ private scoreToSeverity; /** * Convert score to risk level */ private scoreToRiskLevel; /** * Generate human-readable explanation */ private generateExplanation; /** * Calculate combined score for multiple findings */ calculateCombinedScore(findings: MalwareFinding[]): MalwareScore; } /** * Calculate confidence level based on evidence */ export declare function calculateConfidence(matchCount: number, patternDiversity: number, hasContextualEvidence: boolean, hasCorrelation: boolean): ConfidenceLevel; export declare const scoreCalculator: MalwareScoreCalculator; //# sourceMappingURL=index.d.ts.map