@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,179 @@
1
+ /**
2
+ * @fileoverview Auto-Fixer for Security Vulnerabilities
3
+ * @module @nahisaho/musubix-security/remediation/auto-fixer
4
+ *
5
+ * Provides automated fix generation and application for detected vulnerabilities.
6
+ */
7
+ import type { Vulnerability, Fix, FixStrategy } from '../types/index.js';
8
+ /**
9
+ * Fix template for a vulnerability type
10
+ */
11
+ export interface FixTemplate {
12
+ /** Template ID */
13
+ id: string;
14
+ /** Vulnerability types this template applies to */
15
+ vulnerabilityTypes: string[];
16
+ /** Rule patterns to match */
17
+ rulePatterns: string[];
18
+ /** Fix strategy */
19
+ strategy: FixStrategy;
20
+ /** Template code transformations */
21
+ transformations: CodeTransformation[];
22
+ /** Required imports */
23
+ imports: ImportSpec[];
24
+ /** Confidence score for this template */
25
+ confidence: number;
26
+ /** Whether fix might break functionality */
27
+ breakingChange: boolean;
28
+ /** Description */
29
+ description: string;
30
+ }
31
+ /**
32
+ * Code transformation specification
33
+ */
34
+ export interface CodeTransformation {
35
+ /** Transformation type */
36
+ type: 'replace' | 'wrap' | 'insert_before' | 'insert_after' | 'delete';
37
+ /** Pattern to match (regex) */
38
+ pattern?: string;
39
+ /** Replacement template (can use $1, $2 etc for captured groups) */
40
+ replacement?: string;
41
+ /** Wrapper template (for wrap type) */
42
+ wrapper?: {
43
+ before: string;
44
+ after: string;
45
+ };
46
+ /** Content to insert */
47
+ content?: string;
48
+ }
49
+ /**
50
+ * Import specification
51
+ */
52
+ export interface ImportSpec {
53
+ /** Module name */
54
+ module: string;
55
+ /** Named imports */
56
+ namedImports?: string[];
57
+ /** Default import name */
58
+ defaultImport?: string;
59
+ /** Is type import */
60
+ isTypeOnly?: boolean;
61
+ }
62
+ /**
63
+ * Fix application result
64
+ */
65
+ export interface FixApplicationResult {
66
+ /** Whether fix was applied */
67
+ applied: boolean;
68
+ /** Fix that was applied */
69
+ fix: Fix;
70
+ /** Files modified */
71
+ modifiedFiles: string[];
72
+ /** Backup created */
73
+ backupPath?: string;
74
+ /** Error if failed */
75
+ error?: string;
76
+ /** Warnings */
77
+ warnings: string[];
78
+ }
79
+ /**
80
+ * Fix generation options
81
+ */
82
+ export interface FixGenerationOptions {
83
+ /** Maximum fixes to generate per vulnerability */
84
+ maxFixes?: number;
85
+ /** Minimum confidence threshold */
86
+ minConfidence?: number;
87
+ /** Include breaking changes */
88
+ includeBreakingChanges?: boolean;
89
+ /** Preferred strategies */
90
+ preferredStrategies?: FixStrategy[];
91
+ /** Custom templates */
92
+ customTemplates?: FixTemplate[];
93
+ }
94
+ /**
95
+ * Auto-fixer options
96
+ */
97
+ export interface AutoFixerOptions {
98
+ /** Create backups before applying fixes */
99
+ createBackups?: boolean;
100
+ /** Backup directory */
101
+ backupDir?: string;
102
+ /** Dry run mode (don't actually modify files) */
103
+ dryRun?: boolean;
104
+ /** Validate fixes after applying */
105
+ validateAfterApply?: boolean;
106
+ /** Custom fix templates */
107
+ templates?: FixTemplate[];
108
+ }
109
+ /**
110
+ * AutoFixer for generating and applying security fixes
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const fixer = createAutoFixer({ dryRun: true });
115
+ * const fixes = fixer.generateFixes(vulnerability);
116
+ * const result = await fixer.applyFix(fixes[0], fileContent);
117
+ * ```
118
+ */
119
+ export declare class AutoFixer {
120
+ private templates;
121
+ private options;
122
+ constructor(options?: AutoFixerOptions);
123
+ /**
124
+ * Generate fixes for a vulnerability
125
+ */
126
+ generateFixes(vulnerability: Vulnerability, options?: FixGenerationOptions): Fix[];
127
+ /**
128
+ * Generate fix for multiple vulnerabilities
129
+ */
130
+ generateBatchFixes(vulnerabilities: Vulnerability[], options?: FixGenerationOptions): Map<string, Fix[]>;
131
+ /**
132
+ * Apply a fix to file content
133
+ */
134
+ applyFix(fix: Fix, fileContent: string): FixApplicationResult;
135
+ /**
136
+ * Get available fix strategies for a vulnerability type
137
+ */
138
+ getAvailableStrategies(vulnerabilityType: string): FixStrategy[];
139
+ /**
140
+ * Get fix template by ID
141
+ */
142
+ getTemplate(templateId: string): FixTemplate | undefined;
143
+ /**
144
+ * Register custom fix template
145
+ */
146
+ registerTemplate(template: FixTemplate): void;
147
+ /**
148
+ * Validate a fix before applying
149
+ */
150
+ validateFix(fix: Fix): {
151
+ valid: boolean;
152
+ errors: string[];
153
+ };
154
+ /**
155
+ * Preview fix without applying
156
+ */
157
+ previewFix(fix: Fix, fileContent: string): string;
158
+ private findMatchingTemplates;
159
+ private sortTemplates;
160
+ private generateFixFromTemplate;
161
+ private createEditFromTransformation;
162
+ private applyReplacement;
163
+ private applyEdit;
164
+ private addImports;
165
+ private getModifiedContent;
166
+ }
167
+ /**
168
+ * Create an auto-fixer instance
169
+ */
170
+ export declare function createAutoFixer(options?: AutoFixerOptions): AutoFixer;
171
+ /**
172
+ * Get all built-in fix templates
173
+ */
174
+ export declare function getBuiltInTemplates(): FixTemplate[];
175
+ /**
176
+ * Create a custom fix template
177
+ */
178
+ export declare function createFixTemplate(config: Omit<FixTemplate, 'id'>): FixTemplate;
179
+ //# sourceMappingURL=auto-fixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-fixer.d.ts","sourceRoot":"","sources":["../../src/remediation/auto-fixer.ts"],"names":[],"mappings":"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"}