@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
package/dist/index.js CHANGED
@@ -46,6 +46,44 @@ export { VulnerabilityScanner, TaintAnalyzer, SecretDetector, DependencyAuditor,
46
46
  // ============================================================================
47
47
  export { ASTParser, FileScanner, loadConfig, loadConfigSync, MemoryCache, FileCache, NoopCache, cacheKey, contentHash, } from './infrastructure/index.js';
48
48
  // ============================================================================
49
+ // Core (v2.0)
50
+ // ============================================================================
51
+ export {
52
+ // Pipeline Manager
53
+ PipelineManager, createPipelineManager, createStandardPipeline,
54
+ // Result Aggregator
55
+ ResultAggregator, createResultAggregator, mergeSimilarByLocation, } from './core/index.js';
56
+ // ============================================================================
57
+ // Phase 2 Analyzers (v2.0)
58
+ // ============================================================================
59
+ // Container Security
60
+ export { ImageScanner, createImageScanner, } from './analyzers/container/image-scanner.js';
61
+ // Infrastructure as Code Security
62
+ export { IaCChecker, createIaCChecker, } from './analyzers/iac/iac-checker.js';
63
+ // AI Security
64
+ export { PromptInjectionDetector, createPromptInjectionDetector, } from './analyzers/ai/prompt-injection-detector.js';
65
+ // SAST - Zero Day Detection
66
+ export { ZeroDayDetector, createZeroDayDetector, } from './analyzers/sast/zero-day-detector.js';
67
+ // SAST - Interprocedural Analysis
68
+ export { InterproceduralAnalyzer, createInterproceduralAnalyzer, } from './analyzers/sast/interprocedural-analyzer.js';
69
+ // ============================================================================
70
+ // Phase 3 Analyzers (v2.0)
71
+ // ============================================================================
72
+ // Compliance Checker
73
+ export { ComplianceChecker, createComplianceChecker, } from './analyzers/compliance/compliance-checker.js';
74
+ // Dependency Scanner (SCA)
75
+ export { DependencyScanner, createDependencyScanner, } from './analyzers/sca/dependency-scanner.js';
76
+ // API Security Analyzer
77
+ export { APISecurityAnalyzer, createAPISecurityAnalyzer, } from './analyzers/api/api-security-analyzer.js';
78
+ // Realtime Monitor
79
+ export { RealtimeMonitor, createRealtimeMonitor, createSecurityMonitor, } from './analyzers/monitor/realtime-monitor.js';
80
+ // Security Dashboard
81
+ export { SecurityDashboard, createSecurityDashboard, } from './analyzers/dashboard/security-dashboard.js';
82
+ // ============================================================================
83
+ // Intelligence (v2.0 - Neuro-Symbolic)
84
+ // ============================================================================
85
+ export { NeuroSymbolicCore, createNeuroSymbolicCore, StubLLMAnalyzer, StubKnowledgeQuery, } from './intelligence/index.js';
86
+ // ============================================================================
49
87
  // Services
50
88
  // ============================================================================
51
89
  export {
@@ -63,4 +101,34 @@ export { createSecurityCLI, runCLI } from './cli/index.js';
63
101
  // MCP
64
102
  // ============================================================================
65
103
  export { SecurityMCPServer, startMCPServer, runMCPServer, SecurityToolHandler, createToolHandler, getToolSchemas, SECURITY_TOOLS, } from './mcp/index.js';
104
+ // ============================================================================
105
+ // Phase 4: Integrations (v2.0)
106
+ // ============================================================================
107
+ export {
108
+ // CI/CD Integration
109
+ CIIntegration, createCIIntegration, isCI, detectCIPlatform,
110
+ // Report Aggregator
111
+ ReportAggregator, createReportAggregator,
112
+ // Git Hooks
113
+ GitHooksManager, createGitHooks, installPreCommitHook, installRecommendedHooks,
114
+ // VS Code Integration
115
+ VSCodeIntegration, createVSCodeIntegration, DiagnosticSeverity, } from './integrations/index.js';
116
+ // ============================================================================
117
+ // Phase 4: Policy Engine (v2.0)
118
+ // ============================================================================
119
+ export { PolicyEngine, createPolicyEngine, getBuiltInPolicy, } from './policy/index.js';
120
+ // ============================================================================
121
+ // Phase 5: Remediation (v2.0)
122
+ // ============================================================================
123
+ export {
124
+ // Auto-Fixer
125
+ AutoFixer, createAutoFixer, getBuiltInTemplates, createFixTemplate,
126
+ // Fix Validator
127
+ FixValidator, createFixValidator, quickValidate,
128
+ // Patch Generator
129
+ PatchGenerator, createPatchGenerator, generateQuickPatch,
130
+ // Remediation Planner
131
+ RemediationPlanner, createRemediationPlanner, quickCreatePlan,
132
+ // Secure Code Transformer
133
+ SecureCodeTransformer, createSecureCodeTransformer, quickTransform, getBuiltInTransformations, } from './remediation/index.js';
66
134
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,OAAO,EAeL,kBAAkB,EAgBlB,uBAAuB,EAevB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,GAEZ,MAAM,2BAA2B,CAAC;AAEnC,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO;AACL,eAAe;AACf,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,eAAe;AAIf,eAAe;AACf,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,iBAAiB;AAGjB,kBAAkB;AAClB,eAAe,EACf,qBAAqB,GAItB,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,MAAM;AACN,+EAA+E;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE3D,+EAA+E;AAC/E,MAAM;AACN,+EAA+E;AAE/E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,GAGf,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * @fileoverview CI/CD Integration for Security Scanning
3
+ * @module @nahisaho/musubix-security/integrations/ci-integration
4
+ *
5
+ * Provides integration with GitHub Actions, GitLab CI, and other CI/CD platforms
6
+ * for automated security scanning in pipelines.
7
+ */
8
+ import type { ScanResult, Severity } from '../types/index.js';
9
+ /**
10
+ * Supported CI/CD platforms
11
+ */
12
+ export type CIPlatform = 'github-actions' | 'gitlab-ci' | 'azure-pipelines' | 'jenkins' | 'circleci' | 'generic';
13
+ /**
14
+ * CI environment detection result
15
+ */
16
+ export interface CIEnvironment {
17
+ /** Detected CI platform */
18
+ platform: CIPlatform;
19
+ /** Whether running in CI environment */
20
+ isCI: boolean;
21
+ /** CI-specific metadata */
22
+ metadata: CIMetadata;
23
+ }
24
+ /**
25
+ * CI-specific metadata
26
+ */
27
+ export interface CIMetadata {
28
+ /** Repository name */
29
+ repository?: string;
30
+ /** Branch name */
31
+ branch?: string;
32
+ /** Commit SHA */
33
+ commitSha?: string;
34
+ /** Pull request number */
35
+ pullRequest?: string;
36
+ /** Build number/ID */
37
+ buildId?: string;
38
+ /** Actor/user who triggered the build */
39
+ actor?: string;
40
+ /** Event type that triggered the build */
41
+ event?: string;
42
+ /** Workflow/job name */
43
+ workflow?: string;
44
+ /** Runner OS */
45
+ runnerOS?: string;
46
+ }
47
+ /**
48
+ * CI integration options
49
+ */
50
+ export interface CIIntegrationOptions {
51
+ /** Fail on specific severity levels */
52
+ failOn?: Severity[];
53
+ /** Output format for CI */
54
+ outputFormat?: 'json' | 'sarif' | 'checkrun' | 'annotations';
55
+ /** Enable GitHub annotations */
56
+ annotations?: boolean;
57
+ /** Create/update PR comment */
58
+ prComment?: boolean;
59
+ /** Upload to code scanning */
60
+ uploadToCodeScanning?: boolean;
61
+ /** Custom threshold for failure */
62
+ thresholds?: CIThresholds;
63
+ /** Enable caching */
64
+ enableCache?: boolean;
65
+ /** Cache key prefix */
66
+ cacheKeyPrefix?: string;
67
+ }
68
+ /**
69
+ * CI failure thresholds
70
+ */
71
+ export interface CIThresholds {
72
+ /** Maximum critical vulnerabilities */
73
+ maxCritical?: number;
74
+ /** Maximum high vulnerabilities */
75
+ maxHigh?: number;
76
+ /** Maximum medium vulnerabilities */
77
+ maxMedium?: number;
78
+ /** Maximum total vulnerabilities */
79
+ maxTotal?: number;
80
+ /** Minimum security score (0-100) */
81
+ minSecurityScore?: number;
82
+ }
83
+ /**
84
+ * GitHub annotation for PR checks
85
+ */
86
+ export interface GitHubAnnotation {
87
+ /** Annotation level */
88
+ level: 'notice' | 'warning' | 'error';
89
+ /** File path */
90
+ file: string;
91
+ /** Start line */
92
+ startLine: number;
93
+ /** End line */
94
+ endLine: number;
95
+ /** Annotation title */
96
+ title: string;
97
+ /** Annotation message */
98
+ message: string;
99
+ }
100
+ /**
101
+ * CI scan result with platform-specific formatting
102
+ */
103
+ export interface CIScanResult {
104
+ /** Original scan result */
105
+ scanResult: ScanResult;
106
+ /** CI environment */
107
+ environment: CIEnvironment;
108
+ /** Whether to fail the build */
109
+ shouldFail: boolean;
110
+ /** Failure reasons */
111
+ failureReasons: string[];
112
+ /** GitHub annotations */
113
+ annotations: GitHubAnnotation[];
114
+ /** Formatted output for CI logs */
115
+ formattedOutput: string;
116
+ /** Exit code for CI */
117
+ exitCode: number;
118
+ /** Summary for PR comment */
119
+ summary: CISummary;
120
+ }
121
+ /**
122
+ * Summary for CI/PR display
123
+ */
124
+ export interface CISummary {
125
+ /** Total vulnerabilities */
126
+ total: number;
127
+ /** Breakdown by severity */
128
+ bySeverity: Record<Severity, number>;
129
+ /** Security score */
130
+ securityScore: number;
131
+ /** Pass/fail status */
132
+ passed: boolean;
133
+ /** Human-readable status */
134
+ statusEmoji: string;
135
+ /** Short description */
136
+ shortDescription: string;
137
+ }
138
+ /**
139
+ * CI/CD Integration for automated security scanning
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const ci = createCIIntegration({
144
+ * failOn: ['critical', 'high'],
145
+ * annotations: true,
146
+ * prComment: true,
147
+ * });
148
+ *
149
+ * const env = ci.detectEnvironment();
150
+ * const result = ci.processScanResult(scanResult);
151
+ *
152
+ * if (result.shouldFail) {
153
+ * process.exit(result.exitCode);
154
+ * }
155
+ * ```
156
+ */
157
+ export declare class CIIntegration {
158
+ private options;
159
+ constructor(options?: CIIntegrationOptions);
160
+ /**
161
+ * Detect CI environment
162
+ */
163
+ detectEnvironment(): CIEnvironment;
164
+ /**
165
+ * Process scan result for CI output
166
+ */
167
+ processScanResult(scanResult: ScanResult): CIScanResult;
168
+ /**
169
+ * Generate GitHub-style annotations
170
+ */
171
+ generateAnnotations(scanResult: ScanResult): GitHubAnnotation[];
172
+ /**
173
+ * Generate summary for display
174
+ */
175
+ generateSummary(scanResult: ScanResult): CISummary;
176
+ /**
177
+ * Check if build should fail based on thresholds
178
+ */
179
+ checkThresholds(scanResult: ScanResult, summary: CISummary): {
180
+ shouldFail: boolean;
181
+ failureReasons: string[];
182
+ };
183
+ /**
184
+ * Format output for CI logs
185
+ */
186
+ formatOutput(scanResult: ScanResult, environment: CIEnvironment, summary: CISummary): string;
187
+ /**
188
+ * Generate workflow file content
189
+ */
190
+ generateWorkflowFile(platform: CIPlatform): string;
191
+ /**
192
+ * Generate GitHub Actions workflow
193
+ */
194
+ private generateGitHubActionsWorkflow;
195
+ /**
196
+ * Generate GitLab CI config
197
+ */
198
+ private generateGitLabCIConfig;
199
+ /**
200
+ * Generate Azure Pipelines config
201
+ */
202
+ private generateAzurePipelinesConfig;
203
+ /**
204
+ * Generate generic shell script
205
+ */
206
+ private generateGenericScript;
207
+ /**
208
+ * Generate cache key for CI
209
+ */
210
+ generateCacheKey(files: string[]): string;
211
+ private severityToAnnotationLevel;
212
+ private shouldFailOnSeverity;
213
+ private shouldFailOnThresholds;
214
+ }
215
+ /**
216
+ * Create a CI integration instance
217
+ */
218
+ export declare function createCIIntegration(options?: CIIntegrationOptions): CIIntegration;
219
+ /**
220
+ * Quick check if running in CI environment
221
+ */
222
+ export declare function isCI(): boolean;
223
+ /**
224
+ * Detect CI platform
225
+ */
226
+ export declare function detectCIPlatform(): CIPlatform;
227
+ //# sourceMappingURL=ci-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-integration.d.ts","sourceRoot":"","sources":["../../src/integrations/ci-integration.ts"],"names":[],"mappings":"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"}