@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.
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,222 @@
1
+ /**
2
+ * @fileoverview Secure Code Transformer
3
+ * @module @nahisaho/musubix-security/remediation/secure-code-transformer
4
+ *
5
+ * Transforms insecure code patterns into secure alternatives using
6
+ * AST-based transformations and secure coding patterns.
7
+ */
8
+ import type { SourceLocation, Vulnerability } from '../types/index.js';
9
+ /**
10
+ * Code transformation
11
+ */
12
+ export interface CodeTransformation {
13
+ /** Transformation ID */
14
+ id: string;
15
+ /** Transformation name */
16
+ name: string;
17
+ /** Category */
18
+ category: TransformationCategory;
19
+ /** Pattern to match */
20
+ pattern: CodePattern;
21
+ /** Replacement pattern */
22
+ replacement: ReplacementPattern;
23
+ /** Description */
24
+ description: string;
25
+ /** Risk level */
26
+ riskLevel: 'safe' | 'caution' | 'review-required';
27
+ /** Applicable languages */
28
+ languages: string[];
29
+ /** Required imports */
30
+ imports?: ImportSpec[];
31
+ }
32
+ /**
33
+ * Transformation category
34
+ */
35
+ export type TransformationCategory = 'input-validation' | 'output-encoding' | 'authentication' | 'authorization' | 'cryptography' | 'data-protection' | 'error-handling' | 'logging' | 'session-management' | 'general';
36
+ /**
37
+ * Code pattern
38
+ */
39
+ export interface CodePattern {
40
+ /** Pattern type */
41
+ type: 'regex' | 'ast' | 'function-call' | 'api-usage';
42
+ /** Pattern value */
43
+ value: string;
44
+ /** Flags (for regex) */
45
+ flags?: string;
46
+ /** Context requirements */
47
+ context?: PatternContext;
48
+ }
49
+ /**
50
+ * Pattern context
51
+ */
52
+ export interface PatternContext {
53
+ /** Must be inside function */
54
+ insideFunction?: boolean;
55
+ /** Must be inside class */
56
+ insideClass?: boolean;
57
+ /** Must have specific imports */
58
+ hasImports?: string[];
59
+ /** File extension */
60
+ fileExtension?: string[];
61
+ }
62
+ /**
63
+ * Replacement pattern
64
+ */
65
+ export interface ReplacementPattern {
66
+ /** Replacement type */
67
+ type: 'template' | 'function' | 'snippet';
68
+ /** Template/snippet value */
69
+ value: string;
70
+ /** Capture group mappings */
71
+ captures?: Record<string, string>;
72
+ /** Wrap existing code */
73
+ wrapExisting?: boolean;
74
+ }
75
+ /**
76
+ * Import specification
77
+ */
78
+ export interface ImportSpec {
79
+ /** Module name */
80
+ module: string;
81
+ /** Named imports */
82
+ named?: string[];
83
+ /** Default import */
84
+ default?: string;
85
+ /** Is type import */
86
+ typeOnly?: boolean;
87
+ }
88
+ /**
89
+ * Transformation result
90
+ */
91
+ export interface TransformationResult {
92
+ /** Whether transformation succeeded */
93
+ success: boolean;
94
+ /** Original code */
95
+ originalCode: string;
96
+ /** Transformed code */
97
+ transformedCode: string;
98
+ /** Applied transformations */
99
+ transformationsApplied: AppliedTransformation[];
100
+ /** Warnings */
101
+ warnings: string[];
102
+ /** Errors */
103
+ errors: string[];
104
+ /** Required imports */
105
+ requiredImports: ImportSpec[];
106
+ }
107
+ /**
108
+ * Applied transformation
109
+ */
110
+ export interface AppliedTransformation {
111
+ /** Transformation ID */
112
+ transformationId: string;
113
+ /** Location in code */
114
+ location: SourceLocation;
115
+ /** Original code snippet */
116
+ original: string;
117
+ /** Replacement code */
118
+ replacement: string;
119
+ }
120
+ /**
121
+ * Transformer options
122
+ */
123
+ export interface SecureCodeTransformerOptions {
124
+ /** Custom transformations */
125
+ customTransformations?: CodeTransformation[];
126
+ /** Enable specific categories */
127
+ enabledCategories?: TransformationCategory[];
128
+ /** Target language */
129
+ language?: string;
130
+ /** Preserve formatting */
131
+ preserveFormatting?: boolean;
132
+ /** Dry run (preview only) */
133
+ dryRun?: boolean;
134
+ }
135
+ /**
136
+ * Transform options
137
+ */
138
+ export interface TransformOptions {
139
+ /** Only apply specific transformations */
140
+ onlyTransformations?: string[];
141
+ /** Exclude transformations */
142
+ excludeTransformations?: string[];
143
+ /** Target specific vulnerabilities */
144
+ targetVulnerabilities?: Vulnerability[];
145
+ /** Max transformations */
146
+ maxTransformations?: number;
147
+ }
148
+ /**
149
+ * Transforms insecure code patterns to secure alternatives
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * const transformer = createSecureCodeTransformer();
154
+ * const result = transformer.transform(code, { targetVulnerabilities: [...] });
155
+ * console.log(result.transformedCode);
156
+ * ```
157
+ */
158
+ export declare class SecureCodeTransformer {
159
+ private transformations;
160
+ private options;
161
+ constructor(options?: SecureCodeTransformerOptions);
162
+ /**
163
+ * Transform code using security patterns
164
+ */
165
+ transform(code: string, options?: TransformOptions): TransformationResult;
166
+ /**
167
+ * Transform code for specific vulnerability
168
+ */
169
+ transformForVulnerability(code: string, vulnerability: Vulnerability): TransformationResult;
170
+ /**
171
+ * Get available transformations
172
+ */
173
+ getAvailableTransformations(): CodeTransformation[];
174
+ /**
175
+ * Get transformations by category
176
+ */
177
+ getTransformationsByCategory(category: TransformationCategory): CodeTransformation[];
178
+ /**
179
+ * Add custom transformation
180
+ */
181
+ addTransformation(transformation: CodeTransformation): void;
182
+ /**
183
+ * Remove transformation
184
+ */
185
+ removeTransformation(id: string): boolean;
186
+ /**
187
+ * Preview transformation without applying
188
+ */
189
+ preview(code: string, transformationId: string): {
190
+ matches: Array<{
191
+ location: SourceLocation;
192
+ original: string;
193
+ preview: string;
194
+ }>;
195
+ wouldApply: boolean;
196
+ };
197
+ /**
198
+ * Validate code after transformation
199
+ */
200
+ validateTransformation(_originalCode: string, transformedCode: string): {
201
+ valid: boolean;
202
+ issues: string[];
203
+ };
204
+ private getApplicableTransformations;
205
+ private applyTransformation;
206
+ private generateReplacement;
207
+ private addImports;
208
+ private mapVulnerabilityToCategory;
209
+ }
210
+ /**
211
+ * Create a secure code transformer
212
+ */
213
+ export declare function createSecureCodeTransformer(options?: SecureCodeTransformerOptions): SecureCodeTransformer;
214
+ /**
215
+ * Quick transform code
216
+ */
217
+ export declare function quickTransform(code: string): TransformationResult;
218
+ /**
219
+ * Get all built-in transformations
220
+ */
221
+ export declare function getBuiltInTransformations(): CodeTransformation[];
222
+ //# sourceMappingURL=secure-code-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-code-transformer.d.ts","sourceRoot":"","sources":["../../src/remediation/secure-code-transformer.ts"],"names":[],"mappings":"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"}