/** * @fileoverview Neuro-Symbolic Core - integrates neural (LLM) and symbolic reasoning * @module @nahisaho/musubix-security/intelligence/neuro-symbolic-core * @trace DES-SEC2-INT-001, REQ-SEC2-INT-001, REQ-SEC2-INT-002, REQ-SEC2-INT-003 */ import type { Vulnerability } from '../types/vulnerability.js'; import type { NeuralResult, SymbolicResult, KnowledgeGraphMatch, NeuroSymbolicResult, IntegrationOptions, INeuroSymbolicCore, ILLMAnalyzer, IKnowledgeQuery } from '../types/neuro-symbolic.js'; import type { TaintPath } from '../types/taint.js'; /** * Neuro-Symbolic Core implementation * Integrates neural (LLM) analysis with symbolic (knowledge graph) reasoning * @trace DES-SEC2-INT-001 */ export declare class NeuroSymbolicCore implements INeuroSymbolicCore { private options; private llmAnalyzer; private knowledgeQuery; constructor(options?: IntegrationOptions); /** * Set LLM analyzer implementation */ setLLMAnalyzer(analyzer: ILLMAnalyzer): void; /** * Set knowledge query implementation */ setKnowledgeQuery(query: IKnowledgeQuery): void; /** * Integrate neural and symbolic analysis for a vulnerability * @trace REQ-SEC2-INT-003 */ integrate(vulnerability: Vulnerability, options?: IntegrationOptions): Promise; /** * Validate a finding using symbolic reasoning only */ validateSymbolic(vulnerability: Vulnerability): Promise; /** * Analyze a finding using neural (LLM) analysis */ analyzeNeural(vulnerability: Vulnerability, context?: string): Promise; /** * Generate heuristic-based pseudo-neural result when LLM is not available */ private generateHeuristicNeuralResult; /** * Generate human-readable explanation */ private generateExplanation; /** * Calculate combined confidence score * @trace REQ-SEC2-INT-002 */ calculateScore(neuralResult: NeuralResult, symbolicResult: SymbolicResult): number; /** * Apply integration rules to determine final decision * @trace REQ-SEC2-INT-002 * * Rules: * - If symbolic validation fails -> reject neural result * - If symbolic valid AND neural confidence >= threshold -> confirm * - If symbolic valid AND neural confidence < threshold -> prefer symbolic */ private applyIntegrationRules; /** * Generate rationale for the decision */ private generateRationale; } /** * Create a default Neuro-Symbolic Core instance */ export declare function createNeuroSymbolicCore(options?: IntegrationOptions): NeuroSymbolicCore; /** * Stub LLM Analyzer for testing without actual LLM */ export declare class StubLLMAnalyzer implements ILLMAnalyzer { analyzeContext(codeSnippet: string, vulnerability: Vulnerability): Promise; generateExplanation(vulnerability: Vulnerability, dataFlow?: TaintPath): Promise; suggestFix(vulnerability: Vulnerability): Promise; } /** * Stub Knowledge Query for testing without actual knowledge graph */ export declare class StubKnowledgeQuery implements IKnowledgeQuery { queryPattern(_codePattern: string, cwes?: string[]): Promise; matchRule(vulnerability: Vulnerability): Promise; inferVulnerability(codeSnippet: string): Promise; } //# sourceMappingURL=neuro-symbolic-core.d.ts.map