/** * Description Poisoning Detector * Detects hidden instructions and malicious content in tool descriptions * * Extracted from ToolAnnotationAssessor.ts for maintainability. * Issue #8 implementation. */ import type { Tool } from "@modelcontextprotocol/sdk/types.js"; /** * Tool description poisoning pattern definition */ export interface PoisoningPattern { name: string; pattern: RegExp; severity: "LOW" | "MEDIUM" | "HIGH"; category: string; } /** * Result of description poisoning scan */ export interface PoisoningScanResult { detected: boolean; patterns: Array<{ name: string; pattern: string; severity: "LOW" | "MEDIUM" | "HIGH"; category: string; evidence: string; }>; riskLevel: "NONE" | "LOW" | "MEDIUM" | "HIGH"; /** Length warning for suspiciously long descriptions (Issue #119, Challenge #15) */ lengthWarning?: { length: number; threshold: number; isExcessive: boolean; }; } /** * Description poisoning patterns for detecting malicious tool descriptions * Covers: hidden instructions, override commands, concealment, exfiltration, * delimiter injection, encoding bypass, and typoglycemia/evasion patterns */ export declare const DESCRIPTION_POISONING_PATTERNS: PoisoningPattern[]; export declare function scanDescriptionForPoisoning(tool: Tool): PoisoningScanResult; //# sourceMappingURL=DescriptionPoisoningDetector.d.ts.map