UNPKG

vineguard-utils

Version:

Shared utilities for VineGuard - AI-powered testing orchestration

64 lines 2.28 kB
/** * Security utilities for VineGuard * Provides input sanitization, validation, and security configuration */ export interface SecurityConfig { maxFileSize: number; allowedFileExtensions: string[]; maxPathDepth: number; allowedProtocols: string[]; rateLimits: { maxRequestsPerMinute: number; maxRequestsPerHour: number; }; timeouts: { defaultTimeoutMs: number; maxTimeoutMs: number; }; } export declare const DEFAULT_SECURITY_CONFIG: SecurityConfig; export declare class InputSanitizer { private static readonly HTML_ESCAPE_MAP; private static readonly SQL_INJECTION_PATTERNS; private static readonly SCRIPT_INJECTION_PATTERNS; static sanitizeHtml(input: string): string; static sanitizePath(input: string): string; static detectSqlInjection(input: string): boolean; static detectScriptInjection(input: string): boolean; static sanitizeCommand(input: string): string; static sanitizeEnvironmentValue(input: string): string; } export declare class SecurityValidator { private static config; static setConfig(config: Partial<SecurityConfig>): void; static getConfig(): SecurityConfig; static validateFileSize(size: number): void; static validateFileExtension(filename: string): void; static validatePathDepth(filePath: string): void; static validateUrl(url: string): void; static validateTimeout(timeoutMs: number): void; private static isPrivateIP; } export declare class RateLimiter { private static requests; private static hourlyRequests; static isAllowed(identifier: string): boolean; private static cleanup; static getRemainingRequests(identifier: string): { minute: number; hour: number; }; } export declare class EnvValidator { static validateRequired(envVars: string[]): void; static sanitizeEnvVar(value: string | undefined): string | undefined; static validateAndSanitize(envVars: Record<string, { required?: boolean; sanitize?: boolean; }>): Record<string, string | undefined>; } export declare class ProductionSecurity { static performSecurityChecks(): void; static getSecurityHeaders(): Record<string, string>; } //# sourceMappingURL=security.d.ts.map