/**
* Comprehensive Threat Models and Risk Assessment
*
* STRIDE-based threat modeling with automated risk assessment,
* attack surface analysis, and mitigation strategies
*/
///
import { EventEmitter } from "events";
export interface ThreatModel {
id: string;
name: string;
description: string;
scope: string[];
assets: Asset[];
threats: Threat[];
vulnerabilities: Vulnerability[];
mitigations: Mitigation[];
risk_assessment: RiskAssessment;
created_date: Date;
last_updated: Date;
version: string;
}
export interface Asset {
id: string;
name: string;
type: "data" | "system" | "process" | "person" | "facility";
classification: "public" | "internal" | "confidential" | "restricted";
value: number;
availability_requirement: "low" | "medium" | "high" | "critical";
integrity_requirement: "low" | "medium" | "high" | "critical";
confidentiality_requirement: "low" | "medium" | "high" | "critical";
dependencies: string[];
controls: string[];
threat_exposure: number;
}
export interface Threat {
id: string;
name: string;
description: string;
category: "spoofing" | "tampering" | "repudiation" | "information_disclosure" | "denial_of_service" | "elevation_of_privilege";
likelihood: "very_low" | "low" | "medium" | "high" | "very_high";
impact: "very_low" | "low" | "medium" | "high" | "very_high";
risk_score: number;
affected_assets: string[];
attack_vectors: string[];
threat_actors: string[];
mitigations: string[];
}
export interface Vulnerability {
id: string;
name: string;
description: string;
type: "technical" | "physical" | "administrative" | "operational";
severity: "low" | "medium" | "high" | "critical";
cvss_score?: number;
affected_assets: string[];
exploitability: "low" | "medium" | "high";
discovery_date: Date;
remediation_complexity: "low" | "medium" | "high";
status: "open" | "in_progress" | "mitigated" | "accepted" | "closed";
}
export interface Mitigation {
id: string;
name: string;
description: string;
type: "preventive" | "detective" | "corrective" | "deterrent";
effectiveness: "low" | "medium" | "high";
implementation_cost: "low" | "medium" | "high" | "very_high";
operational_impact: "low" | "medium" | "high";
threats_addressed: string[];
vulnerabilities_addressed: string[];
implementation_status: "planned" | "in_progress" | "implemented" | "verified";
implementation_date?: Date;
responsible_party: string;
}
export interface RiskAssessment {
overall_risk: "low" | "medium" | "high" | "critical";
risk_score: number;
high_risk_threats: string[];
critical_vulnerabilities: string[];
recommended_mitigations: string[];
residual_risk: "low" | "medium" | "high" | "critical";
risk_appetite: "conservative" | "moderate" | "aggressive";
assessment_date: Date;
next_review_date: Date;
}
export interface AttackPath {
id: string;
name: string;
description: string;
steps: AttackStep[];
likelihood: "very_low" | "low" | "medium" | "high" | "very_high";
impact: "very_low" | "low" | "medium" | "high" | "very_high";
risk_score: number;
mitigations: string[];
}
export interface AttackStep {
step_number: number;
technique: string;
description: string;
prerequisites: string[];
tools_required: string[];
skill_level: "low" | "medium" | "high" | "expert";
detection_difficulty: "easy" | "medium" | "hard" | "very_hard";
mitigations: string[];
}
export interface ThreatIntelligence {
id: string;
source: string;
threat_type: string;
indicators: Indicator[];
attribution: string;
confidence: "low" | "medium" | "high";
relevance: "low" | "medium" | "high";
last_updated: Date;
expiry_date?: Date;
}
export interface Indicator {
type: "ip" | "domain" | "url" | "hash" | "email" | "signature";
value: string;
confidence: "low" | "medium" | "high";
last_seen: Date;
context: string;
}
/**
* Threat Modeling Manager
*/
export declare class ThreatModelingManager extends EventEmitter {
private logger;
private threatModels;
private threatIntelligence;
private attackPaths;
private threatMetrics;
constructor();
/**
* Create a new threat model
*/
createThreatModel(params: {
name: string;
description: string;
scope: string[];
assets: Omit[];
}): Promise;
/**
* Analyze attack paths
*/
analyzeAttackPaths(modelId: string): Promise;
/**
* Update threat intelligence
*/
updateThreatIntelligence(intelligence: Omit): Promise;
/**
* Get threat model
*/
getThreatModel(modelId: string): ThreatModel | undefined;
/**
* Get all threat models
*/
getThreatModels(): ThreatModel[];
/**
* Get threat metrics
*/
getThreatMetrics(): {
models_created: number;
threats_identified: number;
vulnerabilities_found: number;
mitigations_implemented: number;
risk_assessments_completed: number;
attack_paths_analyzed: number;
};
private initializeThreatDatabase;
private startThreatMonitoring;
private identifyThreats;
private identifyVulnerabilities;
private generateMitigations;
private performRiskAssessment;
private generateAttackPath;
private correlateWithThreatModels;
private performThreatAnalysis;
}
//# sourceMappingURL=threat-models.d.ts.map