@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
TypeScript
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