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
TypeScript
/**
* 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;
}