UNPKG

voyage-and-consumption-mcp-server

Version:

Voyage and consumption management server handling vessel voyages, fuel consumption, performance monitoring, and operational data with ERP access for data extraction

84 lines (83 loc) 2.5 kB
export interface SanitizationOptions { allowRegExp?: boolean; maxStringLength?: number; allowedOperators?: string[]; preventJavaScriptInjection?: boolean; } export declare class SanitizationMiddleware { private static readonly MONGODB_OPERATORS; private static readonly DANGEROUS_OPERATORS; private static readonly DANGEROUS_PATTERNS; /** * Sanitizes input parameters to prevent MongoDB injection attacks * @param input - The input to sanitize * @param options - Sanitization options * @returns Sanitized input */ static sanitizeInput(input: any, options?: SanitizationOptions): any; /** * Sanitizes string input */ private static sanitizeString; /** * Sanitizes object input */ private static sanitizeObject; /** * Sanitizes object keys */ private static sanitizeObjectKey; /** * Checks if an operator is dangerous */ private static isDangerousOperator; /** * Sanitizes MongoDB query parameters */ static sanitizeMongoQuery(query: any, options?: SanitizationOptions): any; /** * Sanitizes RegExp patterns to prevent injection */ static sanitizeRegExpPattern(pattern: string): string; /** * Creates a safe regex pattern for MongoDB queries */ static createSafeRegex(pattern: string, flags?: string): RegExp; /** * Sanitizes Typesense query parameters */ static sanitizeTypesenseQuery(query: any): any; /** * Sanitizes Typesense search strings */ private static sanitizeTypesenseString; /** * Sanitizes URL parameters */ static sanitizeUrlParams(params: Record<string, any>): Record<string, any>; /** * Validates and sanitizes date strings */ static sanitizeDateString(dateString: string): string; /** * Sanitizes IMO numbers */ static sanitizeIMO(imo: string | number): string; /** * Sanitizes coordinate values */ static sanitizeCoordinate(coordinate: number, type: 'latitude' | 'longitude'): number; /** * Sanitizes HTML content to prevent XSS */ static sanitizeHtml(html: string): string; /** * Validates that a query object is safe */ static validateQuerySafety(query: any): boolean; /** * Logs security events */ static logSecurityEvent(event: string, details: any): void; } export declare const sanitizationMiddleware: typeof SanitizationMiddleware;