@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,250 @@
1
+ /**
2
+ * @fileoverview Report Aggregator for Multiple Scan Results
3
+ * @module @nahisaho/musubix-security/integrations/report-aggregator
4
+ *
5
+ * Aggregates multiple security scan results into unified reports
6
+ * with trend analysis and comparison capabilities.
7
+ */
8
+ import type { ScanResult, Severity, Vulnerability } from '../types/index.js';
9
+ /**
10
+ * Aggregated scan entry
11
+ */
12
+ export interface AggregatedScanEntry {
13
+ /** Scan identifier */
14
+ id: string;
15
+ /** Scan timestamp */
16
+ timestamp: Date;
17
+ /** Scan target/source */
18
+ source: string;
19
+ /** Scan type */
20
+ type: ScanType;
21
+ /** Original scan result */
22
+ result: ScanResult;
23
+ /** Metadata */
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Scan type classification
28
+ */
29
+ export type ScanType = 'vulnerability' | 'secret' | 'dependency' | 'compliance' | 'container' | 'iac' | 'api' | 'full';
30
+ /**
31
+ * Report aggregator options
32
+ */
33
+ export interface ReportAggregatorOptions {
34
+ /** Deduplicate similar findings */
35
+ deduplicate?: boolean;
36
+ /** Similarity threshold for deduplication (0-1) */
37
+ similarityThreshold?: number;
38
+ /** Group by file/rule/severity */
39
+ groupBy?: 'file' | 'rule' | 'severity' | 'category';
40
+ /** Include historical comparison */
41
+ includeHistory?: boolean;
42
+ /** Maximum history entries to keep */
43
+ maxHistoryEntries?: number;
44
+ }
45
+ /**
46
+ * Aggregated report
47
+ */
48
+ export interface AggregatedReport {
49
+ /** Report generation timestamp */
50
+ generatedAt: Date;
51
+ /** Report ID */
52
+ reportId: string;
53
+ /** Summary statistics */
54
+ summary: AggregatedSummary;
55
+ /** All findings (deduplicated if enabled) */
56
+ findings: AggregatedFinding[];
57
+ /** Grouped findings */
58
+ groupedFindings: GroupedFindings;
59
+ /** Scan sources */
60
+ sources: ScanSource[];
61
+ /** Trend data */
62
+ trends: TrendData;
63
+ /** Comparison with previous */
64
+ comparison?: ReportComparison;
65
+ }
66
+ /**
67
+ * Aggregated summary
68
+ */
69
+ export interface AggregatedSummary {
70
+ /** Total scans aggregated */
71
+ totalScans: number;
72
+ /** Total unique findings */
73
+ totalFindings: number;
74
+ /** Findings by severity */
75
+ bySeverity: Record<Severity, number>;
76
+ /** Findings by type */
77
+ byType: Record<ScanType, number>;
78
+ /** Files affected */
79
+ filesAffected: number;
80
+ /** Rules triggered */
81
+ rulesTriggered: number;
82
+ /** Overall security score */
83
+ securityScore: number;
84
+ /** Risk level */
85
+ riskLevel: 'critical' | 'high' | 'medium' | 'low' | 'minimal';
86
+ }
87
+ /**
88
+ * Aggregated finding
89
+ */
90
+ export interface AggregatedFinding {
91
+ /** Finding ID */
92
+ id: string;
93
+ /** Original vulnerability */
94
+ vulnerability: Vulnerability;
95
+ /** Sources where this finding was detected */
96
+ sources: string[];
97
+ /** Occurrence count */
98
+ occurrences: number;
99
+ /** First seen timestamp */
100
+ firstSeen: Date;
101
+ /** Last seen timestamp */
102
+ lastSeen: Date;
103
+ /** Is new (not in previous report) */
104
+ isNew: boolean;
105
+ /** Is fixed (was in previous, not in current) */
106
+ isFixed: boolean;
107
+ /** Fingerprint for deduplication */
108
+ fingerprint: string;
109
+ }
110
+ /**
111
+ * Grouped findings by category
112
+ */
113
+ export interface GroupedFindings {
114
+ /** Findings grouped by file */
115
+ byFile: Map<string, AggregatedFinding[]>;
116
+ /** Findings grouped by rule */
117
+ byRule: Map<string, AggregatedFinding[]>;
118
+ /** Findings grouped by severity */
119
+ bySeverity: Map<Severity, AggregatedFinding[]>;
120
+ /** Findings grouped by OWASP category */
121
+ byCategory: Map<string, AggregatedFinding[]>;
122
+ }
123
+ /**
124
+ * Scan source metadata
125
+ */
126
+ export interface ScanSource {
127
+ /** Source identifier */
128
+ id: string;
129
+ /** Scan type */
130
+ type: ScanType;
131
+ /** Timestamp */
132
+ timestamp: Date;
133
+ /** Target scanned */
134
+ target: string;
135
+ /** Finding count from this source */
136
+ findingCount: number;
137
+ }
138
+ /**
139
+ * Trend data over time
140
+ */
141
+ export interface TrendData {
142
+ /** Data points */
143
+ dataPoints: TrendDataPoint[];
144
+ /** Trend direction */
145
+ direction: 'improving' | 'stable' | 'degrading';
146
+ /** Change percentage */
147
+ changePercent: number;
148
+ /** Projected risk (if trend continues) */
149
+ projectedRisk: string;
150
+ }
151
+ /**
152
+ * Single trend data point
153
+ */
154
+ export interface TrendDataPoint {
155
+ /** Timestamp */
156
+ timestamp: Date;
157
+ /** Total findings */
158
+ totalFindings: number;
159
+ /** Critical findings */
160
+ criticalFindings: number;
161
+ /** Security score */
162
+ securityScore: number;
163
+ }
164
+ /**
165
+ * Comparison with previous report
166
+ */
167
+ export interface ReportComparison {
168
+ /** New findings */
169
+ newFindings: AggregatedFinding[];
170
+ /** Fixed findings */
171
+ fixedFindings: AggregatedFinding[];
172
+ /** Unchanged findings */
173
+ unchangedFindings: AggregatedFinding[];
174
+ /** Finding count change */
175
+ findingDelta: number;
176
+ /** Security score change */
177
+ scoreDelta: number;
178
+ /** Summary text */
179
+ summaryText: string;
180
+ }
181
+ /**
182
+ * Aggregates multiple security scan results
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * const aggregator = createReportAggregator({
187
+ * deduplicate: true,
188
+ * groupBy: 'severity',
189
+ * });
190
+ *
191
+ * aggregator.addScan('vuln-scan', scanResult1, 'vulnerability');
192
+ * aggregator.addScan('secret-scan', scanResult2, 'secret');
193
+ *
194
+ * const report = aggregator.generateReport();
195
+ * ```
196
+ */
197
+ export declare class ReportAggregator {
198
+ private options;
199
+ private scans;
200
+ private history;
201
+ private scanCounter;
202
+ constructor(options?: ReportAggregatorOptions);
203
+ /**
204
+ * Add a scan result to the aggregator
205
+ */
206
+ addScan(source: string, result: ScanResult, type?: ScanType, metadata?: Record<string, unknown>): string;
207
+ /**
208
+ * Remove a scan by ID
209
+ */
210
+ removeScan(id: string): boolean;
211
+ /**
212
+ * Clear all scans
213
+ */
214
+ clear(): void;
215
+ /**
216
+ * Generate aggregated report
217
+ */
218
+ generateReport(): AggregatedReport;
219
+ /**
220
+ * Get scan count
221
+ */
222
+ getScanCount(): number;
223
+ /**
224
+ * Get history
225
+ */
226
+ getHistory(): AggregatedReport[];
227
+ /**
228
+ * Export report as JSON
229
+ */
230
+ exportJSON(report: AggregatedReport): string;
231
+ /**
232
+ * Export report as Markdown
233
+ */
234
+ exportMarkdown(report: AggregatedReport): string;
235
+ private aggregateFindings;
236
+ private deduplicateFindings;
237
+ private groupFindings;
238
+ private generateSummary;
239
+ private generateSources;
240
+ private generateTrends;
241
+ private compareWithPrevious;
242
+ private generateFingerprint;
243
+ private calculateSimilarity;
244
+ private calculateSecurityScore;
245
+ }
246
+ /**
247
+ * Create a report aggregator
248
+ */
249
+ export declare function createReportAggregator(options?: ReportAggregatorOptions): ReportAggregator;
250
+ //# sourceMappingURL=report-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-aggregator.d.ts","sourceRoot":"","sources":["../../src/integrations/report-aggregator.ts"],"names":[],"mappings":"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"}