/** * Output Injection Analyzer (Issue #110, Challenge #8, Issue #191) * Detects indirect prompt injection via unsanitized tool output * * Extracted from SecurityResponseAnalyzer.ts for modularity (Issue #179) * Pattern consolidation from SecurityPatternLibrary.ts (Issue #191) */ import { CompatibilityCallToolResult } from "@modelcontextprotocol/sdk/types.js"; /** * Result of output injection response analysis (Issue #110, Challenge #8) * Detects indirect prompt injection via unsanitized tool output */ export interface OutputInjectionResult { detected: boolean; injectionType: "LLM_INJECTION_MARKERS" | "RAW_CONTENT_INCLUDED" | "SANITIZED" | "UNKNOWN"; markers?: string[]; evidence?: string; } /** * Analyzes responses for output injection vulnerabilities * * This analyzer detects: * - VULNERABLE: LLM injection markers (, [INST], etc.) in output * - VULNERABLE: Tool self-reports raw_content_included: true * - SAFE: Tool reports content_sanitized: true or uses hash references */ export declare class OutputInjectionAnalyzer { private safeDetector; /** * LLM injection marker patterns (Issue #191) * Imported from SecurityPatternLibrary - single source of truth * Expanded from 8 to 20 patterns for comprehensive detection */ private static readonly MARKER_PATTERNS; /** * Raw content vulnerability patterns */ private static readonly RAW_CONTENT_PATTERNS; /** * Safe patterns (sanitized output) */ private static readonly SAFE_PATTERNS; constructor(); /** * Analyze response for output injection vulnerabilities (Issue #110, Challenge #8) * * @param response The tool response to analyze * @returns Analysis result with output injection detection status */ analyze(response: CompatibilityCallToolResult): OutputInjectionResult; } //# sourceMappingURL=OutputInjectionAnalyzer.d.ts.map