vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
45 lines • 1.64 kB
TypeScript
import fsSync from 'fs';
export interface SecurityCheckResult {
allowed: boolean;
reason?: string;
normalizedPath?: string;
securityViolation?: boolean;
}
export interface FilesystemSecurityConfig {
enablePermissionChecking: boolean;
enableBlacklist: boolean;
enableExtensionFiltering: boolean;
maxPathLength: number;
performanceThresholdMs: number;
allowedDirectories: string[];
additionalBlacklistedPaths: string[];
additionalSafeExtensions: string[];
}
export declare class FilesystemSecurity {
private static instance;
private config;
private securityMode;
private constructor();
static getInstance(config?: Partial<FilesystemSecurityConfig>): FilesystemSecurity;
checkPathSecurity(filePath: string, operation?: 'read' | 'write' | 'execute'): Promise<SecurityCheckResult>;
readDirSecure(dirPath: string): Promise<fsSync.Dirent[]>;
statSecure(filePath: string): Promise<fsSync.Stats>;
private normalizePath;
private isBlacklisted;
private isWithinAllowedDirectories;
private isPathWithin;
private isSafeExtension;
private checkPermissions;
updateConfig(newConfig: Partial<FilesystemSecurityConfig>): void;
getConfig(): FilesystemSecurityConfig;
getSecurityMode(): 'strict' | 'permissive';
getSecurityStats(): {
securityMode: string;
blacklistedPathsCount: number;
allowedDirectoriesCount: number;
safeExtensionsCount: number;
};
addToBlacklist(pathToBlock: string): void;
removeFromBlacklist(pathToUnblock: string): void;
}
//# sourceMappingURL=filesystem-security.d.ts.map