@nahisaho/musubix-security 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/dist/analyzers/ai/index.d.ts +6 -0
- package/dist/analyzers/ai/index.d.ts.map +1 -0
- package/dist/analyzers/ai/index.js +6 -0
- package/dist/analyzers/ai/index.js.map +1 -0
- package/dist/analyzers/ai/prompt-injection-detector.d.ts +152 -0
- package/dist/analyzers/ai/prompt-injection-detector.d.ts.map +1 -0
- package/dist/analyzers/ai/prompt-injection-detector.js +468 -0
- package/dist/analyzers/ai/prompt-injection-detector.js.map +1 -0
- package/dist/analyzers/api/api-security-analyzer.d.ts +263 -0
- package/dist/analyzers/api/api-security-analyzer.d.ts.map +1 -0
- package/dist/analyzers/api/api-security-analyzer.js +581 -0
- package/dist/analyzers/api/api-security-analyzer.js.map +1 -0
- package/dist/analyzers/compliance/compliance-checker.d.ts +201 -0
- package/dist/analyzers/compliance/compliance-checker.d.ts.map +1 -0
- package/dist/analyzers/compliance/compliance-checker.js +772 -0
- package/dist/analyzers/compliance/compliance-checker.js.map +1 -0
- package/dist/analyzers/container/image-scanner.d.ts +163 -0
- package/dist/analyzers/container/image-scanner.d.ts.map +1 -0
- package/dist/analyzers/container/image-scanner.js +459 -0
- package/dist/analyzers/container/image-scanner.js.map +1 -0
- package/dist/analyzers/container/index.d.ts +6 -0
- package/dist/analyzers/container/index.d.ts.map +1 -0
- package/dist/analyzers/container/index.js +6 -0
- package/dist/analyzers/container/index.js.map +1 -0
- package/dist/analyzers/dashboard/security-dashboard.d.ts +286 -0
- package/dist/analyzers/dashboard/security-dashboard.d.ts.map +1 -0
- package/dist/analyzers/dashboard/security-dashboard.js +796 -0
- package/dist/analyzers/dashboard/security-dashboard.js.map +1 -0
- package/dist/analyzers/iac/iac-checker.d.ts +124 -0
- package/dist/analyzers/iac/iac-checker.d.ts.map +1 -0
- package/dist/analyzers/iac/iac-checker.js +755 -0
- package/dist/analyzers/iac/iac-checker.js.map +1 -0
- package/dist/analyzers/iac/index.d.ts +6 -0
- package/dist/analyzers/iac/index.d.ts.map +1 -0
- package/dist/analyzers/iac/index.js +6 -0
- package/dist/analyzers/iac/index.js.map +1 -0
- package/dist/analyzers/index.d.ts +9 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +13 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/monitor/realtime-monitor.d.ts +216 -0
- package/dist/analyzers/monitor/realtime-monitor.d.ts.map +1 -0
- package/dist/analyzers/monitor/realtime-monitor.js +601 -0
- package/dist/analyzers/monitor/realtime-monitor.js.map +1 -0
- package/dist/analyzers/sast/index.d.ts +7 -0
- package/dist/analyzers/sast/index.d.ts.map +1 -0
- package/dist/analyzers/sast/index.js +7 -0
- package/dist/analyzers/sast/index.js.map +1 -0
- package/dist/analyzers/sast/interprocedural-analyzer.d.ts +276 -0
- package/dist/analyzers/sast/interprocedural-analyzer.d.ts.map +1 -0
- package/dist/analyzers/sast/interprocedural-analyzer.js +635 -0
- package/dist/analyzers/sast/interprocedural-analyzer.js.map +1 -0
- package/dist/analyzers/sast/zero-day-detector.d.ts +183 -0
- package/dist/analyzers/sast/zero-day-detector.d.ts.map +1 -0
- package/dist/analyzers/sast/zero-day-detector.js +593 -0
- package/dist/analyzers/sast/zero-day-detector.js.map +1 -0
- package/dist/analyzers/sca/dependency-scanner.d.ts +275 -0
- package/dist/analyzers/sca/dependency-scanner.d.ts.map +1 -0
- package/dist/analyzers/sca/dependency-scanner.js +642 -0
- package/dist/analyzers/sca/dependency-scanner.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/pipeline-manager.d.ts +105 -0
- package/dist/core/pipeline-manager.d.ts.map +1 -0
- package/dist/core/pipeline-manager.js +449 -0
- package/dist/core/pipeline-manager.js.map +1 -0
- package/dist/core/result-aggregator.d.ts +96 -0
- package/dist/core/result-aggregator.d.ts.map +1 -0
- package/dist/core/result-aggregator.js +462 -0
- package/dist/core/result-aggregator.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/ci-integration.d.ts +227 -0
- package/dist/integrations/ci-integration.d.ts.map +1 -0
- package/dist/integrations/ci-integration.js +472 -0
- package/dist/integrations/ci-integration.js.map +1 -0
- package/dist/integrations/git-hooks.d.ts +155 -0
- package/dist/integrations/git-hooks.d.ts.map +1 -0
- package/dist/integrations/git-hooks.js +425 -0
- package/dist/integrations/git-hooks.js.map +1 -0
- package/dist/integrations/index.d.ts +9 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +9 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/report-aggregator.d.ts +250 -0
- package/dist/integrations/report-aggregator.d.ts.map +1 -0
- package/dist/integrations/report-aggregator.js +488 -0
- package/dist/integrations/report-aggregator.js.map +1 -0
- package/dist/integrations/vscode-integration.d.ts +245 -0
- package/dist/integrations/vscode-integration.d.ts.map +1 -0
- package/dist/integrations/vscode-integration.js +449 -0
- package/dist/integrations/vscode-integration.js.map +1 -0
- package/dist/intelligence/attack-pattern-matcher.d.ts +217 -0
- package/dist/intelligence/attack-pattern-matcher.d.ts.map +1 -0
- package/dist/intelligence/attack-pattern-matcher.js +887 -0
- package/dist/intelligence/attack-pattern-matcher.js.map +1 -0
- package/dist/intelligence/index.d.ts +12 -0
- package/dist/intelligence/index.d.ts.map +1 -0
- package/dist/intelligence/index.js +18 -0
- package/dist/intelligence/index.js.map +1 -0
- package/dist/intelligence/neuro-symbolic-core.d.ts +88 -0
- package/dist/intelligence/neuro-symbolic-core.d.ts.map +1 -0
- package/dist/intelligence/neuro-symbolic-core.js +403 -0
- package/dist/intelligence/neuro-symbolic-core.js.map +1 -0
- package/dist/intelligence/predictive-analyzer.d.ts +317 -0
- package/dist/intelligence/predictive-analyzer.d.ts.map +1 -0
- package/dist/intelligence/predictive-analyzer.js +714 -0
- package/dist/intelligence/predictive-analyzer.js.map +1 -0
- package/dist/intelligence/risk-scorer.d.ts +333 -0
- package/dist/intelligence/risk-scorer.d.ts.map +1 -0
- package/dist/intelligence/risk-scorer.js +824 -0
- package/dist/intelligence/risk-scorer.js.map +1 -0
- package/dist/intelligence/security-analytics.d.ts +349 -0
- package/dist/intelligence/security-analytics.d.ts.map +1 -0
- package/dist/intelligence/security-analytics.js +813 -0
- package/dist/intelligence/security-analytics.js.map +1 -0
- package/dist/intelligence/threat-intelligence.d.ts +288 -0
- package/dist/intelligence/threat-intelligence.d.ts.map +1 -0
- package/dist/intelligence/threat-intelligence.js +639 -0
- package/dist/intelligence/threat-intelligence.js.map +1 -0
- package/dist/policy/index.d.ts +6 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +6 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/policy-engine.d.ts +254 -0
- package/dist/policy/policy-engine.d.ts.map +1 -0
- package/dist/policy/policy-engine.js +651 -0
- package/dist/policy/policy-engine.js.map +1 -0
- package/dist/remediation/auto-fixer.d.ts +179 -0
- package/dist/remediation/auto-fixer.d.ts.map +1 -0
- package/dist/remediation/auto-fixer.js +540 -0
- package/dist/remediation/auto-fixer.js.map +1 -0
- package/dist/remediation/fix-validator.d.ts +195 -0
- package/dist/remediation/fix-validator.d.ts.map +1 -0
- package/dist/remediation/fix-validator.js +462 -0
- package/dist/remediation/fix-validator.js.map +1 -0
- package/dist/remediation/index.d.ts +10 -0
- package/dist/remediation/index.d.ts.map +1 -0
- package/dist/remediation/index.js +15 -0
- package/dist/remediation/index.js.map +1 -0
- package/dist/remediation/patch-generator.d.ts +203 -0
- package/dist/remediation/patch-generator.d.ts.map +1 -0
- package/dist/remediation/patch-generator.js +533 -0
- package/dist/remediation/patch-generator.js.map +1 -0
- package/dist/remediation/remediation-planner.d.ts +262 -0
- package/dist/remediation/remediation-planner.d.ts.map +1 -0
- package/dist/remediation/remediation-planner.js +531 -0
- package/dist/remediation/remediation-planner.js.map +1 -0
- package/dist/remediation/secure-code-transformer.d.ts +222 -0
- package/dist/remediation/secure-code-transformer.d.ts.map +1 -0
- package/dist/remediation/secure-code-transformer.js +625 -0
- package/dist/remediation/secure-code-transformer.js.map +1 -0
- package/dist/types/fix.d.ts +3 -1
- package/dist/types/fix.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/interprocedural.d.ts +203 -0
- package/dist/types/interprocedural.d.ts.map +1 -0
- package/dist/types/interprocedural.js +7 -0
- package/dist/types/interprocedural.js.map +1 -0
- package/dist/types/neuro-symbolic.d.ts +179 -0
- package/dist/types/neuro-symbolic.d.ts.map +1 -0
- package/dist/types/neuro-symbolic.js +7 -0
- package/dist/types/neuro-symbolic.js.map +1 -0
- package/dist/types/pipeline.d.ts +173 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +7 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/result.d.ts +134 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +25 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/vulnerability.d.ts +2 -2
- package/dist/types/vulnerability.d.ts.map +1 -1
- package/dist/types/zero-day.d.ts +146 -0
- package/dist/types/zero-day.d.ts.map +1 -0
- package/dist/types/zero-day.js +7 -0
- package/dist/types/zero-day.js.map +1 -0
- package/package.json +2 -2
package/dist/types/fix.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/types/fix.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,eAAe,GACf,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/types/fix.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,4 +11,10 @@ export { BUILTIN_SECRET_PATTERNS } from './secret.js';
|
|
|
11
11
|
export type { DependencyType, VulnerabilitySource, VulnerableDependency, DependencyVulnerability, UpgradeSuggestion, AuditResult, AuditOptions, SBOMEntry, SBOM, SBOMOptions, LicenseCheckResult, LicensePolicy, } from './dependency.js';
|
|
12
12
|
export type { ReportFormat, KnowledgeGraphMode, CacheStrategy, ReportConfig, KnowledgeGraphConfig, AIConfig, CacheConfig, CIConfig, SecurityConfig, } from './config.js';
|
|
13
13
|
export { DEFAULT_CONFIG, CONFIG_FILE_LOCATIONS, ENV_PREFIX, CONFIG_SCHEMA_VERSION, } from './config.js';
|
|
14
|
+
export type { StageId, StageStatus, AnalyzerType, PipelineStage, PipelineConfig, ProgressCallback, PipelineProgress, StageResult, PipelineResult, IPipelineManager, Pipeline, AnalyzerFactory, AnalyzerInstance, } from './pipeline.js';
|
|
15
|
+
export type { EvidenceType, Evidence, NeuralResult, SymbolicResult, KnowledgeGraphMatch, FinalDecision, NeuroSymbolicResult, IntegrationOptions, INeuroSymbolicCore, ILLMAnalyzer, IKnowledgeQuery, } from './neuro-symbolic.js';
|
|
16
|
+
export type { DeviationType, LLMRecommendation, LLMAnalysisResult, RiskFactor, RiskAssessment, ZeroDayCandidate, ZeroDayDetectionOptions, ZeroDayResult, IZeroDayDetector, } from './zero-day.js';
|
|
17
|
+
export type { DataFlowOperation, ParameterInfo, CallGraphNode, ArgumentMapping, CallGraphEdge, CallGraph, CycleInfo, DataFlowStep, DataFlowPath, InterproceduralOptions, InterproceduralResult, IInterproceduralAnalyzer, } from './interprocedural.js';
|
|
18
|
+
export type { DetectionSource, AggregatedVulnerability, AnalysisResult, AggregatedResult, DeduplicationRule, PrioritizationCriteria, IResultAggregator, } from './result.js';
|
|
19
|
+
export { DEFAULT_PRIORITIZATION, SEVERITY_SCORES, } from './result.js';
|
|
14
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,UAAU,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,UAAU,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -5,4 +5,5 @@
|
|
|
5
5
|
export { BUILTIN_SANITIZERS } from './taint.js';
|
|
6
6
|
export { BUILTIN_SECRET_PATTERNS } from './secret.js';
|
|
7
7
|
export { DEFAULT_CONFIG, CONFIG_FILE_LOCATIONS, ENV_PREFIX, CONFIG_SCHEMA_VERSION, } from './config.js';
|
|
8
|
+
export { DEFAULT_PRIORITIZATION, SEVERITY_SCORES, } from './result.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4BhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AA+BtD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4BhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AA+BtD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAC;AA0ErB,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Interprocedural analysis type definitions
|
|
3
|
+
* @module @nahisaho/musubix-security/types/interprocedural
|
|
4
|
+
* @trace DES-SEC2-SAST-004, REQ-SEC2-SAST-004
|
|
5
|
+
*/
|
|
6
|
+
import type { SourceLocation } from './vulnerability.js';
|
|
7
|
+
/**
|
|
8
|
+
* Data flow operation type
|
|
9
|
+
*/
|
|
10
|
+
export type DataFlowOperation = 'define' | 'use' | 'call' | 'return';
|
|
11
|
+
/**
|
|
12
|
+
* Parameter information
|
|
13
|
+
*/
|
|
14
|
+
export interface ParameterInfo {
|
|
15
|
+
/** Parameter name */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Parameter type (if available) */
|
|
18
|
+
type?: string;
|
|
19
|
+
/** Whether parameter is tainted */
|
|
20
|
+
isTainted?: boolean;
|
|
21
|
+
/** Index in parameter list */
|
|
22
|
+
index: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Call graph node representing a function
|
|
26
|
+
* @trace REQ-SEC2-SAST-004
|
|
27
|
+
*/
|
|
28
|
+
export interface CallGraphNode {
|
|
29
|
+
/** Unique node identifier */
|
|
30
|
+
id: string;
|
|
31
|
+
/** Function name */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Module/file path */
|
|
34
|
+
module: string;
|
|
35
|
+
/** Source code location */
|
|
36
|
+
location: SourceLocation;
|
|
37
|
+
/** Function parameters */
|
|
38
|
+
parameters: ParameterInfo[];
|
|
39
|
+
/** Return type (if available) */
|
|
40
|
+
returnType?: string;
|
|
41
|
+
/** Whether function is exported */
|
|
42
|
+
isExported?: boolean;
|
|
43
|
+
/** Whether function is async */
|
|
44
|
+
isAsync?: boolean;
|
|
45
|
+
/** Complexity score */
|
|
46
|
+
complexity?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Argument mapping between caller and callee
|
|
50
|
+
*/
|
|
51
|
+
export interface ArgumentMapping {
|
|
52
|
+
/** Expression passed by caller */
|
|
53
|
+
callerExpression: string;
|
|
54
|
+
/** Parameter name in callee */
|
|
55
|
+
calleeParameter: string;
|
|
56
|
+
/** Whether argument may be tainted */
|
|
57
|
+
maybeTainted?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Call graph edge representing a function call
|
|
61
|
+
*/
|
|
62
|
+
export interface CallGraphEdge {
|
|
63
|
+
/** Caller function ID */
|
|
64
|
+
caller: string;
|
|
65
|
+
/** Callee function ID */
|
|
66
|
+
callee: string;
|
|
67
|
+
/** Call site location */
|
|
68
|
+
location: SourceLocation;
|
|
69
|
+
/** Argument mappings */
|
|
70
|
+
argumentMapping: ArgumentMapping[];
|
|
71
|
+
/** Call type */
|
|
72
|
+
callType?: 'direct' | 'indirect' | 'callback';
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Call graph structure
|
|
76
|
+
* @trace REQ-SEC2-SAST-004
|
|
77
|
+
*/
|
|
78
|
+
export interface CallGraph {
|
|
79
|
+
/** All function nodes */
|
|
80
|
+
nodes: CallGraphNode[];
|
|
81
|
+
/** All call edges */
|
|
82
|
+
edges: CallGraphEdge[];
|
|
83
|
+
/** Root nodes (entry points) */
|
|
84
|
+
roots: string[];
|
|
85
|
+
/** Leaf nodes (terminal functions) */
|
|
86
|
+
leaves: string[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Cycle information for recursive calls
|
|
90
|
+
*/
|
|
91
|
+
export interface CycleInfo {
|
|
92
|
+
/** Nodes involved in the cycle */
|
|
93
|
+
nodes: string[];
|
|
94
|
+
/** Entry point of the cycle */
|
|
95
|
+
entryPoint: string;
|
|
96
|
+
/** Cycle length */
|
|
97
|
+
length: number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Data flow step across function boundaries
|
|
101
|
+
*/
|
|
102
|
+
export interface DataFlowStep {
|
|
103
|
+
/** Source location */
|
|
104
|
+
location: SourceLocation;
|
|
105
|
+
/** Expression at this step */
|
|
106
|
+
expression: string;
|
|
107
|
+
/** Function containing this step */
|
|
108
|
+
functionId: string;
|
|
109
|
+
/** Operation type */
|
|
110
|
+
operation: DataFlowOperation;
|
|
111
|
+
/** Step index in path */
|
|
112
|
+
index: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Data flow path tracking variable across functions
|
|
116
|
+
*/
|
|
117
|
+
export interface DataFlowPath {
|
|
118
|
+
/** Variable being tracked */
|
|
119
|
+
variable: string;
|
|
120
|
+
/** Steps in the data flow */
|
|
121
|
+
steps: DataFlowStep[];
|
|
122
|
+
/** Whether path crosses function boundaries */
|
|
123
|
+
crossesBoundary: boolean;
|
|
124
|
+
/** Functions involved in the path */
|
|
125
|
+
functionsInvolved: string[];
|
|
126
|
+
/** Whether path is tainted */
|
|
127
|
+
isTainted?: boolean;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Interprocedural analysis options
|
|
131
|
+
*/
|
|
132
|
+
export interface InterproceduralOptions {
|
|
133
|
+
/** Maximum call depth to analyze */
|
|
134
|
+
maxDepth?: number;
|
|
135
|
+
/** Include external library calls */
|
|
136
|
+
includeExternalCalls?: boolean;
|
|
137
|
+
/** Detect cycles */
|
|
138
|
+
detectCycles?: boolean;
|
|
139
|
+
/** Track data flow */
|
|
140
|
+
trackDataFlow?: boolean;
|
|
141
|
+
/** Entry points (if not specified, auto-detect) */
|
|
142
|
+
entryPoints?: string[];
|
|
143
|
+
/** Timeout per file in milliseconds */
|
|
144
|
+
timeout?: number;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Interprocedural analysis result
|
|
148
|
+
* @trace REQ-SEC2-SAST-004
|
|
149
|
+
*/
|
|
150
|
+
export interface InterproceduralResult {
|
|
151
|
+
/** Generated call graph */
|
|
152
|
+
callGraph: CallGraph;
|
|
153
|
+
/** Detected data flow paths */
|
|
154
|
+
dataFlows: DataFlowPath[];
|
|
155
|
+
/** Detected recursive cycles */
|
|
156
|
+
cycles: CycleInfo[];
|
|
157
|
+
/** Whether max depth was reached */
|
|
158
|
+
maxDepthReached: boolean;
|
|
159
|
+
/** Analysis statistics */
|
|
160
|
+
stats: {
|
|
161
|
+
totalFunctions: number;
|
|
162
|
+
totalCalls: number;
|
|
163
|
+
taintedPaths: number;
|
|
164
|
+
cyclesDetected: number;
|
|
165
|
+
};
|
|
166
|
+
/** Analysis duration in milliseconds */
|
|
167
|
+
analysisTime: number;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Interprocedural analyzer interface
|
|
171
|
+
* @trace DES-SEC2-SAST-004
|
|
172
|
+
*/
|
|
173
|
+
export interface IInterproceduralAnalyzer {
|
|
174
|
+
/**
|
|
175
|
+
* Build call graph for given files
|
|
176
|
+
*/
|
|
177
|
+
buildCallGraph(files: string[], options?: InterproceduralOptions): Promise<CallGraph>;
|
|
178
|
+
/**
|
|
179
|
+
* Analyze data flow across function boundaries
|
|
180
|
+
*/
|
|
181
|
+
analyzeDataFlow(callGraph: CallGraph, options?: InterproceduralOptions): Promise<DataFlowPath[]>;
|
|
182
|
+
/**
|
|
183
|
+
* Detect cycles in call graph
|
|
184
|
+
*/
|
|
185
|
+
detectCycles(callGraph: CallGraph): CycleInfo[];
|
|
186
|
+
/**
|
|
187
|
+
* Get callers of a function
|
|
188
|
+
*/
|
|
189
|
+
getCallers(callGraph: CallGraph, functionId: string): CallGraphNode[];
|
|
190
|
+
/**
|
|
191
|
+
* Get callees of a function
|
|
192
|
+
*/
|
|
193
|
+
getCallees(callGraph: CallGraph, functionId: string): CallGraphNode[];
|
|
194
|
+
/**
|
|
195
|
+
* Find path between two functions
|
|
196
|
+
*/
|
|
197
|
+
findPath(callGraph: CallGraph, fromId: string, toId: string): CallGraphNode[] | null;
|
|
198
|
+
/**
|
|
199
|
+
* Full interprocedural analysis
|
|
200
|
+
*/
|
|
201
|
+
analyze(files: string[], options?: InterproceduralOptions): Promise<InterproceduralResult>;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=interprocedural.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interprocedural.d.ts","sourceRoot":"","sources":["../../src/types/interprocedural.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IAEX,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,QAAQ,EAAE,cAAc,CAAC;IAEzB,0BAA0B;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;IAE5B,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,+BAA+B;IAC/B,eAAe,EAAE,MAAM,CAAC;IAExB,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,QAAQ,EAAE,cAAc,CAAC;IAEzB,wBAAwB;IACxB,eAAe,EAAE,eAAe,EAAE,CAAC;IAEnC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,qBAAqB;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,sCAAsC;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,cAAc,CAAC;IAEzB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,qBAAqB;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAE7B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,+CAA+C;IAC/C,eAAe,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sBAAsB;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,+BAA+B;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;IAE1B,gCAAgC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAC;IAEzB,0BAA0B;IAC1B,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;OAEG;IACH,eAAe,CACb,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAEhD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAEtE;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAEtE;;OAEG;IACH,QAAQ,CACN,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,CACL,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interprocedural.js","sourceRoot":"","sources":["../../src/types/interprocedural.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Neuro-Symbolic intelligence type definitions
|
|
3
|
+
* @module @nahisaho/musubix-security/types/neuro-symbolic
|
|
4
|
+
* @trace DES-SEC2-INT-001, REQ-SEC2-INT-001, REQ-SEC2-INT-002, REQ-SEC2-INT-003
|
|
5
|
+
*/
|
|
6
|
+
import type { Vulnerability, Severity } from './vulnerability.js';
|
|
7
|
+
import type { TaintPath } from './taint.js';
|
|
8
|
+
/**
|
|
9
|
+
* Evidence type for symbolic reasoning
|
|
10
|
+
*/
|
|
11
|
+
export type EvidenceType = 'pattern-match' | 'rule-inference' | 'knowledge-graph' | 'static-analysis' | 'data-flow';
|
|
12
|
+
/**
|
|
13
|
+
* Symbolic reasoning evidence
|
|
14
|
+
* @trace REQ-SEC2-INT-002
|
|
15
|
+
*/
|
|
16
|
+
export interface Evidence {
|
|
17
|
+
/** Evidence type */
|
|
18
|
+
type: EvidenceType;
|
|
19
|
+
/** Source of evidence (pattern name, rule ID, etc.) */
|
|
20
|
+
source: string;
|
|
21
|
+
/** Detailed description */
|
|
22
|
+
description: string;
|
|
23
|
+
/** Confidence weight (0.0-1.0) */
|
|
24
|
+
weight: number;
|
|
25
|
+
/** Related CWEs */
|
|
26
|
+
relatedCWEs?: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Neural (LLM) analysis result
|
|
30
|
+
* @trace REQ-SEC2-INT-001
|
|
31
|
+
*/
|
|
32
|
+
export interface NeuralResult {
|
|
33
|
+
/** Confidence score (0.0-1.0) */
|
|
34
|
+
confidence: number;
|
|
35
|
+
/** Generated explanation */
|
|
36
|
+
explanation: string;
|
|
37
|
+
/** Suggested severity */
|
|
38
|
+
suggestedSeverity: Severity;
|
|
39
|
+
/** Suggested fixes */
|
|
40
|
+
suggestedFixes: string[];
|
|
41
|
+
/** Model used */
|
|
42
|
+
model: string;
|
|
43
|
+
/** Token usage */
|
|
44
|
+
tokenUsage?: {
|
|
45
|
+
prompt: number;
|
|
46
|
+
completion: number;
|
|
47
|
+
total: number;
|
|
48
|
+
};
|
|
49
|
+
/** Response time in milliseconds */
|
|
50
|
+
latency: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Symbolic validation result
|
|
54
|
+
* @trace REQ-SEC2-INT-002
|
|
55
|
+
*/
|
|
56
|
+
export interface SymbolicResult {
|
|
57
|
+
/** Whether the finding is valid according to symbolic rules */
|
|
58
|
+
valid: boolean;
|
|
59
|
+
/** Evidence supporting the decision */
|
|
60
|
+
evidence: Evidence[];
|
|
61
|
+
/** Matched patterns */
|
|
62
|
+
matchedPatterns: string[];
|
|
63
|
+
/** Applied rules */
|
|
64
|
+
appliedRules: string[];
|
|
65
|
+
/** Knowledge graph query results */
|
|
66
|
+
knowledgeGraphMatches?: KnowledgeGraphMatch[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Knowledge graph match
|
|
70
|
+
*/
|
|
71
|
+
export interface KnowledgeGraphMatch {
|
|
72
|
+
/** Entity URI */
|
|
73
|
+
entityUri: string;
|
|
74
|
+
/** Entity type */
|
|
75
|
+
entityType: string;
|
|
76
|
+
/** Match score (0.0-1.0) */
|
|
77
|
+
score: number;
|
|
78
|
+
/** Related entities */
|
|
79
|
+
relatedEntities: string[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Final decision from Neuro-Symbolic integration
|
|
83
|
+
*/
|
|
84
|
+
export type FinalDecision = 'confirmed' | 'rejected' | 'needs-review';
|
|
85
|
+
/**
|
|
86
|
+
* Neuro-Symbolic integration result
|
|
87
|
+
* @trace REQ-SEC2-INT-002
|
|
88
|
+
*/
|
|
89
|
+
export interface NeuroSymbolicResult {
|
|
90
|
+
/** Neural (LLM) confidence */
|
|
91
|
+
neuralConfidence: number;
|
|
92
|
+
/** Symbolic validation result */
|
|
93
|
+
symbolicValid: boolean;
|
|
94
|
+
/** Final decision based on integration rules */
|
|
95
|
+
finalDecision: FinalDecision;
|
|
96
|
+
/** Neural analysis explanation */
|
|
97
|
+
neuralExplanation: string;
|
|
98
|
+
/** Symbolic reasoning evidence */
|
|
99
|
+
symbolicEvidence: Evidence[];
|
|
100
|
+
/** Combined confidence score */
|
|
101
|
+
combinedConfidence: number;
|
|
102
|
+
/** Decision rationale */
|
|
103
|
+
rationale: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Integration options
|
|
107
|
+
*/
|
|
108
|
+
export interface IntegrationOptions {
|
|
109
|
+
/** Neural confidence threshold (default: 0.8) */
|
|
110
|
+
neuralThreshold?: number;
|
|
111
|
+
/** Require symbolic validation */
|
|
112
|
+
requireSymbolicValidation?: boolean;
|
|
113
|
+
/** LLM provider to use */
|
|
114
|
+
llmProvider?: 'openai' | 'anthropic' | 'azure';
|
|
115
|
+
/** Maximum LLM tokens */
|
|
116
|
+
maxTokens?: number;
|
|
117
|
+
/** Knowledge graph query depth */
|
|
118
|
+
kgQueryDepth?: number;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Neuro-Symbolic core interface
|
|
122
|
+
* @trace DES-SEC2-INT-001
|
|
123
|
+
*/
|
|
124
|
+
export interface INeuroSymbolicCore {
|
|
125
|
+
/**
|
|
126
|
+
* Integrate neural and symbolic analysis for a vulnerability
|
|
127
|
+
* @trace REQ-SEC2-INT-003
|
|
128
|
+
*/
|
|
129
|
+
integrate(vulnerability: Vulnerability, options?: IntegrationOptions): Promise<NeuroSymbolicResult>;
|
|
130
|
+
/**
|
|
131
|
+
* Validate a finding using symbolic reasoning only
|
|
132
|
+
*/
|
|
133
|
+
validateSymbolic(vulnerability: Vulnerability): Promise<SymbolicResult>;
|
|
134
|
+
/**
|
|
135
|
+
* Analyze a finding using neural (LLM) only
|
|
136
|
+
*/
|
|
137
|
+
analyzeNeural(vulnerability: Vulnerability, context?: string): Promise<NeuralResult>;
|
|
138
|
+
/**
|
|
139
|
+
* Calculate combined confidence score
|
|
140
|
+
*/
|
|
141
|
+
calculateScore(neuralResult: NeuralResult, symbolicResult: SymbolicResult): number;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* LLM analyzer interface
|
|
145
|
+
* @trace DES-SEC2-INT-002
|
|
146
|
+
*/
|
|
147
|
+
export interface ILLMAnalyzer {
|
|
148
|
+
/**
|
|
149
|
+
* Analyze vulnerability context
|
|
150
|
+
*/
|
|
151
|
+
analyzeContext(codeSnippet: string, vulnerability: Vulnerability): Promise<NeuralResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Generate human-readable explanation
|
|
154
|
+
*/
|
|
155
|
+
generateExplanation(vulnerability: Vulnerability, dataFlow?: TaintPath): Promise<string>;
|
|
156
|
+
/**
|
|
157
|
+
* Suggest fix for vulnerability
|
|
158
|
+
*/
|
|
159
|
+
suggestFix(vulnerability: Vulnerability): Promise<string[]>;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Knowledge query interface
|
|
163
|
+
* @trace DES-SEC2-INT-003
|
|
164
|
+
*/
|
|
165
|
+
export interface IKnowledgeQuery {
|
|
166
|
+
/**
|
|
167
|
+
* Query for matching security patterns
|
|
168
|
+
*/
|
|
169
|
+
queryPattern(codePattern: string, cwes?: string[]): Promise<KnowledgeGraphMatch[]>;
|
|
170
|
+
/**
|
|
171
|
+
* Match against known vulnerability rules
|
|
172
|
+
*/
|
|
173
|
+
matchRule(vulnerability: Vulnerability): Promise<string[]>;
|
|
174
|
+
/**
|
|
175
|
+
* Infer potential vulnerabilities from code pattern
|
|
176
|
+
*/
|
|
177
|
+
inferVulnerability(codeSnippet: string): Promise<string[]>;
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=neuro-symbolic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neuro-symbolic.d.ts","sourceRoot":"","sources":["../../src/types/neuro-symbolic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,IAAI,EAAE,YAAY,CAAC;IAEnB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IAEpB,yBAAyB;IACzB,iBAAiB,EAAE,QAAQ,CAAC;IAE5B,sBAAsB;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IAEf,uCAAuC;IACvC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB,uBAAuB;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,oBAAoB;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,oCAAoC;IACpC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,UAAU,GACV,cAAc,CAAC;AAEnB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IAEvB,gDAAgD;IAChD,aAAa,EAAE,aAAa,CAAC;IAE7B,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,kCAAkC;IAClC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAE7B,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kCAAkC;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;IAE/C,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CACP,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;OAEG;IACH,gBAAgB,CACd,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B;;OAEG;IACH,aAAa,CACX,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;OAEG;IACH,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;OAEG;IACH,mBAAmB,CACjB,aAAa,EAAE,aAAa,EAC5B,QAAQ,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;OAEG;IACH,UAAU,CACR,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,CACP,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Neuro-Symbolic intelligence type definitions
|
|
3
|
+
* @module @nahisaho/musubix-security/types/neuro-symbolic
|
|
4
|
+
* @trace DES-SEC2-INT-001, REQ-SEC2-INT-001, REQ-SEC2-INT-002, REQ-SEC2-INT-003
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=neuro-symbolic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neuro-symbolic.js","sourceRoot":"","sources":["../../src/types/neuro-symbolic.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Pipeline and orchestration type definitions
|
|
3
|
+
* @module @nahisaho/musubix-security/types/pipeline
|
|
4
|
+
* @trace DES-SEC2-ORCH-002, REQ-SEC2-PERF-001
|
|
5
|
+
*/
|
|
6
|
+
import type { ScanResult } from './vulnerability.js';
|
|
7
|
+
import type { TaintResult } from './taint.js';
|
|
8
|
+
import type { SecretScanResult } from './secret.js';
|
|
9
|
+
import type { AuditResult } from './dependency.js';
|
|
10
|
+
/**
|
|
11
|
+
* Pipeline stage identifier
|
|
12
|
+
*/
|
|
13
|
+
export type StageId = string;
|
|
14
|
+
/**
|
|
15
|
+
* Pipeline stage status
|
|
16
|
+
*/
|
|
17
|
+
export type StageStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'skipped';
|
|
18
|
+
/**
|
|
19
|
+
* Analyzer type
|
|
20
|
+
*/
|
|
21
|
+
export type AnalyzerType = 'vulnerability-scanner' | 'taint-tracker' | 'secret-detector' | 'dependency-auditor' | 'image-scanner' | 'iac-checker' | 'prompt-injection-detector' | 'compliance-validator' | 'zero-day-detector' | 'interprocedural-analyzer';
|
|
22
|
+
/**
|
|
23
|
+
* Pipeline stage configuration
|
|
24
|
+
* @trace DES-SEC2-ORCH-002
|
|
25
|
+
*/
|
|
26
|
+
export interface PipelineStage {
|
|
27
|
+
/** Stage identifier */
|
|
28
|
+
id: StageId;
|
|
29
|
+
/** Stage name for display */
|
|
30
|
+
name: string;
|
|
31
|
+
/** Analyzer type to run */
|
|
32
|
+
analyzer: AnalyzerType;
|
|
33
|
+
/** Analyzer-specific options */
|
|
34
|
+
options: Record<string, unknown>;
|
|
35
|
+
/** Stage dependencies (must complete before this stage) */
|
|
36
|
+
dependsOn?: StageId[];
|
|
37
|
+
/** Timeout in milliseconds */
|
|
38
|
+
timeout?: number;
|
|
39
|
+
/** Whether to continue pipeline on failure */
|
|
40
|
+
continueOnFailure?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Pipeline configuration
|
|
44
|
+
*/
|
|
45
|
+
export interface PipelineConfig {
|
|
46
|
+
/** Pipeline stages */
|
|
47
|
+
stages: PipelineStage[];
|
|
48
|
+
/** Maximum parallel stages */
|
|
49
|
+
maxParallel?: number;
|
|
50
|
+
/** Global timeout for entire pipeline */
|
|
51
|
+
timeout?: number;
|
|
52
|
+
/** Target path(s) to scan */
|
|
53
|
+
targets: string[];
|
|
54
|
+
/** Enable caching */
|
|
55
|
+
cache?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Pipeline progress callback
|
|
59
|
+
*/
|
|
60
|
+
export type ProgressCallback = (progress: PipelineProgress) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Pipeline progress information
|
|
63
|
+
*/
|
|
64
|
+
export interface PipelineProgress {
|
|
65
|
+
/** Pipeline ID */
|
|
66
|
+
pipelineId: string;
|
|
67
|
+
/** Overall progress percentage (0-100) */
|
|
68
|
+
percentage: number;
|
|
69
|
+
/** Currently running stages */
|
|
70
|
+
runningStages: StageId[];
|
|
71
|
+
/** Completed stages */
|
|
72
|
+
completedStages: StageId[];
|
|
73
|
+
/** Failed stages */
|
|
74
|
+
failedStages: StageId[];
|
|
75
|
+
/** Estimated time remaining (milliseconds) */
|
|
76
|
+
estimatedRemaining?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Pipeline stage result
|
|
80
|
+
*/
|
|
81
|
+
export interface StageResult {
|
|
82
|
+
/** Stage ID */
|
|
83
|
+
stageId: StageId;
|
|
84
|
+
/** Stage status */
|
|
85
|
+
status: StageStatus;
|
|
86
|
+
/** Stage duration in milliseconds */
|
|
87
|
+
duration: number;
|
|
88
|
+
/** Result data (varies by analyzer type) */
|
|
89
|
+
data?: ScanResult | TaintResult | SecretScanResult | AuditResult | unknown;
|
|
90
|
+
/** Error if failed */
|
|
91
|
+
error?: Error;
|
|
92
|
+
/** Start time */
|
|
93
|
+
startedAt: Date;
|
|
94
|
+
/** End time */
|
|
95
|
+
endedAt?: Date;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Pipeline result
|
|
99
|
+
* @trace DES-SEC2-ORCH-002
|
|
100
|
+
*/
|
|
101
|
+
export interface PipelineResult {
|
|
102
|
+
/** Pipeline ID */
|
|
103
|
+
pipelineId: string;
|
|
104
|
+
/** Pipeline status */
|
|
105
|
+
status: 'completed' | 'failed' | 'cancelled' | 'timeout';
|
|
106
|
+
/** Stage results */
|
|
107
|
+
stageResults: StageResult[];
|
|
108
|
+
/** Total duration in milliseconds */
|
|
109
|
+
duration: number;
|
|
110
|
+
/** Start time */
|
|
111
|
+
startedAt: Date;
|
|
112
|
+
/** End time */
|
|
113
|
+
endedAt: Date;
|
|
114
|
+
/** Summary statistics */
|
|
115
|
+
summary: {
|
|
116
|
+
totalStages: number;
|
|
117
|
+
completedStages: number;
|
|
118
|
+
failedStages: number;
|
|
119
|
+
skippedStages: number;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Pipeline manager interface
|
|
124
|
+
* @trace DES-SEC2-ORCH-002
|
|
125
|
+
*/
|
|
126
|
+
export interface IPipelineManager {
|
|
127
|
+
/** Create and configure a pipeline */
|
|
128
|
+
createPipeline(config: PipelineConfig): Pipeline;
|
|
129
|
+
/** Execute pipeline stages in parallel where possible */
|
|
130
|
+
executeParallel(pipelines: Pipeline[]): Promise<PipelineResult[]>;
|
|
131
|
+
/** Execute pipeline stages sequentially */
|
|
132
|
+
executeSequential(pipeline: Pipeline): Promise<PipelineResult>;
|
|
133
|
+
/** Cancel running pipeline */
|
|
134
|
+
cancel(pipelineId: string): void;
|
|
135
|
+
/** Get pipeline status */
|
|
136
|
+
getStatus(pipelineId: string): PipelineProgress | undefined;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Pipeline instance
|
|
140
|
+
*/
|
|
141
|
+
export interface Pipeline {
|
|
142
|
+
/** Pipeline ID */
|
|
143
|
+
id: string;
|
|
144
|
+
/** Pipeline configuration */
|
|
145
|
+
config: PipelineConfig;
|
|
146
|
+
/** Progress callback */
|
|
147
|
+
onProgress?: ProgressCallback;
|
|
148
|
+
/** Execute the pipeline */
|
|
149
|
+
execute(): Promise<PipelineResult>;
|
|
150
|
+
/** Cancel the pipeline */
|
|
151
|
+
cancel(): void;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Analyzer factory function
|
|
155
|
+
* Returns an analyzer instance with at least one of the analysis methods
|
|
156
|
+
*/
|
|
157
|
+
export type AnalyzerFactory = () => AnalyzerInstance;
|
|
158
|
+
/**
|
|
159
|
+
* Analyzer instance with optional analysis methods
|
|
160
|
+
*/
|
|
161
|
+
export interface AnalyzerInstance {
|
|
162
|
+
/** Scan method (vulnerability-scanner, image-scanner) */
|
|
163
|
+
scan?: (path: string, options?: unknown) => Promise<unknown>;
|
|
164
|
+
/** Analyze method (taint-tracker, iac-checker, interprocedural-analyzer) */
|
|
165
|
+
analyze?: (path: string, options?: unknown) => Promise<unknown>;
|
|
166
|
+
/** Detect method (secret-detector, prompt-injection-detector, zero-day-detector) */
|
|
167
|
+
detect?: (path: string, options?: unknown) => Promise<unknown>;
|
|
168
|
+
/** Audit method (dependency-auditor) */
|
|
169
|
+
audit?: (path: string, options?: unknown) => Promise<unknown>;
|
|
170
|
+
/** Validate method (compliance-validator) */
|
|
171
|
+
validate?: (path: string, options?: unknown) => Promise<unknown>;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":"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"}
|