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.
66 lines (65 loc) • 2.02 kB
TypeScript
/**
* Hybrid Analysis Orchestrator
*
* Advanced orchestration framework for coordinating multiple analysis engines
* including Binary Ninja, Ghidra, dynamic taint tracking, and custom engines.
*/
import type { AnalysisEngine, AnalysisPhase, EngineCapability, HybridConfig, HybridAnalysisResult, HybridOrchestrator } from '../types/taint-tracking';
/**
* Main hybrid orchestration engine
*/
export declare class HybridAnalysisOrchestrator implements HybridOrchestrator {
private config;
private engines;
private correlator;
private activeSessions;
/**
* Configure the orchestrator
*/
configure(config: HybridConfig): Promise<void>;
/**
* Register an analysis engine with the orchestrator
*/
registerEngine(engine: AnalysisEngine, instance: any, capabilities: EngineCapability): Promise<void>;
/**
* Execute comprehensive hybrid analysis
*/
analyze(data: Uint8Array): Promise<HybridAnalysisResult>;
/**
* Get available engines and their capabilities
*/
getAvailableEngines(): Promise<EngineCapability[]>;
/**
* Cancel ongoing analysis
*/
cancelAnalysis(sessionId: string): Promise<boolean>;
/**
* Get analysis progress
*/
getProgress(sessionId: string): Promise<{
phase: AnalysisPhase;
completedTasks: number;
totalTasks: number;
estimatedTimeRemaining: number;
}>;
/**
* Generate analysis tasks based on orchestration strategy
*/
private generateAnalysisTasks;
/**
* Execute tasks with proper scheduling and dependency management
*/
private executeTasks;
/**
* Execute a single analysis task
*/
private executeTask;
private calculateTaskDependencies;
private calculateTaskPriority;
private estimateTaskDuration;
private calculateResultConfidence;
private findTaskEngine;
private determineCurrentPhase;
private generateHybridResult;
private generateRecommendations;
}