UNPKG

pompelmi

Version:

RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.

85 lines (84 loc) 2.49 kB
/** * Taint Analysis Policy Configuration * * Predefined and configurable taint analysis policies for different * analysis scenarios including malware analysis, vulnerability assessment, * and compliance auditing. */ import type { TaintConfig, OrchestrationStrategy, HybridConfig, AnalysisEngine } from '../types/taint-tracking'; /** * Policy template for different analysis scenarios */ export interface TaintPolicy { /** Policy identifier */ name: string; /** Policy description */ description: string; /** Target use case */ useCase: 'malware' | 'vulnerability' | 'compliance' | 'forensics' | 'general'; /** Taint tracking configuration */ taintConfig: TaintConfig; /** Hybrid orchestration strategy */ orchestrationStrategy: OrchestrationStrategy; /** Additional metadata */ metadata: { version: string; author: string; created: string; tags: string[]; riskLevel: 'low' | 'medium' | 'high' | 'critical'; }; } /** * Predefined taint policies for common analysis scenarios */ export declare class TaintPolicyManager { private policies; private customRules; constructor(); /** * Get a policy by name */ getPolicy(name: string): TaintPolicy | null; /** * Get all available policies */ getAllPolicies(): TaintPolicy[]; /** * Get policies by use case */ getPoliciesByUseCase(useCase: TaintPolicy['useCase']): TaintPolicy[]; /** * Register a custom policy */ registerPolicy(policy: TaintPolicy): void; /** * Create a hybrid configuration from a policy */ createHybridConfig(policyName: string, engineOverrides?: { [engine in AnalysisEngine]?: { enabled: boolean; config?: any; }; }): HybridConfig; /** * Initialize predefined policies */ private initializePredefinedPolicies; /** * Create orchestration strategies for different policies */ private createMalwareStrategy; private createVulnerabilityStrategy; private createComplianceStrategy; private createForensicsStrategy; private createFastScreeningStrategy; /** * Generate custom taint propagation rules for different use cases */ private getMalwareAnalysisRules; private getVulnerabilityAssessmentRules; private getComplianceAuditRules; private getForensicsAnalysisRules; private getFastScreeningRules; }