/** * Confidence Scorer * Calculates confidence levels for vulnerability detections * * Extracted from SecurityResponseAnalyzer.ts (Issue #53) * Handles: confidence calculation, structured data tool detection, validation pattern checks */ import { Tool } from "@modelcontextprotocol/sdk/types.js"; import { SecurityPayload } from "../../../../lib/securityPatterns.js"; import type { SanitizationDetectionResult } from "./SanitizationDetector.js"; /** * Result of confidence calculation */ export interface ConfidenceResult { confidence: "high" | "medium" | "low"; requiresManualReview: boolean; manualReviewReason?: string; reviewGuidance?: string; } /** * Calculates confidence levels for security vulnerability detections */ export declare class ConfidenceScorer { /** * Calculate confidence level for a vulnerability detection * * Factors considered: * - Sanitization detection (Issue #56) * - Structured data tool context * - Evidence quality * - Response characteristics * * @param tool - The tool being tested * @param isVulnerable - Whether the tool was flagged as vulnerable * @param evidence - Evidence string from vulnerability detection * @param responseText - The response text from the tool * @param payload - The security payload used for testing * @param sanitizationResult - Optional sanitization detection result (Issue #56) * @returns Confidence result with manual review requirements */ calculateConfidence(tool: Tool, isVulnerable: boolean, evidence: string, responseText: string, payload: SecurityPayload, sanitizationResult?: SanitizationDetectionResult): ConfidenceResult; /** * Check if tool is a structured data tool (search, lookup, retrieval) * * These tools are more likely to return data containing patterns * that look like vulnerabilities but are actually just data. */ isStructuredDataTool(toolName: string, toolDescription: string): boolean; /** * Check if evidence pattern is ambiguous (validation-like) * * Some patterns match both security issues AND normal validation errors. * These require more careful analysis. */ isValidationPattern(evidencePattern: RegExp): boolean; } //# sourceMappingURL=ConfidenceScorer.d.ts.map