@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,262 @@
1
+ /**
2
+ * @fileoverview Remediation Planner for Security Vulnerabilities
3
+ * @module @nahisaho/musubix-security/remediation/remediation-planner
4
+ *
5
+ * Plans and prioritizes remediation of security vulnerabilities
6
+ * considering dependencies, risk, and effort.
7
+ */
8
+ import type { Vulnerability, Fix, ScanResult } from '../types/index.js';
9
+ /**
10
+ * Remediation plan
11
+ */
12
+ export interface RemediationPlan {
13
+ /** Plan ID */
14
+ id: string;
15
+ /** Plan name */
16
+ name: string;
17
+ /** Created timestamp */
18
+ createdAt: Date;
19
+ /** Plan status */
20
+ status: PlanStatus;
21
+ /** Total vulnerabilities */
22
+ totalVulnerabilities: number;
23
+ /** Planned phases */
24
+ phases: RemediationPhase[];
25
+ /** Estimated effort */
26
+ estimatedEffort: EffortEstimate;
27
+ /** Risk reduction */
28
+ riskReduction: RiskReduction;
29
+ /** Dependencies between fixes */
30
+ dependencies: FixDependency[];
31
+ /** Metadata */
32
+ metadata: PlanMetadata;
33
+ }
34
+ /**
35
+ * Plan status
36
+ */
37
+ export type PlanStatus = 'draft' | 'approved' | 'in-progress' | 'completed' | 'cancelled';
38
+ /**
39
+ * Remediation phase
40
+ */
41
+ export interface RemediationPhase {
42
+ /** Phase number */
43
+ phase: number;
44
+ /** Phase name */
45
+ name: string;
46
+ /** Description */
47
+ description: string;
48
+ /** Fixes in this phase */
49
+ fixes: PlannedFix[];
50
+ /** Estimated duration */
51
+ estimatedDuration: Duration;
52
+ /** Prerequisites */
53
+ prerequisites: string[];
54
+ /** Risk level after phase */
55
+ residualRisk: RiskLevel;
56
+ }
57
+ /**
58
+ * Planned fix
59
+ */
60
+ export interface PlannedFix {
61
+ /** Fix reference */
62
+ fix: Fix;
63
+ /** Vulnerability reference */
64
+ vulnerability: Vulnerability;
65
+ /** Priority score */
66
+ priorityScore: number;
67
+ /** Effort estimate */
68
+ effort: EffortEstimate;
69
+ /** Blocked by (fix IDs) */
70
+ blockedBy: string[];
71
+ /** Blocks (fix IDs) */
72
+ blocks: string[];
73
+ /** Status */
74
+ status: FixStatus;
75
+ /** Assigned to */
76
+ assignedTo?: string;
77
+ /** Due date */
78
+ dueDate?: Date;
79
+ }
80
+ /**
81
+ * Fix status
82
+ */
83
+ export type FixStatus = 'pending' | 'in-progress' | 'testing' | 'completed' | 'blocked' | 'skipped';
84
+ /**
85
+ * Fix dependency
86
+ */
87
+ export interface FixDependency {
88
+ /** Source fix ID */
89
+ fixId: string;
90
+ /** Depends on fix ID */
91
+ dependsOn: string;
92
+ /** Dependency type */
93
+ type: DependencyType;
94
+ /** Reason */
95
+ reason: string;
96
+ }
97
+ /**
98
+ * Dependency type
99
+ */
100
+ export type DependencyType = 'requires' | 'conflicts' | 'enhances' | 'supersedes';
101
+ /**
102
+ * Effort estimate
103
+ */
104
+ export interface EffortEstimate {
105
+ /** Estimated hours */
106
+ hours: number;
107
+ /** Confidence (0-1) */
108
+ confidence: number;
109
+ /** Complexity */
110
+ complexity: 'low' | 'medium' | 'high' | 'very-high';
111
+ /** Testing hours */
112
+ testingHours: number;
113
+ /** Review hours */
114
+ reviewHours: number;
115
+ }
116
+ /**
117
+ * Duration
118
+ */
119
+ export interface Duration {
120
+ /** Value */
121
+ value: number;
122
+ /** Unit */
123
+ unit: 'hours' | 'days' | 'weeks';
124
+ }
125
+ /**
126
+ * Risk reduction
127
+ */
128
+ export interface RiskReduction {
129
+ /** Initial risk score */
130
+ initialRisk: number;
131
+ /** Final risk score */
132
+ finalRisk: number;
133
+ /** Reduction percentage */
134
+ reductionPercent: number;
135
+ /** Critical vulnerabilities fixed */
136
+ criticalFixed: number;
137
+ /** High vulnerabilities fixed */
138
+ highFixed: number;
139
+ /** Medium vulnerabilities fixed */
140
+ mediumFixed: number;
141
+ /** Low vulnerabilities fixed */
142
+ lowFixed: number;
143
+ }
144
+ /**
145
+ * Risk level
146
+ */
147
+ export type RiskLevel = 'critical' | 'high' | 'medium' | 'low' | 'minimal';
148
+ /**
149
+ * Plan metadata
150
+ */
151
+ export interface PlanMetadata {
152
+ /** Author */
153
+ author?: string;
154
+ /** Approved by */
155
+ approvedBy?: string;
156
+ /** Approval date */
157
+ approvalDate?: Date;
158
+ /** Target completion */
159
+ targetCompletion?: Date;
160
+ /** Notes */
161
+ notes?: string[];
162
+ /** Tags */
163
+ tags?: string[];
164
+ }
165
+ /**
166
+ * Prioritization strategy
167
+ */
168
+ export type PrioritizationStrategy = 'severity-first' | 'effort-first' | 'risk-based' | 'dependency-aware' | 'balanced';
169
+ /**
170
+ * Planner options
171
+ */
172
+ export interface RemediationPlannerOptions {
173
+ /** Default prioritization strategy */
174
+ defaultStrategy?: PrioritizationStrategy;
175
+ /** Max fixes per phase */
176
+ maxFixesPerPhase?: number;
177
+ /** Include effort estimates */
178
+ includeEffortEstimates?: boolean;
179
+ /** Team size for effort calculation */
180
+ teamSize?: number;
181
+ }
182
+ /**
183
+ * Planning options
184
+ */
185
+ export interface PlanningOptions {
186
+ /** Prioritization strategy */
187
+ strategy?: PrioritizationStrategy;
188
+ /** Max phases */
189
+ maxPhases?: number;
190
+ /** Group by file */
191
+ groupByFile?: boolean;
192
+ /** Exclude severities */
193
+ excludeSeverities?: string[];
194
+ /** Target completion date */
195
+ targetDate?: Date;
196
+ }
197
+ /**
198
+ * Planner for vulnerability remediation
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * const planner = createRemediationPlanner();
203
+ * const plan = planner.createPlan(scanResult, fixes, { strategy: 'risk-based' });
204
+ * console.log(plan.phases.length); // Number of remediation phases
205
+ * ```
206
+ */
207
+ export declare class RemediationPlanner {
208
+ private options;
209
+ constructor(options?: RemediationPlannerOptions);
210
+ /**
211
+ * Create a remediation plan
212
+ */
213
+ createPlan(scanResult: ScanResult, fixes: Fix[], options?: PlanningOptions): RemediationPlan;
214
+ /**
215
+ * Update plan status
216
+ */
217
+ updatePlanStatus(plan: RemediationPlan, status: PlanStatus): RemediationPlan;
218
+ /**
219
+ * Mark a fix as completed
220
+ */
221
+ markFixCompleted(plan: RemediationPlan, fixId: string): RemediationPlan;
222
+ /**
223
+ * Get next fixes to work on
224
+ */
225
+ getNextFixes(plan: RemediationPlan, count?: number): PlannedFix[];
226
+ /**
227
+ * Calculate plan progress
228
+ */
229
+ calculateProgress(plan: RemediationPlan): {
230
+ totalFixes: number;
231
+ completedFixes: number;
232
+ percentComplete: number;
233
+ currentPhase: number;
234
+ };
235
+ /**
236
+ * Generate remediation report
237
+ */
238
+ generateReport(plan: RemediationPlan): string;
239
+ private createPlannedFixes;
240
+ private detectDependencies;
241
+ private rangesOverlap;
242
+ private prioritize;
243
+ private createPhases;
244
+ private generatePhaseName;
245
+ private formatType;
246
+ private generatePhaseDescription;
247
+ private estimatePhaseDuration;
248
+ private calculateResidualRisk;
249
+ private calculatePriorityScore;
250
+ private estimateEffort;
251
+ private calculateTotalEffort;
252
+ private calculateRiskReduction;
253
+ }
254
+ /**
255
+ * Create a remediation planner
256
+ */
257
+ export declare function createRemediationPlanner(options?: RemediationPlannerOptions): RemediationPlanner;
258
+ /**
259
+ * Quick create a plan from scan results
260
+ */
261
+ export declare function quickCreatePlan(scanResult: ScanResult, fixes: Fix[]): RemediationPlan;
262
+ //# sourceMappingURL=remediation-planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remediation-planner.d.ts","sourceRoot":"","sources":["../../src/remediation/remediation-planner.ts"],"names":[],"mappings":"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"}