/** * Exploit Chain Analyzer * * Automatically chains multiple vulnerabilities into attack paths. * Identifies how individual findings can be combined for greater impact. * * Chain types: * - Read → RCE: Info disclosure enables code injection * - Auth bypass → Data: Skip auth to access database * - SSRF → Internal: External request to internal API * - XSS → Session: Script injection to cookie theft * * @module agents/exploit-chain */ import type { Severity, Finding } from "../certification/types.js"; /** * A single step in an exploit chain */ export interface ChainStep { findingId: string; finding: Finding; role: "entry" | "pivot" | "target"; prerequisite?: string; enables?: string; techniques: string[]; } /** * A complete exploit chain */ export interface ExploitChain { id: string; name: string; steps: ChainStep[]; totalSeverity: Severity; originalSeverities: Severity[]; confidence: number; attackScenario: string; mitreAttackIds: string[]; impact: string; difficulty: "trivial" | "easy" | "moderate" | "hard" | "expert"; } /** * Result of exploit chain analysis */ export interface ExploitChainResult { totalFindings: number; chainsDetected: number; chains: ExploitChain[]; riskScore: number; recommendations: string[]; /** Which engine ran ("pattern-only" or a model id) — LLM reasoning vs rules. */ modelUsed?: string; totalTokensUsed?: number; } /** * Analyze findings for exploit chains */ export declare function analyzeExploitChains(findings: Finding[], _projectPath?: string): Promise; /** * Convert exploit chains to certification findings */ export declare function exploitChainsToFindings(result: ExploitChainResult): Finding[]; /** * Get summary of exploit chain analysis */ export declare function getChainSummary(result: ExploitChainResult): string; //# sourceMappingURL=exploit-chain.d.ts.map