UNPKG

@seckav/security-sdk

Version:

SecKav Security SDK - Enterprise-grade security platform with AI-powered threat detection, LLM-powered misconfiguration scanning (Gemini/GPT-4/Claude), end-to-end encryption, behavioral analysis, enhanced file scanning, adaptive rate limiting, GDPR/DPDP/C

215 lines 6.01 kB
import { SecurityResult } from '../types/common'; export interface EnhancedSecurityConfig { apiUrl: string; timeout?: number; onError?: (error: any) => void; } export interface SecurityPolicyConfig { enableThreatDetection: boolean; enableAnomalyDetection: boolean; enableAdaptiveRateLimit: boolean; enableFileScanning: boolean; blockCritical: boolean; blockHigh: boolean; blockMedium: boolean; maxFileSize: number; allowedFileTypes: string[]; } export interface ThreatAnalysisResult { isThreat: boolean; threatType: string[]; severity: 'low' | 'medium' | 'high' | 'critical'; details: string[]; confidence: number; } export interface AnomalyAnalysisResult { score: number; factors: string[]; severity: 'low' | 'medium' | 'high' | 'critical'; confidence: number; } export interface FileAnalysisResult { isThreat: boolean; threats: string[]; severity: 'low' | 'medium' | 'high' | 'critical'; confidence: number; details: { fileType: string; actualMimeType: string; size: number; hash: string; malware: { signatures: string[]; heuristics: string[]; behaviorAnalysis: string[]; }; steganography: { detected: boolean; suspiciousPatterns: string[]; }; }; } export interface SecurityMetrics { requests: { total: number; blocked: number; allowed: number; blockRate: number; }; threats: { total: number; sqlInjection: number; xss: number; malware: number; anomalies: number; }; performance: { averageResponseTime: number; p95ResponseTime: number; p99ResponseTime: number; }; rateLimit: { totalRequests: number; limitedRequests: number; adaptiveLimits: number; }; } /** * Enhanced Security Module for SecKav SDK * Provides access to advanced AI-powered security features */ export declare class EnhancedSecurityModule { private config; constructor(config: EnhancedSecurityConfig); /** * Configure enhanced security policy */ configureSecurityPolicy(token: string, policy: SecurityPolicyConfig): Promise<SecurityResult>; /** * Analyze threat patterns in real-time */ analyzeThreat(token: string, data: { url?: string; method?: string; headers?: Record<string, string>; query?: Record<string, any>; body?: any; }): Promise<ThreatAnalysisResult>; /** * Analyze request for anomalies using AI */ analyzeAnomaly(token: string, requestData: { organizationId: string; ipAddress: string; userAgent: string; endpoint: string; method: string; payloadSize: number; timestamp: Date; country?: string; }): Promise<AnomalyAnalysisResult>; /** * Scan files for malware and threats */ scanFile(token: string, file: { filename: string; content: Buffer | string; mimeType?: string; }): Promise<FileAnalysisResult>; /** * Get adaptive rate limiting configuration */ getAdaptiveRateLimit(token: string, organizationId: string, endpoint: string, method: string): Promise<{ currentLimit: number; burstLimit: number; windowMs: number; confidence: number; reasons: string[]; }>; /** * Check for DDoS attacks */ checkDDoSStatus(token: string, organizationId: string): Promise<{ isUnderAttack: boolean; attackType?: 'volumetric' | 'protocol' | 'application'; intensity: number; mitigationActions: string[]; recommendedLimits: { requestsPerSecond: number; connectionsPerIp: number; payload: number; }; }>; /** * Get comprehensive security metrics */ getSecurityMetrics(token: string, timeRange?: '1h' | '24h' | '7d' | '30d'): Promise<SecurityMetrics>; /** * Get threat intelligence feeds */ getThreatIntelligence(token: string, ipAddress?: string): Promise<{ isMalicious: boolean; sources: string[]; threatTypes: string[]; lastSeen?: Date; confidence: number; reputation: number; }>; /** * Get behavioral fingerprint analysis */ getBehavioralFingerprint(token: string, requests: Array<{ timestamp: Date; endpoint: string; method: string; userAgent: string; payloadSize: number; responseTime: number; }>): Promise<{ fingerprint: string; similarity: number; isBot: boolean; confidence: number; patterns: string[]; }>; /** * Update threat detection rules */ updateThreatRules(token: string, rules: Array<{ id?: string; name: string; pattern: string; threatType: string; severity: 'low' | 'medium' | 'high' | 'critical'; enabled: boolean; }>): Promise<SecurityResult>; /** * Get security health status */ getSecurityHealth(token: string): Promise<{ status: 'healthy' | 'degraded' | 'unhealthy'; components: { threatDetection: boolean; anomalyDetection: boolean; rateLimiting: boolean; fileScanning: boolean; threatIntelligence: boolean; }; lastUpdate: Date; issues: string[]; }>; /** * Generate security report */ generateSecurityReport(token: string, timeRange?: '24h' | '7d' | '30d', format?: 'json' | 'pdf' | 'csv'): Promise<SecurityResult>; /** * Get module information */ getInfo(): { name: string; version: string; features: string[]; description: string; }; } //# sourceMappingURL=EnhancedSecurity.d.ts.map