vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
65 lines • 2.45 kB
TypeScript
import { AtomicTask } from '../types/task.js';
export interface SanitizationResult<T> {
success: boolean;
sanitizedData?: T;
originalData: T;
violations: SanitizationViolation[];
sanitizationTime: number;
}
export interface SanitizationViolation {
field: string;
violationType: 'xss' | 'injection' | 'malformed' | 'length' | 'pattern' | 'encoding';
originalValue: unknown;
sanitizedValue?: unknown;
severity: 'low' | 'medium' | 'high' | 'critical';
description: string;
}
export interface SanitizationConfig {
enableXssProtection: boolean;
enableCommandInjectionProtection: boolean;
enableSqlInjectionProtection: boolean;
maxStringLength: number;
maxArrayLength: number;
maxObjectDepth: number;
allowedHtmlTags: string[];
allowedProtocols: string[];
strictMode: boolean;
logViolations: boolean;
}
export declare class DataSanitizer {
private static instance;
private config;
private violations;
private readonly XSS_PATTERNS;
private readonly COMMAND_INJECTION_PATTERNS;
private readonly DEVELOPMENT_WHITELIST;
private readonly SQL_INJECTION_PATTERNS;
private readonly ENCODING_PATTERNS;
private constructor();
static getInstance(config?: Partial<SanitizationConfig>): DataSanitizer;
sanitizeTask(task: AtomicTask): Promise<SanitizationResult<AtomicTask>>;
private isSystemIdentifier;
private sanitizeString;
private isWhitelistedContent;
private sanitizeFilePath;
private sanitizeArray;
private sanitizeObject;
private removeXssPatterns;
private removeCommandInjectionPatterns;
private removeSqlInjectionPatterns;
private detectEncodingAttacks;
sanitizeInput<T>(input: T, fieldName?: string): Promise<SanitizationResult<T>>;
getSanitizationStatistics(): {
totalViolations: number;
violationsByType: Record<string, number>;
violationsBySeverity: Record<string, number>;
recentViolations: SanitizationViolation[];
};
updateConfig(config: Partial<SanitizationConfig>): void;
clearViolationHistory(): void;
shutdown(): void;
}
export declare function sanitizeTask(task: AtomicTask): Promise<SanitizationResult<AtomicTask>>;
export declare function sanitizeInput<T>(input: T, fieldName?: string): Promise<SanitizationResult<T>>;
export declare function getDataSanitizer(): DataSanitizer;
//# sourceMappingURL=data-sanitizer.d.ts.map