vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
115 lines • 4.1 kB
TypeScript
export type SecurityEventType = 'authentication' | 'authorization' | 'access_attempt' | 'data_access' | 'data_modification' | 'security_violation' | 'system_event' | 'suspicious_activity' | 'compliance_event' | 'error_event';
export type SecurityEventSeverity = 'info' | 'low' | 'medium' | 'high' | 'critical';
export interface SecurityAuditEvent {
id: string;
timestamp: Date;
eventType: SecurityEventType;
severity: SecurityEventSeverity;
source: string;
actor: {
userId?: string;
sessionId?: string;
ipAddress?: string;
userAgent?: string;
};
resource: {
type: string;
id?: string;
path?: string;
};
action: string;
outcome: 'success' | 'failure' | 'blocked' | 'warning';
details: {
description: string;
metadata?: Record<string, unknown>;
errorCode?: string;
stackTrace?: string;
};
integrity: {
checksum: string;
previousEventId?: string;
};
}
export interface SuspiciousActivityPattern {
id: string;
name: string;
description: string;
pattern: {
eventTypes: SecurityEventType[];
timeWindow: number;
threshold: number;
conditions?: Record<string, unknown>;
};
severity: SecurityEventSeverity;
enabled: boolean;
}
export interface SecurityAuditConfig {
enabled: boolean;
logDirectory: string;
maxLogFileSize: number;
maxLogFiles: number;
enableIntegrityProtection: boolean;
enableSuspiciousActivityDetection: boolean;
enableComplianceReporting: boolean;
retentionPeriodDays: number;
encryptLogs: boolean;
encryptionKey?: string;
}
export interface ComplianceReport {
id: string;
generatedAt: Date;
period: {
start: Date;
end: Date;
};
summary: {
totalEvents: number;
eventsByType: Record<SecurityEventType, number>;
eventsBySeverity: Record<SecurityEventSeverity, number>;
securityViolations: number;
suspiciousActivities: number;
};
violations: SecurityAuditEvent[];
recommendations: string[];
}
export declare class SecurityAuditLogger {
private static instance;
private config;
private auditEvents;
private suspiciousPatterns;
private eventCounter;
private lastEventId;
private currentLogFile;
private logFileHandle;
private constructor();
static getInstance(config?: Partial<SecurityAuditConfig>): SecurityAuditLogger;
logSecurityEvent(eventType: SecurityEventType, severity: SecurityEventSeverity, source: string, action: string, outcome: 'success' | 'failure' | 'blocked' | 'warning', description: string, options?: {
actor?: Partial<SecurityAuditEvent['actor']>;
resource?: Partial<SecurityAuditEvent['resource']>;
metadata?: Record<string, unknown>;
errorCode?: string;
stackTrace?: string;
}): Promise<void>;
private initializeAuditSystem;
private initializeLogFile;
private writeToLogFile;
private rotateLogFile;
private calculateEventChecksum;
private encryptLogData;
private initializeSuspiciousActivityPatterns;
private detectSuspiciousActivity;
generateComplianceReport(startDate: Date, endDate: Date): Promise<ComplianceReport>;
private generateRecommendations;
private cleanupOldLogFiles;
getAuditStatistics(): {
totalEvents: number;
eventsByType: Record<SecurityEventType, number>;
eventsBySeverity: Record<SecurityEventSeverity, number>;
recentViolations: SecurityAuditEvent[];
suspiciousPatterns: number;
};
shutdown(): Promise<void>;
}
export declare function logSecurityEvent(eventType: SecurityEventType, severity: SecurityEventSeverity, source: string, action: string, outcome: 'success' | 'failure' | 'blocked' | 'warning', description: string, options?: Parameters<SecurityAuditLogger['logSecurityEvent']>[6]): Promise<void>;
export declare function getSecurityAuditLogger(): SecurityAuditLogger;
//# sourceMappingURL=audit-logger.d.ts.map