@nahisaho/musubix-security 1.8.0 → 1.8.5

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.
Files changed (186) hide show
  1. package/README.md +27 -0
  2. package/dist/analyzers/ai/index.d.ts +6 -0
  3. package/dist/analyzers/ai/index.d.ts.map +1 -0
  4. package/dist/analyzers/ai/index.js +6 -0
  5. package/dist/analyzers/ai/index.js.map +1 -0
  6. package/dist/analyzers/ai/prompt-injection-detector.d.ts +152 -0
  7. package/dist/analyzers/ai/prompt-injection-detector.d.ts.map +1 -0
  8. package/dist/analyzers/ai/prompt-injection-detector.js +468 -0
  9. package/dist/analyzers/ai/prompt-injection-detector.js.map +1 -0
  10. package/dist/analyzers/api/api-security-analyzer.d.ts +263 -0
  11. package/dist/analyzers/api/api-security-analyzer.d.ts.map +1 -0
  12. package/dist/analyzers/api/api-security-analyzer.js +581 -0
  13. package/dist/analyzers/api/api-security-analyzer.js.map +1 -0
  14. package/dist/analyzers/compliance/compliance-checker.d.ts +201 -0
  15. package/dist/analyzers/compliance/compliance-checker.d.ts.map +1 -0
  16. package/dist/analyzers/compliance/compliance-checker.js +772 -0
  17. package/dist/analyzers/compliance/compliance-checker.js.map +1 -0
  18. package/dist/analyzers/container/image-scanner.d.ts +163 -0
  19. package/dist/analyzers/container/image-scanner.d.ts.map +1 -0
  20. package/dist/analyzers/container/image-scanner.js +459 -0
  21. package/dist/analyzers/container/image-scanner.js.map +1 -0
  22. package/dist/analyzers/container/index.d.ts +6 -0
  23. package/dist/analyzers/container/index.d.ts.map +1 -0
  24. package/dist/analyzers/container/index.js +6 -0
  25. package/dist/analyzers/container/index.js.map +1 -0
  26. package/dist/analyzers/dashboard/security-dashboard.d.ts +286 -0
  27. package/dist/analyzers/dashboard/security-dashboard.d.ts.map +1 -0
  28. package/dist/analyzers/dashboard/security-dashboard.js +796 -0
  29. package/dist/analyzers/dashboard/security-dashboard.js.map +1 -0
  30. package/dist/analyzers/iac/iac-checker.d.ts +124 -0
  31. package/dist/analyzers/iac/iac-checker.d.ts.map +1 -0
  32. package/dist/analyzers/iac/iac-checker.js +755 -0
  33. package/dist/analyzers/iac/iac-checker.js.map +1 -0
  34. package/dist/analyzers/iac/index.d.ts +6 -0
  35. package/dist/analyzers/iac/index.d.ts.map +1 -0
  36. package/dist/analyzers/iac/index.js +6 -0
  37. package/dist/analyzers/iac/index.js.map +1 -0
  38. package/dist/analyzers/index.d.ts +9 -0
  39. package/dist/analyzers/index.d.ts.map +1 -0
  40. package/dist/analyzers/index.js +13 -0
  41. package/dist/analyzers/index.js.map +1 -0
  42. package/dist/analyzers/monitor/realtime-monitor.d.ts +216 -0
  43. package/dist/analyzers/monitor/realtime-monitor.d.ts.map +1 -0
  44. package/dist/analyzers/monitor/realtime-monitor.js +601 -0
  45. package/dist/analyzers/monitor/realtime-monitor.js.map +1 -0
  46. package/dist/analyzers/sast/index.d.ts +7 -0
  47. package/dist/analyzers/sast/index.d.ts.map +1 -0
  48. package/dist/analyzers/sast/index.js +7 -0
  49. package/dist/analyzers/sast/index.js.map +1 -0
  50. package/dist/analyzers/sast/interprocedural-analyzer.d.ts +276 -0
  51. package/dist/analyzers/sast/interprocedural-analyzer.d.ts.map +1 -0
  52. package/dist/analyzers/sast/interprocedural-analyzer.js +635 -0
  53. package/dist/analyzers/sast/interprocedural-analyzer.js.map +1 -0
  54. package/dist/analyzers/sast/zero-day-detector.d.ts +183 -0
  55. package/dist/analyzers/sast/zero-day-detector.d.ts.map +1 -0
  56. package/dist/analyzers/sast/zero-day-detector.js +593 -0
  57. package/dist/analyzers/sast/zero-day-detector.js.map +1 -0
  58. package/dist/analyzers/sca/dependency-scanner.d.ts +275 -0
  59. package/dist/analyzers/sca/dependency-scanner.d.ts.map +1 -0
  60. package/dist/analyzers/sca/dependency-scanner.js +642 -0
  61. package/dist/analyzers/sca/dependency-scanner.js.map +1 -0
  62. package/dist/core/index.d.ts +8 -0
  63. package/dist/core/index.d.ts.map +1 -0
  64. package/dist/core/index.js +10 -0
  65. package/dist/core/index.js.map +1 -0
  66. package/dist/core/pipeline-manager.d.ts +105 -0
  67. package/dist/core/pipeline-manager.d.ts.map +1 -0
  68. package/dist/core/pipeline-manager.js +449 -0
  69. package/dist/core/pipeline-manager.js.map +1 -0
  70. package/dist/core/result-aggregator.d.ts +96 -0
  71. package/dist/core/result-aggregator.d.ts.map +1 -0
  72. package/dist/core/result-aggregator.js +462 -0
  73. package/dist/core/result-aggregator.js.map +1 -0
  74. package/dist/index.d.ts +15 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +68 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/integrations/ci-integration.d.ts +227 -0
  79. package/dist/integrations/ci-integration.d.ts.map +1 -0
  80. package/dist/integrations/ci-integration.js +472 -0
  81. package/dist/integrations/ci-integration.js.map +1 -0
  82. package/dist/integrations/git-hooks.d.ts +155 -0
  83. package/dist/integrations/git-hooks.d.ts.map +1 -0
  84. package/dist/integrations/git-hooks.js +425 -0
  85. package/dist/integrations/git-hooks.js.map +1 -0
  86. package/dist/integrations/index.d.ts +9 -0
  87. package/dist/integrations/index.d.ts.map +1 -0
  88. package/dist/integrations/index.js +9 -0
  89. package/dist/integrations/index.js.map +1 -0
  90. package/dist/integrations/report-aggregator.d.ts +250 -0
  91. package/dist/integrations/report-aggregator.d.ts.map +1 -0
  92. package/dist/integrations/report-aggregator.js +488 -0
  93. package/dist/integrations/report-aggregator.js.map +1 -0
  94. package/dist/integrations/vscode-integration.d.ts +245 -0
  95. package/dist/integrations/vscode-integration.d.ts.map +1 -0
  96. package/dist/integrations/vscode-integration.js +449 -0
  97. package/dist/integrations/vscode-integration.js.map +1 -0
  98. package/dist/intelligence/attack-pattern-matcher.d.ts +217 -0
  99. package/dist/intelligence/attack-pattern-matcher.d.ts.map +1 -0
  100. package/dist/intelligence/attack-pattern-matcher.js +887 -0
  101. package/dist/intelligence/attack-pattern-matcher.js.map +1 -0
  102. package/dist/intelligence/index.d.ts +12 -0
  103. package/dist/intelligence/index.d.ts.map +1 -0
  104. package/dist/intelligence/index.js +18 -0
  105. package/dist/intelligence/index.js.map +1 -0
  106. package/dist/intelligence/neuro-symbolic-core.d.ts +88 -0
  107. package/dist/intelligence/neuro-symbolic-core.d.ts.map +1 -0
  108. package/dist/intelligence/neuro-symbolic-core.js +403 -0
  109. package/dist/intelligence/neuro-symbolic-core.js.map +1 -0
  110. package/dist/intelligence/predictive-analyzer.d.ts +317 -0
  111. package/dist/intelligence/predictive-analyzer.d.ts.map +1 -0
  112. package/dist/intelligence/predictive-analyzer.js +714 -0
  113. package/dist/intelligence/predictive-analyzer.js.map +1 -0
  114. package/dist/intelligence/risk-scorer.d.ts +333 -0
  115. package/dist/intelligence/risk-scorer.d.ts.map +1 -0
  116. package/dist/intelligence/risk-scorer.js +824 -0
  117. package/dist/intelligence/risk-scorer.js.map +1 -0
  118. package/dist/intelligence/security-analytics.d.ts +349 -0
  119. package/dist/intelligence/security-analytics.d.ts.map +1 -0
  120. package/dist/intelligence/security-analytics.js +813 -0
  121. package/dist/intelligence/security-analytics.js.map +1 -0
  122. package/dist/intelligence/threat-intelligence.d.ts +288 -0
  123. package/dist/intelligence/threat-intelligence.d.ts.map +1 -0
  124. package/dist/intelligence/threat-intelligence.js +639 -0
  125. package/dist/intelligence/threat-intelligence.js.map +1 -0
  126. package/dist/policy/index.d.ts +6 -0
  127. package/dist/policy/index.d.ts.map +1 -0
  128. package/dist/policy/index.js +6 -0
  129. package/dist/policy/index.js.map +1 -0
  130. package/dist/policy/policy-engine.d.ts +254 -0
  131. package/dist/policy/policy-engine.d.ts.map +1 -0
  132. package/dist/policy/policy-engine.js +651 -0
  133. package/dist/policy/policy-engine.js.map +1 -0
  134. package/dist/remediation/auto-fixer.d.ts +179 -0
  135. package/dist/remediation/auto-fixer.d.ts.map +1 -0
  136. package/dist/remediation/auto-fixer.js +540 -0
  137. package/dist/remediation/auto-fixer.js.map +1 -0
  138. package/dist/remediation/fix-validator.d.ts +195 -0
  139. package/dist/remediation/fix-validator.d.ts.map +1 -0
  140. package/dist/remediation/fix-validator.js +462 -0
  141. package/dist/remediation/fix-validator.js.map +1 -0
  142. package/dist/remediation/index.d.ts +10 -0
  143. package/dist/remediation/index.d.ts.map +1 -0
  144. package/dist/remediation/index.js +15 -0
  145. package/dist/remediation/index.js.map +1 -0
  146. package/dist/remediation/patch-generator.d.ts +203 -0
  147. package/dist/remediation/patch-generator.d.ts.map +1 -0
  148. package/dist/remediation/patch-generator.js +533 -0
  149. package/dist/remediation/patch-generator.js.map +1 -0
  150. package/dist/remediation/remediation-planner.d.ts +262 -0
  151. package/dist/remediation/remediation-planner.d.ts.map +1 -0
  152. package/dist/remediation/remediation-planner.js +531 -0
  153. package/dist/remediation/remediation-planner.js.map +1 -0
  154. package/dist/remediation/secure-code-transformer.d.ts +222 -0
  155. package/dist/remediation/secure-code-transformer.d.ts.map +1 -0
  156. package/dist/remediation/secure-code-transformer.js +625 -0
  157. package/dist/remediation/secure-code-transformer.js.map +1 -0
  158. package/dist/types/fix.d.ts +3 -1
  159. package/dist/types/fix.d.ts.map +1 -1
  160. package/dist/types/index.d.ts +6 -0
  161. package/dist/types/index.d.ts.map +1 -1
  162. package/dist/types/index.js +1 -0
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/interprocedural.d.ts +203 -0
  165. package/dist/types/interprocedural.d.ts.map +1 -0
  166. package/dist/types/interprocedural.js +7 -0
  167. package/dist/types/interprocedural.js.map +1 -0
  168. package/dist/types/neuro-symbolic.d.ts +179 -0
  169. package/dist/types/neuro-symbolic.d.ts.map +1 -0
  170. package/dist/types/neuro-symbolic.js +7 -0
  171. package/dist/types/neuro-symbolic.js.map +1 -0
  172. package/dist/types/pipeline.d.ts +173 -0
  173. package/dist/types/pipeline.d.ts.map +1 -0
  174. package/dist/types/pipeline.js +7 -0
  175. package/dist/types/pipeline.js.map +1 -0
  176. package/dist/types/result.d.ts +134 -0
  177. package/dist/types/result.d.ts.map +1 -0
  178. package/dist/types/result.js +25 -0
  179. package/dist/types/result.js.map +1 -0
  180. package/dist/types/vulnerability.d.ts +2 -2
  181. package/dist/types/vulnerability.d.ts.map +1 -1
  182. package/dist/types/zero-day.d.ts +146 -0
  183. package/dist/types/zero-day.d.ts.map +1 -0
  184. package/dist/types/zero-day.js +7 -0
  185. package/dist/types/zero-day.js.map +1 -0
  186. package/package.json +2 -2
@@ -0,0 +1,317 @@
1
+ /**
2
+ * @fileoverview Predictive Security Analyzer
3
+ * @module @nahisaho/musubix-security/intelligence/predictive-analyzer
4
+ *
5
+ * Provides security prediction, anomaly forecasting, risk projection,
6
+ * and proactive security recommendations.
7
+ */
8
+ import type { VulnerabilityStats, SecurityMetric } from './security-analytics.js';
9
+ import type { ThreatContext } from './threat-intelligence.js';
10
+ /**
11
+ * Prediction confidence level
12
+ */
13
+ export type PredictionConfidence = 'high' | 'medium' | 'low' | 'uncertain';
14
+ /**
15
+ * Risk projection
16
+ */
17
+ export interface RiskProjection {
18
+ /** Projection ID */
19
+ id: string;
20
+ /** Current risk score */
21
+ currentRisk: number;
22
+ /** Projected risk score */
23
+ projectedRisk: number;
24
+ /** Projection period (days) */
25
+ periodDays: number;
26
+ /** Change direction */
27
+ direction: 'increasing' | 'decreasing' | 'stable';
28
+ /** Change magnitude */
29
+ magnitude: number;
30
+ /** Confidence level */
31
+ confidence: PredictionConfidence;
32
+ /** Confidence score (0-1) */
33
+ confidenceScore: number;
34
+ /** Contributing factors */
35
+ factors: {
36
+ name: string;
37
+ impact: number;
38
+ description: string;
39
+ }[];
40
+ /** Recommendations */
41
+ recommendations: string[];
42
+ /** Projected at */
43
+ projectedAt: Date;
44
+ }
45
+ /**
46
+ * Vulnerability prediction
47
+ */
48
+ export interface VulnerabilityPrediction {
49
+ /** Prediction ID */
50
+ id: string;
51
+ /** Vulnerability type */
52
+ type: string;
53
+ /** Predicted count */
54
+ predictedCount: number;
55
+ /** Current count */
56
+ currentCount: number;
57
+ /** Change */
58
+ change: number;
59
+ /** Likelihood (0-1) */
60
+ likelihood: number;
61
+ /** Confidence */
62
+ confidence: PredictionConfidence;
63
+ /** Time frame (days) */
64
+ timeFrame: number;
65
+ /** Risk level if materialized */
66
+ riskLevel: 'critical' | 'high' | 'medium' | 'low';
67
+ /** Prevention strategies */
68
+ preventionStrategies: string[];
69
+ }
70
+ /**
71
+ * Security anomaly
72
+ */
73
+ export interface SecurityAnomaly {
74
+ /** Anomaly ID */
75
+ id: string;
76
+ /** Anomaly type */
77
+ type: 'spike' | 'drop' | 'pattern-break' | 'unusual-activity';
78
+ /** Metric affected */
79
+ metric: string;
80
+ /** Expected value */
81
+ expectedValue: number;
82
+ /** Actual value */
83
+ actualValue: number;
84
+ /** Deviation */
85
+ deviation: number;
86
+ /** Severity */
87
+ severity: 'critical' | 'high' | 'medium' | 'low';
88
+ /** Detection confidence */
89
+ confidence: number;
90
+ /** Detected at */
91
+ detectedAt: Date;
92
+ /** Possible causes */
93
+ possibleCauses: string[];
94
+ /** Recommended actions */
95
+ recommendedActions: string[];
96
+ }
97
+ /**
98
+ * Proactive alert
99
+ */
100
+ export interface ProactiveAlert {
101
+ /** Alert ID */
102
+ id: string;
103
+ /** Alert type */
104
+ type: 'risk-increase' | 'vulnerability-surge' | 'pattern-detected' | 'threshold-breach';
105
+ /** Alert title */
106
+ title: string;
107
+ /** Alert message */
108
+ message: string;
109
+ /** Severity */
110
+ severity: 'critical' | 'high' | 'medium' | 'low';
111
+ /** Confidence */
112
+ confidence: PredictionConfidence;
113
+ /** Time to impact (hours) */
114
+ timeToImpact?: number;
115
+ /** Recommended actions */
116
+ actions: string[];
117
+ /** Related predictions */
118
+ relatedPredictions: string[];
119
+ /** Created at */
120
+ createdAt: Date;
121
+ }
122
+ /**
123
+ * Security forecast
124
+ */
125
+ export interface SecurityForecast {
126
+ /** Forecast ID */
127
+ id: string;
128
+ /** Forecast period */
129
+ period: {
130
+ start: Date;
131
+ end: Date;
132
+ };
133
+ /** Risk projections */
134
+ riskProjections: RiskProjection[];
135
+ /** Vulnerability predictions */
136
+ vulnerabilityPredictions: VulnerabilityPrediction[];
137
+ /** Expected trends */
138
+ expectedTrends: {
139
+ metric: string;
140
+ direction: 'up' | 'down' | 'stable';
141
+ magnitude: number;
142
+ confidence: number;
143
+ }[];
144
+ /** Key risks */
145
+ keyRisks: string[];
146
+ /** Opportunities */
147
+ opportunities: string[];
148
+ /** Recommendations */
149
+ recommendations: string[];
150
+ /** Generated at */
151
+ generatedAt: Date;
152
+ }
153
+ /**
154
+ * Historical data point
155
+ */
156
+ export interface HistoricalDataPoint {
157
+ timestamp: Date;
158
+ value: number;
159
+ metadata?: Record<string, unknown>;
160
+ }
161
+ /**
162
+ * Predictive Analyzer options
163
+ */
164
+ export interface PredictiveAnalyzerOptions {
165
+ /** Historical data lookback (days) */
166
+ lookbackDays?: number;
167
+ /** Forecast horizon (days) */
168
+ forecastDays?: number;
169
+ /** Anomaly detection sensitivity (0-1) */
170
+ anomalySensitivity?: number;
171
+ /** Alert thresholds */
172
+ alertThresholds?: {
173
+ riskIncrease: number;
174
+ vulnerabilitySurge: number;
175
+ deviationPercent: number;
176
+ };
177
+ /** Enable proactive alerts */
178
+ enableProactiveAlerts?: boolean;
179
+ }
180
+ /**
181
+ * Predictive Security Analyzer
182
+ */
183
+ export declare class PredictiveAnalyzer {
184
+ private options;
185
+ private historicalData;
186
+ private alerts;
187
+ private anomalies;
188
+ constructor(options?: PredictiveAnalyzerOptions);
189
+ /**
190
+ * Add historical data point
191
+ */
192
+ addDataPoint(metric: string, dataPoint: HistoricalDataPoint): void;
193
+ /**
194
+ * Add multiple historical data points
195
+ */
196
+ addDataPoints(metric: string, dataPoints: HistoricalDataPoint[]): void;
197
+ /**
198
+ * Prune old data
199
+ */
200
+ private pruneOldData;
201
+ /**
202
+ * Import data from metrics
203
+ */
204
+ importFromMetrics(metrics: SecurityMetric[]): void;
205
+ /**
206
+ * Import data from vulnerability stats
207
+ */
208
+ importFromVulnStats(stats: VulnerabilityStats, timestamp?: Date): void;
209
+ /**
210
+ * Project future risk
211
+ */
212
+ projectRisk(currentRiskScore: number, threatContext?: ThreatContext): RiskProjection;
213
+ /**
214
+ * Forecast a value using simple linear regression
215
+ */
216
+ private forecastValue;
217
+ /**
218
+ * Calculate confidence level
219
+ */
220
+ private calculateConfidence;
221
+ /**
222
+ * Generate risk recommendations
223
+ */
224
+ private generateRiskRecommendations;
225
+ /**
226
+ * Predict vulnerabilities
227
+ */
228
+ predictVulnerabilities(): VulnerabilityPrediction[];
229
+ /**
230
+ * Get prevention strategies
231
+ */
232
+ private getPreventionStrategies;
233
+ /**
234
+ * Detect anomalies
235
+ */
236
+ detectAnomalies(): SecurityAnomaly[];
237
+ /**
238
+ * Detect anomaly in a metric
239
+ */
240
+ private detectMetricAnomaly;
241
+ /**
242
+ * Get possible causes for anomaly
243
+ */
244
+ private getPossibleCauses;
245
+ /**
246
+ * Get recommended actions for anomaly
247
+ */
248
+ private getAnomalyActions;
249
+ /**
250
+ * Create proactive alert
251
+ */
252
+ private createAlert;
253
+ /**
254
+ * Get all alerts
255
+ */
256
+ getAlerts(): ProactiveAlert[];
257
+ /**
258
+ * Get alerts by severity
259
+ */
260
+ getAlertsBySeverity(severity: ProactiveAlert['severity']): ProactiveAlert[];
261
+ /**
262
+ * Clear old alerts
263
+ */
264
+ clearOldAlerts(maxAgeDays?: number): number;
265
+ /**
266
+ * Generate security forecast
267
+ */
268
+ generateForecast(): SecurityForecast;
269
+ /**
270
+ * Get statistics
271
+ */
272
+ getStatistics(): {
273
+ dataPointsCount: number;
274
+ metricsTracked: number;
275
+ alertsCount: number;
276
+ anomaliesCount: number;
277
+ oldestData: Date | null;
278
+ latestData: Date | null;
279
+ };
280
+ /**
281
+ * Get anomalies
282
+ */
283
+ getAnomalies(): SecurityAnomaly[];
284
+ /**
285
+ * Export data
286
+ */
287
+ exportData(): {
288
+ historicalData: Record<string, HistoricalDataPoint[]>;
289
+ alerts: ProactiveAlert[];
290
+ anomalies: SecurityAnomaly[];
291
+ };
292
+ /**
293
+ * Import data
294
+ */
295
+ importData(data: {
296
+ historicalData?: Record<string, HistoricalDataPoint[]>;
297
+ alerts?: ProactiveAlert[];
298
+ anomalies?: SecurityAnomaly[];
299
+ }): void;
300
+ }
301
+ /**
302
+ * Create a PredictiveAnalyzer instance
303
+ */
304
+ export declare function createPredictiveAnalyzer(options?: PredictiveAnalyzerOptions): PredictiveAnalyzer;
305
+ /**
306
+ * Quick risk projection
307
+ */
308
+ export declare function projectRisk(currentRisk: number, historicalData: HistoricalDataPoint[]): RiskProjection;
309
+ /**
310
+ * Quick vulnerability prediction
311
+ */
312
+ export declare function predictVulnerabilities(vulnStats: VulnerabilityStats[]): VulnerabilityPrediction[];
313
+ /**
314
+ * Quick anomaly detection
315
+ */
316
+ export declare function detectAnomalies(metrics: SecurityMetric[]): SecurityAnomaly[];
317
+ //# sourceMappingURL=predictive-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predictive-analyzer.d.ts","sourceRoot":"","sources":["../../src/intelligence/predictive-analyzer.ts"],"names":[],"mappings":"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"}